Provided by: smf-utils_1.3-2ubuntu1_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.