logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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.

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.

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

       addtime-in-secondsmidi-message-as-hex
              Add new event to the currently selected track.

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

Name

       smfsh - SMF shell

Options

-V     Print libsmf version and exit.

       file   Load the file.

Other Commands

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

smfsh 1.3                                         21 March 2010                                         SMFSH(1)

Smf Level Commands

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

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

              Note that this will not ask for confirmation.

       loadfile
              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.

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

       formatnew-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.

Synopsis

smfsh [ -V ] [ file ]

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.

       tracktrack-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.

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

See Also