Skip to content

Releases: WohlSoft/SDL-Mixer-X

SDL Mixer X v2.6.0

23 Nov 03:51
7181c77
Compare
Choose a tag to compare

This is another stable release of this library.

Here is a pile of new features was been added, the FFMPEG support has been added to play AAC, WMA, ALAC, and OPUS inside WebM container has been added. This version introduces the support of the PXTONE (.pttune and .ptcop) music formats made via the PX Tone Collage program. There are also several bugfixes was done during last two years.

Changelog

  • Added new calls: Mix_ADLMIDI_getAutoArpeggio(), Mix_ADLMIDI_setAutoArpeggio(), Mix_OPNMIDI_getAutoArpeggio(), Mix_OPNMIDI_setAutoArpeggio(), Mix_QuerySpec(), Mix_SetMusicSpeed(), Mix_GetMusicSpeed(), Mix_SetMusicPitch(), Mix_GetMusicPitch(), Mix_GME_SetSpcEchoDisabled(), Mix_GME_GetSpcEchoDisabled()
  • Fixed memory damages and crashes while playing XMI files.
  • Added support for the experimental libEDMIDI synthesizer.
  • GPL and LGPL-licensed libraries will be disabled by default (They can be re-enabled using -DMIXERX_ENABLE_LGPL=ON and -DMIXERX_ENABLE_GPL=ON CMake options).
  • Added the FFMPEG support to play some audio formats supported by it, for example, AAC, WMA, ALAC, and OPUS inside WebM container, etc. (Use -DUSE_FFMPEG=ON to enable it)
  • Fixed te detection of EA MUS files.
  • The default bank for the libOPNMIDI has been updated.
  • Added an ability to switch tracks on the fly while playing multi-track music files (such as NSF/HES/GBM/etc. chiptunes and XMI MIDI files)
  • Fixed the confusion of the selected banks and the chips number at ADLMIDI and OPNMIDI.
  • Stabilized work of the Alternative Native MIDI on Windows.
  • Added the PXTONE library to support playback of .pttune and .ptcop files.
  • Fixed detection of legacy FLAC files that starts with an ID3 tag (there are very old FLAG files which used ID3 tags instead of Vorbis Comments. Currently, they are completely deprecated and these tags were just gets skipped and never gets parsed).
  • Added the MS-ADPCM and IMA-ADPCM WAV files support (Imported from the SDL3 Mixer).
  • Fixed reading of valid files less than 100 KB.
  • Fixed several other issues.

SDL Mixer X v2.5.0

23 Sep 20:11
6eceef1
Compare
Choose a tag to compare

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

SDL Mixer X v2.5.0-beta

31 Jan 14:40
d0c34bc
Compare
Choose a tag to compare
Pre-release

This is another release made after a long time of no other releases made since 2018'th year. Why BETA? There are some works still planned and it needs to be sure this one works stably in as-is form.

TODO list:

  • Make the alternative MIDI playback for the FluidSynth based on a midi_seq module to give the loop points and a seekability support
  • Make the alternative MIDI playback for the Timidity based on a midi_seq module to give the loop points and a seekability support
  • Resume the cooperation work with @sezero on MixerX features porting into the mainstream SDL_mixer
    • MP3 tags reading support, mainstream can only skip them but can't read
    • Backport the optimization of OGG-family (Vorbis/FLAC/OPUS) loop tags support with avoiding the duplicated code pieces being everywhere
    • Backport the ability to switch the MIDI library during the runtime
    • etc.
  • Finally start the work on a Multi-Music system (allow playing multiple music-like streams to provide the multi-track support, dynamic controlling of the music which is used in some games for the atmosphere, allow cross-fade, etc.)

Changelog:

2.5.0:

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

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

2.4.0:

Vitaly Novichkov - 2019

  • DOSBox OPL3 emulator will be used by default on libADLMIDI for performance
  • Support for both FluidSynth 1 or 2 when detected any of them
  • Fixed some build configurations and system-wide codecs detection
  • Fixed inability to play some weird AIFF files
  • Added int Mix_GetVolumeMusicStream(Mix_Music *music) call which reports current music volume

2.3.0:

Vitaly Novichkov - 2018-11-26

  • Replace volume formula for GME, libADLMIDI, and libOPNMIDI
  • New API: Added full-panning stereo support of libADLMIDI and libOPNMIDI
  • New API: Added Neko Project II Kai emulator enum for libOPNMIDI

2.2.1:

Vitaly Novichkov - 2018

  • Fixed inability to retrieve meta-tags and music file spec without of playing begin
  • Added more music functions are receiving music instance (for future multi-music API)
  • Fixed destroyed WAV music playing when seeking unaligned positions

SDL Mixer X v2.2.0

06 Aug 19:55
Compare
Choose a tag to compare

First stable release

Compatible dependencies are was attached.