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
Wrap
Text File
|
1989-06-25
|
8KB
|
228 lines
MIDI UTILITIES
==============
The MIDI Utilities and MIDI Library are Copyright (C) 1987, 1988,
Pregnant Badger Music. All rights reserved. These files may be freely
distributed but not for profit, although they may be included with
commercial products that make use of the MIDI Library.
dmf - Display MIDI File.
dmf <File> [Check]
This will print a simple list of the tempo map and event list for a
MIDI File. The emphasis here is "simple". Rather than actually
displaying the MIDI File contents, the entire MIDI File is read into
an internal sequence format (as used by playmf). As such, all
meta-events except Tempo Change and End Track are ignored. Also, it
displayes MIDI events is in Hex rather than trying to interpret
them.
Further, the same restrictions about file format and timing type as
imposed by playmf are imposed here. Specifically, only Format 0
files (single track) and Metrical Timing (as opposed to SMPTE/MTC)
are supported.
This was essentially test code rather than a real utility, but
perhaps someone will find it useful. Maybe I'll get around to
writing a proper MIDI File display, but this is all I need for now.
ex:
dmf - displays banner and argument list
dmf dumbo - displays the contents of a MIDI file
named dumbo
dmf dumbo check - simply checks the contents of the MIDI
file named dumbo without printing it's
contents. In this case an "ok" message
will be printed if the file is read
successfully.
ht - Hex Transmit.
ht [-t<dest name>] <hex byte>...
Transmits MIDI messages enter on its command line in hex. You'll
need to know the hexadecimal values of MIDI status bytes, note
numbers, etc, to use this command properly.
ex:
ht - displays argument list
ht 90 40 40 47 40 - turns on 2 notes on channel 1
ht 90 40 0 47 0 - turns those same notes back off again
mm - Midi Monitor.
mm [?] [-crsx] [-h] [+ix] [-t<source>] [-p[name]]
Displays incoming MIDI messages to the console in one of various
ways. Use Control C to exit. Control D will terminate listing the
current sys/ex message (if +x is selected) without exiting the
program.
ex:
mm ? - displays list of options
mm +i -r - interprets data as it receives it and filters out
real-time msgs (like Active Sensing)
playmf - Play a MIDI File
playmf <file> [Source <source>] [Dest <dest>]
[Clock] [Ext] [Start]
This is a simple MIDI File sequence player. There are options for
internal or external sync, whether or not to send clocks (with
start, stop, continue and position messages going along for the
ride), auto-start, and routing.
The sequencer routes to some Source (default is MidiIn) to listen
for control messages and routes to some Dest (default is MidiOut) to
which it sends events from the sequence. The control messages that
it listens for are start, stop, continue, song position, and clock
when in ext sync mode.
The internal sync mode (default) uses a spare CIA timer channel
(hardware) to generate accurate timing. This is apparently used by
KCS, Music-X and others for the same function. Since only one task
can own this timer at a time, usage of this mode will exclude any
other application that needs it from being able to use it. Likewise,
any other application that might be using the CIA timer channel will
prevent playmf from being able to use it. Fortunately, playmf will
only attempt to use the CIA in internal sync mode.
Normally the sequencer will not start playing until it receives a
MIDI Start message at its control port (default is MidiIn). The
Start option will cause the sequence to start playing as soon as the
sequence is loaded rather than waiting for a start.
The sequencer does not unload after the sequence has stopped. It
will continue to wait for activity on it's control port so that the
sequence can be continued, repositioned, restarted, whatever.
Use Control+C to exit playmf.
As with dmf this is essentially test code turned into a simple
utility, so there are a few restrictions: only Format 0 files (one
track) and metrical timing (as opposed to SMPTE/MTC) are supported.
Additionally, perhaps someone will make a midi.library compatible
sound sample player module so that MIDI Files can be played using
Amiga voices.
ex:
playmf - displays usage
playmf dumbo - loads dumbo and waits to play it (when
a start is received at MidiIn)
playmf dumbo start - loads dumbo and starts it playing the
moment it has been loaded
r - Sample Router.
r
This is a simple routing utility. It is considered an example
rather than a finished product. Its source is included in the
examples directory. Use at your own risk.
rsx - Receive System Exclusive.
rsx [-c<n>] [-m<id>] [-t<source>] <file>...
Receives the next SysEx message and saves it to a named file. You
now can grab several messages for one file using the -c option
(useful for things like a DX7 w/ an E! card that send more than one
sys/ex msg in a single dump). You can now request receiving only
system exclusive messages with a single manufacture ID (either 1
byte or 3 byte ID). This program will wait until it gets the
specified number of sys/ex messages. Use Control C to abort.
ex:
rsx - displays list of options
rsx bank1 bank2 - receives the first sys/ex msg and
writes it to "bank1", the second to
"bank2".
rsx -c2 bank3 - receives the next 2 sys/ex msgs and
writes them to "bank3"
rsx -m43 bank4 - specifies manufacturer ID = $43
(Yamaha(tm))
rsx -m00-0008 bank5 - specifies manufacturer ID = $00 0008
(Iota(tm))
stat - System Status.
stat [cdflmprst]
Is a general system status utility. It includes a report about the
MIDI library's status. Type "stat ?" followed by another "?" at the
"OPTS:" prompt for usage. Be careful about using this program
during heavy MIDI serial I/O traffic. stat temporarily disables
interrupts and can cause serial.device (used by MidiIn & MidiOut) to
lose bytes.
ex:
stat - displays CLI's (equivalent to stat c)
stat m - lists MIDI public nodes
stat ld - lists libraries and devices
stat t - lists tasks (useful to prove that your Amiga
really multi-tasks)
tsx - Transmit System Exclusive.
tsx [-t<dest>] <file>...
Sends a named file. The file does not need to actually contain
system exclusive messages: any MIDI message stream will do. The
program was originally written as the compliment of rsx.
This program can also be launched from Workbench. If you attach a
project icon to any file you wish to transfer and set the icon's
default tool to tsx (wherever it happens to reside: like c:tsx),
you can send that file simply by double-clicking on the icon.
ex:
tsx - displays list of options
tsx bank1 bank2 - sends the contents of "bank1" followed by
"bank2"
ychk - Yamaha Bulk Dump File Checker.
ychk <file>...
Checks the contents of files for valid Yamaha Bulk Dump messages.
For Yamaha equipment owners this is really handy for checking files
received by rsx.
Arp wild cards are used for the file arguments. As an additional
feature, files suffixed by ".info" will not be checked since they
probably don't contain anything meaningful to Yamaha equipment.
Limitations: As it stands, only the first message in a file is
checked and it must be a Yamaha bulk dump message. Additionally,
the bulk dump being checked must not contain any real-time messages
(RX21L files might contain these). If you received the file using
the MIDI Library (e.g. using rsx) this won't be a problem since the
Library won't ever send you a message containing embedded real-time
msgs.
ex:
ychk - displays usage
ychk bank1 bank2 - checks "bank1" and then "bank2"
ychk bank* - checks all files that match the pattern
"bank*".
**** Note: because of an Arp bug, Arp wild cards are not supported.
However, the "*" and "?" characters are supported.