|
This is a high-level, object-oriented Lisp interface to Opcode's MIDI interface system, OMS. In addition to supporting OMS' device-independent handling of MIDI traffic, this interface adds high-precision asynchronous I/O of time-stamped MIDI events. For maximum speed and efficiency, this is done through custom interrupt-driven I/O schedulers provided in the form of a shared library. The Lisp interface uses CLOS objects to represent MIDI events, providing a high level of abstraction for musical information in a natural and powerful way. It also allows the interface to be easily modified and extended. For more information about OMS, please refer to Opcode's web site, from which OMS can be downloaded free of charge.
Platforms This interface is written for Macintosh Common Lisp (MCL) from Digitool, Inc. It runs only on Power Macintoshes (PPC), and is not intended for the 680x0 platform. Thus, MCL 4.0 or later is required.OMS version 2.0 or later is required. Organisation The OMS/Lisp interface can conceptually be regarded as being comprised of three parts: an input scheduler, maintaining a queue of time-stamped MIDI events received asynchronously from OMS. This queue is located in system-heap memory; the size of the queue may be set by the user. an output scheduler, maintaining another queue of time-stamped MIDI events which are sent asynchronously to OMS when due to be played. This queue is also located in system-heap memory, and the number and size of its buffers may be set by the user. a set of high-level routines to control the schedulers, to receive and send low-level MIDI events, and to process them as CLOS objects. |
|
|
The input and output schedulers are contained in a shared library and handle all timed MIDI events. There are also routines that read directly from and write directly to OMS, without any buffering and/or scheduling. |
| New features in version 2 A new scheduler Meta Event allows you to change the playback tempo. Interface to the Name Manager. MIDI Monitoring facility. Conditions are now signalled to let you handle unusual situations more easily. Parsable MIDI streams. The above free Common Lisp software is provided strictly on an as-is basis. It is completely unsupported. NoteHeads neither assumes any responsibility for this free software, nor for any results of the use of this free software, be they direct or indirect. The free software remains, at all times, the intellectual property of NoteHeads. |