Skip to content

SDL Mixer X v2.5.0

Compare
Choose a tag to compare
@Wohlstand Wohlstand released this 23 Sep 20:11
· 415 commits to master since this release
6eceef1

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