Jump to content

RTMIDI: Difference between revisions

From EDM2
No edit summary
mNo edit summary
Line 1: Line 1:
RTMIDI is a C++ library and 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.
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.
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.
Line 14: Line 14:
* [[IBM]]
* [[IBM]]
* [[Timur Tabi]]
* [[Timur Tabi]]
[[Category:Tools]][[Category:C++]][[Category:Audio]]
[[Category:Tools]][[Category:Software written in C++]][[Category:Audio]]

Revision as of 21:50, 10 April 2015

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

Author