The OpenMPT/libopenmpt project released the release candidate for the next stable libopenmpt version:

libopenmpt 0.6.0-rc.1 (2021-12-22)

  • [New] MUS files from Psycho Pinball and Micro Machines 2 are now supported.
  • [New] SymMOD files created with Symphonie / Symphonie Pro are now supported.
  • [New] FMT files created with Davey W Taylor’s FM Tracker are now supported.
  • [New] DSYM files created with Digital Symphony are now supported.
  • [New] openmpt123: openmpt123 will now expand file wildcards passed on the command line in Windows when built with MSVC.
  • [New] libopenmpt_ext: New interface interactive2 adding openmpt::ext::interactive2::note_off(), openmpt::ext::interactive2::note_fade(), openmpt::ext::interactive2::set_channel_panning(), openmpt::ext::interactive2::get_channel_panning(), openmpt::ext::interactive2::set_note_finetune(), and openmpt::ext::interactive2::get_note_finetune() (C++) and openmpt_module_ext_interface_interactive2.note_off(), openmpt_module_ext_interface_interactive2.note_fade(), openmpt_module_ext_interface_interactive2.set_channel_panning(), openmpt_module_ext_interface_interactive2.get_channel_panning(), openmpt_module_ext_interface_interactive2.set_note_finetune(), and openmpt_module_ext_interface_interactive2.get_note_finetune() (C).
  • [New] Makefile CONFIG=emscripten now supports EMSCRIPTEN_TARGET=audioworkletprocessor which builds an ES6 module in a single file with reduced dependencies suitable to be used in an AudioWorkletProcessor.
  • [New] Makefile CONFIG=emscripten now supports EMSCRIPTEN_PORTS=1 which uses dependencies (zlib, mp123, ogg, and vorbis) from Emscripten Ports instead of using miniz, minimp3, and stb_vorbis locally or building zlib, mp123, ogg, and vorbis locally.
  • [New] Makefile CONFIG=emscripten and CONFIG=djgpp can now build zlib, mpg123, and vorbis locally instead of only supporting miniz, minimp3, and stb_vorbis via ALLOW_LGPL=1.

  • [Change] Makefile CONFIG=emscripten now supports EMSCRIPTEN_TARGET=all which provides WebAssembly as well as fallback to JavaScript in a single build.
  • [Change] openmpt123: DOS builds now use the Mercury fork of liballegro 4.2 for improved hardware compatibility.
  • [Change] libopenmpt no longer generates internal interpolation tables on library load time, but instead only first module load time.

  • [Regression] Makefile CONFIG=emscripten does not support EMSCRIPTEN_TARGET=asmjs or EMSCRIPTEN_TARGET=asmjs128m any more because support has been removed from current Emscripten versions.
  • [Regression] Support for GCC 7 has been removed.
  • [Regression] Support for Clang 5, 6 has been removed.
  • [Regression] Support for Emscripten versions older than 1.39.7 has been removed.
  • [Regression] Building with Android NDK older than NDK r19c is not supported any more.

  • libopenmpt can now detect infinite pattern loops and treats them as the song end. This means that setting a repeat count other than -1 now always guarantees that playback will eventually end. The song loop counter is decremented each time it ends up at the start of the infinite loop, so the song does not restart from the beginning even if the repeat count is not 0.
  • openmpt::module::set_position_seconds() accuracy has been improved for modules with pattern loops.
  • IT: Portamentos in files with Linear Slides disabled are now more accurate.
  • FAR: Correct portamento depth is now used.

Source code download links:

Binary download links:

Development library download links:

Documentation download links: