home *** CD-ROM | disk | FTP | other *** search
- Document MidiPlay
-
- 1. INTRODUCTION
-
- 1.1. VERSION
-
- midiplay v1.2b 17-Oct-93
-
- 1.2. DISCLAIMER
-
- The author of this program can not be held responsible for any damage
- directly or indirectly caused by the use of the program. Use it at your
- own risk.
-
- 1.3. COPYRIGHT
-
- This program is copyright 1993 Janne SyvΣniemi. All Rights Reserved.
- The program is GIFTWARE. It is freely distributable as long as all files
- are included in their original form and no extra fee is charged. Midiplay
- may not be included in any commercial package without a permission of the
- author. If you use midiplay, send me anything worth of it (especially I
- would like to hear your own compositions in midi format).
-
- See also `Author'
-
- 1.4. WHAT IS MIDIPLAY ?
-
- Midiplay is a program that can play format 0 and 1 midi files (format 2 has
- not been tested). It can also print their contents. Other features include:
- - tempo can be changed
- - midi channels can be muted or played solo
- - midi events can be transposed (plus drum channel option)
- - program change and pitch bender message filter
- - endless loop option
- - format 1 files can be played like format 0 files (= format 2)
- - external or internal sync
-
-
- 1.5. REQUIREMENTS
-
- Midiplay should run on any Amiga from version 1.2 and up.
- Midiplay has been tested only on Amiga 500+ with 3Mb ram, but it has been
- compiled with Lattice/SAS C compiler v5.04 with KS 1.3 includes, so no
- >2.0 specific code has been used.
-
-
- 2. INSTALLATION
-
- Copy midi.library v2.0 to your LIBS: directory and midiplay wherever you like.
-
- Bill Barton's midi.library is Copyright (C) 1987, 1988, Pregnant Badger
- Music. More info about midi.library can be found on FredFish disk 227.
-
-
- 3. STARTING MIDIPLAY
-
- 3.1. CLI
-
- TYPE: midiplay [options] [filename]
-
- Only one file is allowed. If no filename has been given, midiplay
- expects input from current input stream, so redirection can be used.
-
- Options:
-
- -? usage message
-
- -f prints details of the midi file: format, the number of the tracks
- and the division of a quarter-note.
-
- -x prints all meta events in the file. A meta event can express
- tempo, time signature, key signature or text event (copyright
- notice, sequence/track name, instrument name, lyric etc.)
-
- -n prevents midiplay from sending events to midi port. Using this
- option you can print all the events without any delay between
- events.
-
- -tXXX sets playing tempo to XXX (BPM). Tempo change messages in
- the midi file are ignored.
-
- -d prints all real midi events in the file.
-
- -mC mutes all events on channel C.
-
- -sC sends only events on channel C.
-
- -rX transposes all note on/off messages by X (see also -u option).
-
- -uX sets drum channel to X. If this option is given, no transpose
- will happen on this channel.
-
- -c program change messages are not sent.
-
- -b pitch bender messages are not sent.
-
- -l loop. Plays the file infinite times.
-
- -pXXX sets program priority to XXX (default is 30)
-
- -q plays tracks (in format 1 files) in sequence.
-
- -g merges midi input to midi output (actually, it routes the MidiIn port
- to the MidiOut port)
-
- -e receives clock signals from an external source and synchronizes with
- it. Tempo can be controlled in real time from the source. The program
- waits a Start or Continue message from that source before starting.
- Midiplay can be stopped by sending a Stop message.
- If this option is not given, Midiplay transmits clock signals and
- Start and Stop messages. Thus an external source can be synchronized
- with Midiplay.
-
- Simple options can be given together like: -dcbl. Options with
- numbers must be given separate from the following options like:
- -u10 -lbp35 -m1 -m2 -dm4.
-
-
- 3.2. WORKBENCH
-
- DOUBLE CLICK Midi file icon (= project icon with default tool
- midiplay) or SELECT midi file icon and DOUBLE CLICK midiplay icon.
-
- Following tooltypes in a project icon are allowed:
-
- FILEINFO=ON
- prints details of the midi file: format, the number of the tracks
- and the division of a quarter-note.
-
- TEXTINFO=ON
- prints all meta events in the file. A meta event can express
- tempo, time signature, key signature or text event (copyright
- notice, sequence/track name, instrument name, lyric etc.)
-
- DONOTPLAY=ON
- prevents midiplay from sending events to midi port. Using this
- option you can print all the events without any delay between
- events.
-
- TEMPO=XXX
- sets playing tempo to XXX (BPM). Tempo change messages in
- the midi file are ignored.
-
- DATAINFO=ON
- prints all real midi events in the file.
-
- MUTE=C1 or MUTE=C1|C2|C3...
- mutes all events on channel C1 (and channel C2 ...).
-
- SOLO=C
- sends only events on channel C.
-
- TRANSPOSE=X
- transposes all note on/off messages by X (see also -u option).
-
- DRUMCHANNEL=X
- sets drum channel to X. If this option is given, no transpose
- will happen on this channel.
-
- NOPC=ON
- program change messages are not sent.
-
- NOPB=ON
- pitch bender messages are not sent.
-
- LOOP=ON
- loop. Plays the file infinite times.
-
- PRIORITY=XXX
- sets program priority to XXX (default is 30)
-
- SEQUENCE=ON
- plays tracks (in format 1 files) in sequence.
-
- MERGE=ON
- merges midi input to midi output (actually, it routes the MidiIn port
- to the MidiOut port)
-
- EXT=ON
- receives clock signals from an external source and synchronizes with
- it. Tempo can be controlled in real time from the source. The program
- waits a Start or Continue message from that source before starting.
- Midiplay can be stopped by sending a Stop message.
- If this option is not given, Midiplay transmits clock signals and
- Start and Stop messages. Thus an external source can be synchronized
- with Midiplay.
-
-
- 4. OTHER INFORMATION
-
- -When started from Workbench, midiplay opens its own console window.
- -Midiplay can be stopped using CONTROL-C.
- -Midiplay opens one midi source named "midiplay". Source is connected to
- MIDI library's resident node "MidiOut". If an external sync option is given,
- Midiplay will open also one midi destination named "midiplayin".
-
-
- 5. TODO
-
- -GUI
- -midi2text and text2midi (for addition of lyrics and other text)
- -singer: speech synthesizer :-)))
- -midi mixing
- -Amiga's internal sounds played on midi channels
- -AREXX port
-
-
- 6. PROBLEMS AND LIMITATIONS
-
- On smaller Amigas (500 & 600) Midiplay does not multitask very well. Files
- are played in time, but sometimes tempo is quite jerky. But I am happy with
- it on my A500 28Mhz and over 30 processes running. If you have something
- to complain, please let me know.
-
- There are still some problems in external sync mode. MidiIn may lose some
- clock signals on smaller Amigas and the midiplayer is then out of sync. If
- this happens, use slower tempo and do not print anything.
-
- Because Midiplay uses normal console windows, printing (and thus playing)
- can be stopped by pressing any key other than enter.
-
- Command ls (and maybe some other programs too) doesn't work correctly after
- Midiplay has been started first time from the CLI. I don't know why.
-
- Limitations:
- -SYSEX messages are not analysed nor printed.
-
-
- 7. HISTORY
-
- v1.0: 29-Jun-93, first version, only DOS, format 0 files.
-
- v1.1: 23-Jul-93, first public release, WB and tooltypes, format 1 files.
-
- v1.2: 29-Aug-93, external/internal sync and midi merge added, SYSEX messages
- now transmitted correctly, too slow tempo problem fixed.
-
- v1.2b:17-Oct-93, some corrections, smaller code
-
- 8. AUTHOR
-
- Programs, postcards, midi files, bug reports, requests, suggestions,
- questions to:
- Janne SyvΣniemi
- Lintuviidankatu 15 C 10
- FIN-33340 TAMPERE
- FINLAND
- E-mail:csjasy@vehka.cs.uta.fi or csjasy@uta.fi
-
- Hardware: Amiga500+, SupraTurbo28, SupraDrive500XP 52Mb(+2Mb Fast Mem),
- MIDI interface, ROLAND D-10.
- Software: Dr T's KCS v3.57 (the best sequencer program)
-
- 9. CREDITS
-
- Thanks to:
-
- JBM for MIDI files and comments
-