Synthfile is a program that prints the contents of (and plays) MIDI Synth files. It is designed to be run under the GNO or ORCA shell. The source can be compiled and run under a Unix shell to print (but not play) MIDI Synth files that have been copied to Unix. NOTE: Version 1.5 updates 1.4 to add these features... - Uses a smaller stack (512 bytes rather than 4096) - Add "-i dirname" parameter to specify instrument/waveform directory to search if those files aren't found in the current directory. - Add "r" play sub-option for random ordering of songs - Add "l" play sub-option to loop back through songs when done - Compiled with all ORCA/C optimizations on - (GNO only) Have event handlers use procsend() and procreceive() instead checking status at 1 second intervals, for lower overhead - (GNO only) Sleep for 1 second at end of song, so final note will die naturally. - (GNO only) kill -30 causes printing of current file on stderr - (ORCA only) holding Open-Apple key with Option key causes synthfile to terminate if playing. Synopsis... usage: synthfile [-v] [-p[o][l][r]] [-i instdir] filename1 [filename2 ...] where -v indicates verbose output -p indicates the sequence should be played, with these options o "play only": no output l "loop": replay songs r "random": shuffle the order -i instdir specifies a directory to search for instrument/wave files when playing sequences and the name of at least one MIDI Synth sequence, instrument, or wave file is provided for GNO... SynthFile handles the following GNO signals: kill -1 or kill -15: shutdown tools and terminate program kill -2 or interrupt key (^C): stop playing/printing a sequence file kill -30: print name of current file on standard error for ORCA ... You can press the option key to stop the playing of a sequence file; simultaneously press the open-Apple key to terminate the program Output is sent to standard out. (Errors are printed on standard error.) You can listen to a group of files on your GS with (for example) synthfile -p Kawai1.SEQ Obladi.Oblada Old.French PIANO.MAN Africa If you type synthfile -p * synthfile will open every file in the directory, ignore all non-MIDI-Synth files, print a brief report on MIDI Synth files, and play MIDI Synth sequence files. You can enter synthfile -po * & to play songs as a background process under GNO. Use synthfile -po -i /hard1/MidiSynthInst/ * & to do the same thing, but look for instrument files in /hard1/MidiSynthInst if they are not found in the current directory. When running under GNO, synthfile responds to the user interrupt character (usually control-C) or kill -2 by stopping the currently playing song. The "hangup" and "software termination" interrupts (kill -1 and kill -15) tell synthfile to turn off the sound & MIDI Synth tools and quit. If synthfile is running from ORCA shell, the playing of a song can be prematurely stopped by pressing the option key, and the program will terminate if the open-Apple key is also held down. Synthfile is freeware and may be distributed without charge, but commercial rights are retained by the author, Dave Tribby. If it is included in a collection of shareware/freeware programs, please send a copy to Dave Tribby, 1529 Fantail Ct., Sunnyvale CA 94087. Portions of this code may be used in other freeware programs if requested and if appropriate credit is given to synthfile. Contact Dave Tribby at the address above or at the following electronic mail addresses: GEnie: D.TRIBBY Internet: tribby@cup.hp.com