Thanks to all the people who contributed code and feedback, SDL_mixer 2.6.0 is now available!
In addition to new CMake support by @madebr and many bug fixes, here are the highlights since the last release:
- API documentation is now available on the wiki: SDL_mixer/FrontPage - SDL Wiki
- Added support for building with CMake
- Added support for playing Ogg files using stb_vorbis, which is now the default Vorbis backend.
To use libvorbis instead, configure using --disable-music-ogg-stb --enable-music-ogg-vorbis - Added support for playing FLAC files using dr_flac, which is now the default FLAC music backend.
To use libflac instead, configure using --disable-music-flac-drflac --enable-music-flac-libflac - Added support for playing MP3 files using dr_mp3, which is now the default MP3 music backend.
To use libmpg123 instead, configure using --disable-music-mp3-drmp3 --enable-music-mp3-mpg123 - Added libxmp support for mod music playback. Modplug is still the default backend for MOD music.
To use libxmp instead, configure using --disable-music-mod-modplug --enable-music-mod-xmp - Removed support for libmad as a MP3 music backend.
- Removed support for libmikmod as a MOD music backend.
- Added Mix_MasterVolume() for additional volume control over all channels
- Update Mix_Init() return value to match documentation, including MIXER_INIT_* flags for already-initialized modules
- Added Mix_HasMusicDecoder()
- Memory leak fixes and F32 format support to fluidsynth player
- Fixed distorted MIDI playback with FluidSynth if sample rate is out of library’s limits
- Added Mix_ModMusicJumpToOrder() for mod music formats
- Enabled module internal loops in modplug player
- Respect original mp3 file offset
- Support setting soundfont via SDL_SOUNDFONTS in OSX native midi
- Fixed mp3 file detection
- Fixes to ogg playback on big-endian devices
- Added functions to get metadata information:
Mix_GetMusicTitle()
Mix_GetMusicTitleTag()
Mix_GetMusicArtistTag()
Mix_GetMusicAlbumTag()
Mix_GetMusicCopyrightTag() - Add functions to get loop point information:
Mix_GetMusicLoopStartTime()
Mix_GetMusicLoopEndTime()
Mix_GetMusicLoopLengthTime() - Added Mix_GetMusicVolume() and Mix_GetMusicPosition()
- Added Mix_MusicDuration() to return music duration in seconds
- Fixed music_mpg123 seek bug when sample rate of the file and the stream don’t match
- Timidity improvements, added Mix_SetTimidityCfg()
- Improved mp3 tag detection/skipping
- Extended support for WAV files
- Allow rmid files be opened by native midi
- Fixed possible crash in win32 native midi
- Prevent clipping due to volume settings in modplug music
- Added looping support for Opus files
- Added looping support for FLAC files
- Improved OGG looping support
- Fixed loading Opus audio as audio chunks