home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Sound Sensations!
/
sound_sensations.iso
/
demos
/
midif
/
demo.doc
next >
Wrap
Text File
|
1988-09-03
|
6KB
|
137 lines
cMIDI Function Library Description
==================================
The cMIDI function library is a set of over 50 C functions designed
for controlling MIDI equipment via an IBM PC equipped with a Roland
MPU-401 MIDI interface. The cMIDI function library is versatile, yet
simple to use. For example, the nine MIDI applications in this
demonstration were written using the cMIDI function library. Each of
these applications required less than a page of source code. We
invite you to examine this source code (included on this
demonstration diskette).
The cMIDI function can control up to 255 track pointers. A track
pointer is analogous to a multitrack recorder's play/record head.
However, instead of just a volume control, each track pointer has a
set of controls that allow you to adjust note transposition, time
delay, MIDI channel, and note on and off velocities. The cMIDI
function library can also read and write tracks of MIDI data in
several different file formats (including Standard MIDI Files).
The cMIDI function library supports the small, medium, compact, and
large memory models and can be executed within the Microsoft QuickC
environment. The library's manual is over 100 pages long and
includes 17 sample applications.
Below is a short description of each of the 52 functions in the
cMIDI function library:
1) "CmidiClose" removes the cMIDI interrupt service routine.
2) "CmidiOpen" installs the cMIDI interrupt service routine.
3) "ErrorDump" displays the run-time errors detected by the cMIDI
function library.
4) "ErrorPop" gets the last run-time error logged by the cMIDI function
library.
5) "ErrorPush" logs a run-time error number.
6) "ErrorSetFatal" defines which run-time errors halt execution of the
application.
7) "ErrorSetNonfatal" defines which run-time errors do not halt execution
of the application.
8) "MpuRead" reads a byte of data (e.g., tempo) maintained by the
MPU-401.
9) "MpuReset" resets the MPU-401.
10) "MpuSet" sets a byte of data (e.g., acceptable MIDI channels)
maintained by the MPU-401.
11) "MpuSwitch" toggles a switch (e.g., metronome on/off) maintained by
the MPU-401.
12) "MpuUartModeRx" receives data from the MPU-401 while in UART mode.
13) "MpuUartModeTx" transmits data to the MPU-401 while in UART mode.
14) "QueueMidiChan" enables/disables the receiving of channel MIDI
messages.
15) "QueueMidiSysCom" enables/disables the receiving of system common MIDI
messages.
16) "QueueMidiSysEx" enables/disables the receiving of system exclusive
MIDI messages.
17) "RxMidiChan" retrieves a channel MIDI message from the receive
buffer.
18) "RxMidiSysCom" retrieves a system common MIDI message from the receive
buffer.
19) "RxMidiSysEx" retrieves a system exclusive MIDI message from the
receive buffer.
20) "TxMidiChan" transmits a channel MIDI message.
21) "TxMidiSysCom" transmits a system common MIDI message.
22) "TxMidiSysEx" transmits a system exclusive MIDI message.
23) "TrackLength" determines the size of a track.
24) "TrackPlay" starts track pointers playing.
25) "TrackPlayAndRecord" starts track pointers playing and recording.
26) "TrackReadCmidiData" reads a track from a cMIDI data file.
27) "TrackReadCmidiText" reads a track from a cMIDI text file.
28) "TrackReadMidiFile" reads a track from a Standard MIDI file.
29) "TrackReadSeqPlus" reads a track from a Sequencer Plus MKIII file.
30) "TrackRecord" starts track pointer recording.
31) "TrackStop" stops track pointers playing or recording.
32) "TrackTempo" specifies the record and play tempo.
33) "TrackWriteCmidiData" writes a track to a cMIDI data file.
34) "TrackWriteCmidiText" writes a track to a cMIDI text file.
35) "TrackWriteMidiFile" writes a track to a Standard MIDI file.
36) "TrackWriteSeqPlus" writes a track to a Sequencer Plus MKIII file.
37) "TrackPtrChannel" specifies the MIDI channel on which a track
pointer's data is played.
38) "TrackPtrCopy" makes a copy of a track pointer.
39) "TrackPtrDec" decrements a track pointer to the previous message in
its track.
40) "TrackPtrDelay" delays the data played by a track pointer.
41) "TrackPtrInc" increments a track pointer to the next message in its
track.
42) "TrackPtrMute" mutes the notes played by a track pointer.
43) "TrackPtrPlayListDelete" removes a track pointer from the list of
track pointers to be played.
44) "TrackPtrPlayListInsert" adds a track pointer to the list of track
pointers to be played.
45) "TrackPtrRead" reads the message from the location pointed to by a
track pointer.
46) "TrackPtrRegister" associates a handle with a track pointer.
47) "TrackPtrReset" moves a track pointer to the beginning of its track.
48) "TrackPtrTranspose" transposes the pitch of note messages played by a
track pointer.
49) "TrackPtrUnmute" unmutes the notes played by a track pointer.
50) "TrackPtrVelocityOff" adjusts the velocity of note off messages played
by a track pointer.
51) "TrackPtrVelocityOn" adjusts the velocity of note on messages played
by a track pointer.
52) "TrackPtrWrite" writes a message to the location pointed to by a track
pointer.
Hardware/Software Requirements
==============================
1) an IBM PC/XT/AT (or compatible)
2) a Roland MPU-401 (or compatible) MIDI interface
3) Dos 2.1 (or higher)
4) Microsoft's C or QuickC, or Borland's TurboC compiler
Authors
=======
Greg Sepesi (MS Electrical Engineering, Syracuse University)
Rex Lau (MS Computer Science, Michigan State University)
cMIDI
P.O. Box 4903
East Lansing, MI 48823
(517) 337-2569
Price (until 01 Nov 88)
=======================
cMIDI Function Library $79 (30 day satisfaction guarantee)
cMIDI Function Library Source Code $79