Jump to content

RTMIDI

From EDM2
Revision as of 22:01, 10 April 2015 by Reiknir (talk | contribs)

RTMIDI is a runtime for creating real-time MIDI applications created in the mid 90's by IBM to simplify programming of games, multimedia and music applications. To save programmers from having to create a driver subsystem to interface with hardware RTMIDI takes care of sending and receiving MIDI data, time-stamping of MIDI data and offering real-time playback, processing and synchronization of MIDI data.

While not a bad idea in itself and something that was sorely needed for MS Windows and other operating system, it had some problems, and over time they have become more serious. RTMIDI was never fully finished and does not support the full MIDI specification, stuff like sys-ex is missing altogether and it had no proper mechanism to allow you to extend it yourself. It also had some other problems, although it did not require a full (smart mode) Roland MPU-401 compatibility, i.e. it only required the MIDI/MPU interface act as a interface and not a processor, it did not support MPU-401 UART mode which was what common sound cards supported, making the library only compatible with a small subset of available MIDI and sound cards. Furthermore it is also only partially documented and only supports low resolution IBM PC/Intel style timers rather than high resolution timers.

For that reason you are advised to stay away from the RTMIDI library and treat it as an historical curiosity, the original author of the software had at one point promised to make the source available to developers (he could not open source it due to IBM ownership of the code), but that never happened so you are better off looking at alternatives.

Not to be confused with the much later RtMidi library for Unix like operating systems.

Version

  • Phase 1.5 included with OS/2 Version 4 and later and all versions of eComStation, but documentation is only available for the older 0.8 version.

Links

Applications and libraries

Applications known to have used RTMIDI include:

  • AudioStation - MIDI sequencer with audio capabilities.
  • LBPlay - MIDI player with karaoke capabilities.
  • MIDI Station Squencer - MIDI only sequencer.
  • Nota Musica Sequencer - Sequencer with notation capabilities.

Libraries/Bindings that encapsulate RTMIDI:

Author