Overview of RtMidi core classes and functionality
masterRtMidi provides a common C++ API for real-time MIDI input and output across multiple platforms (Linux, macOS, Windows, Web MIDI, iOS, and Android).
Core Abstractions
RtMidiIn: Handles MIDI input. Each instance supports a single MIDI connection. Input messages are timestamped with delta times in seconds (as adouble) and passed to the user as raw bytes usingstd::vector<unsigned char>.RtMidiOut: Handles MIDI output. Each instance supports a single MIDI connection. Note that RtMidi does not provide timing functionality; output messages are sent immediately upon calling the API.
Key Features
- Object-oriented C++ design.
- Single header and single source file for easy integration.
- MIDI device enumeration.
- Platform abstraction (ALSA/JACK on Linux, CoreMIDI/JACK on macOS, Multimedia Library/UWP on Windows).