home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_disks / 200-299 / ff227.lzh / MidiLib / docs / utils.doc < prev   
Text File  |  1989-06-25  |  8KB  |  228 lines

  1. MIDI UTILITIES
  2. ==============
  3.  
  4. The MIDI Utilities and MIDI Library are Copyright (C) 1987, 1988,
  5. Pregnant Badger Music.    All rights reserved.  These files may be freely
  6. distributed but not for profit, although they may be included with
  7. commercial products that make use of the MIDI Library.
  8.  
  9. dmf - Display MIDI File.
  10.  
  11.     dmf <File> [Check]
  12.  
  13.     This will print a simple list of the tempo map and event list for a
  14.     MIDI File.    The emphasis here is "simple".  Rather than actually
  15.     displaying the MIDI File contents, the entire MIDI File is read into
  16.     an internal sequence format (as used by playmf).  As such, all
  17.     meta-events except Tempo Change and End Track are ignored.    Also, it
  18.     displayes MIDI events is in Hex rather than trying to interpret
  19.     them.
  20.  
  21.     Further, the same restrictions about file format and timing type as
  22.     imposed by playmf are imposed here.  Specifically, only Format 0
  23.     files (single track) and Metrical Timing (as opposed to SMPTE/MTC)
  24.     are supported.
  25.  
  26.     This was essentially test code rather than a real utility, but
  27.     perhaps someone will find it useful.  Maybe I'll get around to
  28.     writing a proper MIDI File display, but this is all I need for now.
  29.  
  30.     ex:
  31.     dmf            - displays banner and argument list
  32.     dmf dumbo        - displays the contents of a MIDI file
  33.                   named dumbo
  34.     dmf dumbo check     - simply checks the contents of the MIDI
  35.                   file named dumbo without printing it's
  36.                   contents.  In this case an "ok" message
  37.                   will be printed if the file is read
  38.                   successfully.
  39.  
  40.  
  41. ht - Hex Transmit.
  42.  
  43.     ht [-t<dest name>] <hex byte>...
  44.  
  45.     Transmits MIDI messages enter on its command line in hex.  You'll
  46.     need to know the hexadecimal values of MIDI status bytes, note
  47.     numbers, etc, to use this command properly.
  48.  
  49.     ex:
  50.     ht            - displays argument list
  51.     ht 90 40 40 47 40   - turns on 2 notes on channel 1
  52.     ht 90 40 0 47 0     - turns those same notes back off again
  53.  
  54.  
  55. mm - Midi Monitor.
  56.  
  57.     mm [?] [-crsx] [-h] [+ix] [-t<source>] [-p[name]]
  58.  
  59.     Displays incoming MIDI messages to the console in one of various
  60.     ways.  Use Control C to exit.  Control D will terminate listing the
  61.     current sys/ex message (if +x is selected) without exiting the
  62.     program.
  63.  
  64.     ex:
  65.     mm ?        - displays list of options
  66.     mm +i -r    - interprets data as it receives it and filters out
  67.               real-time msgs (like Active Sensing)
  68.  
  69.  
  70. playmf - Play a MIDI File
  71.  
  72.     playmf <file> [Source <source>] [Dest <dest>]
  73.               [Clock] [Ext] [Start]
  74.  
  75.     This is a simple MIDI File sequence player.  There are options for
  76.     internal or external sync, whether or not to send clocks (with
  77.     start, stop, continue and position messages going along for the
  78.     ride), auto-start, and routing.
  79.  
  80.     The sequencer routes to some Source (default is MidiIn) to listen
  81.     for control messages and routes to some Dest (default is MidiOut) to
  82.     which it sends events from the sequence.  The control messages that
  83.     it listens for are start, stop, continue, song position, and clock
  84.     when in ext sync mode.
  85.  
  86.     The internal sync mode (default) uses a spare CIA timer channel
  87.     (hardware) to generate accurate timing.  This is apparently used by
  88.     KCS, Music-X and others for the same function.  Since only one task
  89.     can own this timer at a time, usage of this mode will exclude any
  90.     other application that needs it from being able to use it. Likewise,
  91.     any other application that might be using the CIA timer channel will
  92.     prevent playmf from being able to use it.  Fortunately, playmf will
  93.     only attempt to use the CIA in internal sync mode.
  94.  
  95.     Normally the sequencer will not start playing until it receives a
  96.     MIDI Start message at its control port (default is MidiIn).  The
  97.     Start option will cause the sequence to start playing as soon as the
  98.     sequence is loaded rather than waiting for a start.
  99.  
  100.     The sequencer does not unload after the sequence has stopped.  It
  101.     will continue to wait for activity on it's control port so that the
  102.     sequence can be continued, repositioned, restarted, whatever.
  103.  
  104.     Use Control+C to exit playmf.
  105.  
  106.     As with dmf this is essentially test code turned into a simple
  107.     utility, so there are a few restrictions:  only Format 0 files (one
  108.     track) and metrical timing (as opposed to SMPTE/MTC) are supported.
  109.  
  110.     Additionally, perhaps someone will make a midi.library compatible
  111.     sound sample player module so that MIDI Files can be played using
  112.     Amiga voices.
  113.  
  114.     ex:
  115.     playmf            - displays usage
  116.     playmf dumbo        - loads dumbo and waits to play it (when
  117.                   a start is received at MidiIn)
  118.     playmf dumbo start  - loads dumbo and starts it playing the
  119.                   moment it has been loaded
  120.  
  121.  
  122. r - Sample Router.
  123.  
  124.     r
  125.  
  126.     This is a simple routing utility.  It is considered an example
  127.     rather than a finished product.  Its source is included in the
  128.     examples directory.  Use at your own risk.
  129.  
  130.  
  131. rsx - Receive System Exclusive.
  132.  
  133.     rsx [-c<n>] [-m<id>] [-t<source>] <file>...
  134.  
  135.     Receives the next SysEx message and saves it to a named file.  You
  136.     now can grab several messages for one file using the -c option
  137.     (useful for things like a DX7 w/ an E! card that send more than one
  138.     sys/ex msg in a single dump).  You can now request receiving only
  139.     system exclusive messages with a single manufacture ID (either 1
  140.     byte or 3 byte ID).  This program will wait until it gets the
  141.     specified number of sys/ex messages.  Use Control C to abort.
  142.  
  143.     ex:
  144.     rsx            - displays list of options
  145.  
  146.     rsx bank1 bank2     - receives the first sys/ex msg and
  147.                   writes it to "bank1", the second to
  148.                   "bank2".
  149.  
  150.     rsx -c2 bank3        - receives the next 2 sys/ex msgs and
  151.                   writes them to "bank3"
  152.  
  153.     rsx -m43 bank4        - specifies manufacturer ID = $43
  154.                   (Yamaha(tm))
  155.  
  156.     rsx -m00-0008 bank5    - specifies manufacturer ID = $00 0008
  157.                   (Iota(tm))
  158.  
  159.  
  160. stat - System Status.
  161.  
  162.     stat [cdflmprst]
  163.  
  164.     Is a general system status utility.  It includes a report about the
  165.     MIDI library's status.  Type "stat ?" followed by another "?" at the
  166.     "OPTS:" prompt for usage.  Be careful about using this program
  167.     during heavy MIDI serial I/O traffic.  stat temporarily disables
  168.     interrupts and can cause serial.device (used by MidiIn & MidiOut) to
  169.     lose bytes.
  170.  
  171.     ex:
  172.     stat        - displays CLI's (equivalent to stat c)
  173.     stat m        - lists MIDI public nodes
  174.     stat ld     - lists libraries and devices
  175.     stat t        - lists tasks (useful to prove that your Amiga
  176.               really multi-tasks)
  177.  
  178.  
  179. tsx - Transmit System Exclusive.
  180.  
  181.     tsx [-t<dest>] <file>...
  182.  
  183.     Sends a named file.  The file does not need to actually contain
  184.     system exclusive messages: any MIDI message stream will do.  The
  185.     program was originally written as the compliment of rsx.
  186.  
  187.     This program can also be launched from Workbench.  If you attach a
  188.     project icon to any file you wish to transfer and set the icon's
  189.     default tool to tsx (wherever it happens to reside:  like c:tsx),
  190.     you can send that file simply by double-clicking on the icon.
  191.  
  192.     ex:
  193.     tsx            - displays list of options
  194.     tsx bank1 bank2     - sends the contents of "bank1" followed by
  195.                   "bank2"
  196.  
  197.  
  198. ychk - Yamaha Bulk Dump File Checker.
  199.  
  200.     ychk <file>...
  201.  
  202.     Checks the contents of files for valid Yamaha Bulk Dump messages.
  203.     For Yamaha equipment owners this is really handy for checking files
  204.     received by rsx.
  205.  
  206.     Arp wild cards are used for the file arguments.  As an additional
  207.     feature, files suffixed by ".info" will not be checked since they
  208.     probably don't contain anything meaningful to Yamaha equipment.
  209.  
  210.     Limitations: As it stands, only the first message in a file is
  211.     checked and it must be a Yamaha bulk dump message.    Additionally,
  212.     the bulk dump being checked must not contain any real-time messages
  213.     (RX21L files might contain these).  If you received the file using
  214.     the MIDI Library (e.g. using rsx) this won't be a problem since the
  215.     Library won't ever send you a message containing embedded real-time
  216.     msgs.
  217.  
  218.     ex:
  219.     ychk            - displays usage
  220.     ychk bank1 bank2    - checks "bank1" and then "bank2"
  221.     ychk bank*        - checks all files that match the pattern
  222.                   "bank*".
  223.  
  224.  
  225.     **** Note: because of an Arp bug, Arp wild cards are not supported.
  226.     However, the "*" and "?" characters are supported.
  227.  
  228.