Skip to content

MusicPlus: Implement SDL Mixer X for non-native MIDI and stable MP3

mazmazz requested to merge public-musicplus-sdlmixerx into public-musicplus-core

This introduces the SDL Mixer X library, a drop-in replacement for Mixer, into Win32. It fixes MP3 glitchiness and crashyness and also gives MIDI three new engines:

  • OPNMIDI: Default, a YM2612 emulator with no external files required.
  • FluidSynth: Plug-and-play, just supply it with an SF2 soundfont and it does the rest.
    • Grab any soundfont here, make sure it's SF2 format. Default path is [srb2dir]/sf2 and configure the filename in Sound Options.
  • Timidity: For advanced configuration, give it a config path with banks all set.

Video here.

Implementation

  • Win32 only, because I'm not bothered to figure out how this affects Linux packaging. Regardless, Makefiles and buildbots work on all platforms.
    • Linux doesn't need this anyway, because MP3 is stable and MIDI is routed to the user's choice library.
  • Adds new console variables midiplayer, midisoundfontpath, and miditimiditypath. Sound Options menu is changed too

Merge request reports