Overview
The MIDI Support system provides and manages MIDI facilities for RISC OS 3.50 and later. In a similar way to !Printers, it uses a driver based scheme to allow support for a wide range of MIDI interface hardware, whilst providing a common (ie hardware independant) API for software authors. It enables multiple MIDI-aware applications and hardware interfaces to co-exist.
There are two types of MIDI driver :
- Hardware drivers (implemented as relocatable modules) are associated with specific MIDI interfaces.
- Software drivers are dynamically installed by MIDISupport-aware applications (sequencers, softsynths, etc.)
Additionally, drivers may be send-only (eg !Player/MIDIPlay), receive-only (eg !Synth), or capable of both sending and receiving MIDI data (eg !MelIDI). All hardware drivers are bi-directional.
All drivers can be inter-connected as the user chooses, thus controlling the flow of MIDI data throughout the system. Complex arrangements involving chains of inter-application MIDI transfers and multiple MIDI ports (h/w) are entirely possible.
In addition to the various modules, it comprises two applications that work in close concert - !MidiSupp and !MidiMan.
!MidiSupp is a shared resource acting much like !System, though for MIDI related resources. It acts as a repository for the various MIDISupport hardware driver modules and related items, eg the PowerWAVE module for the DMI50 audio/MIDI card. Like !System, it is located in the Boot:Resources directory.
!MidiSupp's RunImage is executed once, upon a startup or system reset. It sets up the MIDI system - loading appropriate modules and drivers, and setting up driver connections (routing) as instructed by any saved user configuration. When it has completed this, it quits. Ie it is a transient application, and does not remain in memory.
!MidiMan on the other hand is a conventional user application, ie when run, it puts an icon on the iconbar and provides windows and menus to access its features. It allows management of the MIDI Support system, ie which hardware driver modules are installed and the routing between drivers. These settings can be saved as user preferences (which will be made use of by !MidiSupp, ie upon a startup/reboot).
!MidiMan also provides MIDI data activity meters and an integrated application launcher.