mirror of
https://github.com/kichikuou/system3-sdl2.git
synced 2026-09-27 17:38:01 +03:00
Before this, MIDI playback was done by generating an SMF data stream, which was then played using platform-specific methods (MCI on Windows, MediaPlayer on Android, SDL_Mixer on other platforms). However, this approach had an issue where the Y18 command (which reads loop counts and markers) did not work correctly. With this change, the MAKOMidi class now uses the RtMidi library to control MIDI devices in real-time. This approach was used in the original "System3 for win32", but has now been made cross-platform. The dependency on RtMidi is optional. If RtMidi is not available at build time or a MIDI device is unavailable at runtime, FM synthesis will be used.