Provided by: smf-utils_1.3-2ubuntu4_amd64 bug

NAME

       smfsh - SMF shell

SYNOPSIS

       smfsh [ -V ] [ file ]

OPTIONS

       -V     Print libsmf version and exit.

       file   Load the file.

DESCRIPTION

       smfsh,  an  "SMF  shell", is an interactive, command-driven frontend to libsmf, useful for modifying MIDI
       files by hand.  It started its life as a debugging aid for libsmf.

       There are four groups of commands: SMF level, track level, event level, and others.

SMF LEVEL COMMANDS

       SMF level commands display or change properties of smf (i.e. the MIDI file) as a whole.

       save file
              Save a file.  If the file name is not given, the last file name is used.

              Note that this will not ask for confirmation.

       load file
              Load a file.  If the file name is not given, the last file name is used.

              Instead of using "load", you can pass the file name on the command line.

       ppqn new-ppqn
              Show (if used without parameter) or change PPQN (Pulses Per Quarter Note, aka Division).

       format new-format
              Show (if used without parameter) or change format.

       tempo  Show tempo map.  Tempo map is computed automatically from the SMF contents - to  modify  a  tempo,
              just add a Tempo Change event using "add" command.

       length Show  total  length  of  the  song.  Just like the tempo map, file length is computed from the SMF
              contents.

TRACK LEVEL COMMANDS

       Track level commands display or change properties of tracks.  SMF may contain one or more tracks.

       tracks Show the list of tracks in the SMF.

       track track-number
              Show details of a track (if called without parameter), or select track with a given number  -  for
              example in order to display ("events") the events it contains.

       trackadd
              Create new track.

       trackrm track-number
              Remove  the  track.   If  the  track  number  is  not  given, this will remove the track currently
              selected.

EVENT LEVEL COMMANDS

       Event level commands display or change properties of events.  Events are grouped into tracks.  Track  may
       contain any number of events, including zero.

       events Show the list of events in the current track.

       event event-number
              Show information about a current event (if used without parameter) or select the event.

       add time-in-seconds midi-message-as-hex
              Add new event to the currently selected track.

       rm event-number
              Remove  the  event.   If  the  event  number  is  not  given, this will remove the event currently
              selected.

OTHER COMMANDS

       There are three commands in the "other" category - "help", "version", and "exit".  Their  meaning  should
       be self expanatory.