SDL Mixer X v2.5.0
This is a big update made after the long time of no other releases made since 2018'th year.
Significant updates
- Native-MIDI on Windows got the alternative MIDI sequencer code that supports loop points and has the workaround for MS-GS synthesizer volume changing that affects the general volume of the whole application.
- Added the alternative FluidLite library support (as an alternative to the FluidSynth module) that uses the alternative MIDI sequencer with the full seek-ability and loop points.
- Added support for libXMP tracker module music player library
- Added support for minimp3 as a small alternative to general libmad and libmpg123 libraries (the library itself is shipped with MixerX' sources)
- Added support for stb-vorbis as a small alternative to libogg and libvorbis by Ximp (the library itself is shipped with MixerX' sources)
- Added the full-featured multi-music API that allows to play multiple instances of
Mix_Music
in parallel. This is the separated set of new-added calls which you can use in parallel with old single-stream music API. Old single-stream music API kept working the same to keep the backward compatibility. - Music streams (
Mix_Music
) now support individual effects (including all built-in effects such as panning/position/distance/reverse-stereo). - For MIDI, Chiptunes, and tracker music the tempo change ability has been added
- For MIDI, Chiptunes, and tracker music the track (or channel) muting/unmuting ability has been added
- On the CMake build the final license indication has been added to make sure which final license (depends on codec enabled will be applied to the whole library: if you link any GPL-licensed codecs, the library will have GPL license, statically-linked LGPL modules will make library being also LGPL, and using other codecs BSD or MIT licensed, will keep the own ZLib licenze being applied to the final library build)
- Fixed several bugs
Full changelog
Vitaly Novichkov - 2021-09-21 16:46
- Added std-vorbis library as an alternative for OGG Vorbis streams
Vitaly Novichkov - 2021-09-20 23:27 - Added minimp3 codec library for MP3
Vitaly Novichkov - 2021-09-10 - Added an ability to mute individual channels/tracks of MIDI/Tracker/Chiptune musics, added Mix_GetMusicTracks() and Mix_SetMusicTrackMute() calls
Vitaly Novichkov - 2021-09-09 - Added the support for effects on music streams
- Added an ability to play multiple music streams at the same time include the multi-track and cross-fade ability
- Added new calls: Mix_HookMusicStreamFinishedAny(), Mix_HookMusicStreamFinished(), Mix_RegisterMusicEffect(), Mix_UnregisterMusicEffect(), Mix_UnregisterAllMusicEffects(), Mix_SetMusicEffectPanning(), Mix_SetMusicEffectPosition(), Mix_SetMusicEffectDistance(), Mix_SetMusicEffectReverseStereo(), Mix_PlayMusicStream(), Mix_FadeInMusicStream(), Mix_FadeInMusicStreamPos(), Mix_VolumeMusicGeneral(), Mix_GetVolumeMusicGeneral(), Mix_CrossFadeMusicStream(), Mix_CrossFadeMusicStreamPos(), Mix_PauseMusicStreamAll(), Mix_ResumeMusicStreamAll(), and Mix_ModMusicStreamJumpToOrder()
- Added the Mix_SetMusicFileName() call to manually set the displayable filename
Vitaly Novichkov - 2021-03-29 15:11:00 - Added the support for the FluidLite library
Vitaly Novichkov - 2021-01-29 11:06:44 - Resolved the linking confusion when some libraries got disabled
Vitaly Novichkov - 2021-01-09 21:56:39 - Fixed the improper buffer usage at libADLMIDI and libOPNMIDI modules, the
WASAPI support is now better for those libraries.
Vitaly Novichkov - 2020-12-21 - Added an alternative Native MIDI backend for Windows platform:
it allows to change position, allows reporting the current position, allows
loop points like libADLMIDI and libOPNMIDI can add a volume workaround to
prevent the volume changing of the entire application.
Vitaly Novichkov - 2019-12-17 - Added an ability to require specific loop counts for GME songs which support that
- Fixed an incorrect MPG123 seek when sample rates of stream and file aren't match
- Added an ability to change Timidity config on the fly
- Renamed Mix_GetMusicTotalTime() into Mix_MusicDuration()
Matthias Gatto - 2019-12-16 - Added a returning of duration for Timidity (backport of https://bugzilla.libsdl.org/show_bug.cgi?id=4715)
Ozkan Sezer - 2019-12-16 - Reworked config API of Timidity, added new Mix_SetTimidityCfg() and Mix_GetTimidityCfg() calls
Vitaly Novichkov - 2019-07-16 - Added music tempo change API (initially works with MIDI, GME, and XMP)
Vitaly Novichkov - 2019-07-11 - Added API to change ADLMIDI and OPNMIDI's chips count to control performance and polyphony
Vitaly Novichkov - 2019-07-11 - Added new path arguments to load custom external banks for libADLMIDI and libOPNMIDI
Vitaly Novichkov - 2019-05-28 - Fixed MP3 file detection by raw data to don't rely on filename extensions
Vitaly Novichkov - 2019-05-10 - Use DosBox emulator by default in ADLMIDI
Vitaly Novichkov - 2019-03-10 - Added support for libXMP tracker module music player library
Vitaly Novichkov - 2019-02-24 - Added more OPL/OPN emulators enum fields for libADLMIDI and libOPNMIDI