libopenmpt release 0.6.0
The OpenMPT/libopenmpt project released the new stable libopenmpt version 0.6:
libopenmpt 0.6.0 (2021-12-23)
- [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]
STX
files (transitional format between Scream Tracker 2 and 3) are now supported. - [New] TakeTracker MODs with
TDZ1
toTDZ3
magic bytes 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
addingopenmpt::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()
, andopenmpt::ext::interactive2::get_note_finetune()
(C++) andopenmpt_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()
, andopenmpt_module_ext_interface_interactive2.get_note_finetune()
(C). - [New]
Makefile
CONFIG=emscripten
now supportsEMSCRIPTEN_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 supportsEMSCRIPTEN_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
andCONFIG=djgpp
can now build zlib, mpg123, and vorbis locally instead of only supporting miniz, minimp3, and stb_vorbis viaALLOW_LGPL=1
. - [Change]
Makefile
CONFIG=emscripten
now supportsEMSCRIPTEN_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 on first module load time.
- [Regression]
Makefile
CONFIG=emscripten
does not supportEMSCRIPTEN_TARGET=asmjs
orEMSCRIPTEN_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.- Samples played at the wrong volume when rendering modules in mono.
- IT: Portamentos in files with Linear Slides disabled are now more accurate.
- IT: Pitch/Pan Separation was affected by note-off commands, and wasn’t reset by panning commands like in Impulse Tracker.
- IT: Even after libopenmpt 0.5.14 the filter reset logic was still not 100% identical to Impulse Tracker: A note triggered on tick 0 of a row with a Pattern Delay effect still caused the filter to be reset on repetitions of that row even though the note wasn’t retriggered.
- IT: Added read-only support for BeRoTracker commands 1 and 2 (equivalent to XM commands K and L).
- XM: BeRoTracker saves smooth MIDI macros in a different way from OpenMPT. This command is now imported correctly.
- XM: Emulate FT2 Tone Portamento quirk that inverts portamento direction after the target was reached (if target note was higher than previous note).
- S3M files saved with Impulse Tracker and latest Schism Tracker now also compute sample playback speed in Hertz.
- Depending on whether an S3M file was last saved in Scream Tracker with the Sound Blaster or Gravis Ultrasound drivers loaded, different compatibility flags are now applied. For files saved with the GUS, the sample volume factor is now also ignored (fixes volume levels in S3Ms made on the GUS, in particular if they use both samples and OPL instruments).
- S3M: Enforce the lower frequency bound.
- MOD: Loosened VBlank timing heuristics so that the original copy of Guitar Slinger from Dizzy Tunes II plays correctly.
- FAR: Correct portamento depth is now used.
- DMF / IMF: Improved accuracy of finetune commands.
- MDL: Implemented finetune command.
-
OKT: Various accuracy improvements such as: Sharing volume between mixed channels, volume commands on mixed channels are permanent (not reset with new notes), mixed channels do not support default sample volume, 7-bit samples are actually supposed to be played as-is (not amplified to full 8-bit range), reject speed command parameters >= 20.
- zlib: v1.2.11 (2017-01-15).
- mpg123: v1.29.3 (2021-12-11).
- ogg: v1.3.5 (2021-06-04).
- vorbis: v1.3.7 (2020-07-04).
- miniz: v2.2.0 (2021-06-27).
- minimp3: commit 50d2aaf360a53653b718fead8e258d654c3a7e41 (2021-11-27).
- stb_vorbis: v1.22 commit 5a0bb8b1c1b1ca3f4e2485f4114c1c8ea021b781 (2021-07-12).
- FLAC: v1.3.3 (2019-08-04).
- PortAudio: v19.7.0 (2021-04-06).
Source code download links:
- Autotools: https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-0.6.0+release.autotools.tar.gz
- Makefile / Android NDK: https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-0.6.0+release.makefile.tar.gz
- Visual Studio: https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-0.6.0+release.msvc.zip
Binary download links:
- Windows (openmpt123, xmp-openmpt, in_openmpt): https://lib.openmpt.org/files/libopenmpt/bin/libopenmpt-0.6.0+release.bin.windows.zip
- DOS (openmpt123) : https://lib.openmpt.org/files/libopenmpt/bin/libopenmpt-0.6.0+release.bin.dos.zip
- Windows XP SP1 (RETRO) (openmpt123, xmp-openmpt, in_openmpt): https://lib.openmpt.org/files/libopenmpt/bin/libopenmpt-0.6.0+release.bin.retro.winxp.zip
- Windows 9x (RETRO) (openmpt123, xmp-openmpt, in_openmpt): https://lib.openmpt.org/files/libopenmpt/bin/libopenmpt-0.6.0+release.bin.retro.win9x.zip
Development library download links:
- Windows: https://lib.openmpt.org/files/libopenmpt/dev/libopenmpt-0.6.0+release.dev.windows.vs2022.zip
- WebAssembly / Javascript: https://lib.openmpt.org/files/libopenmpt/dev/libopenmpt-0.6.0+release.dev.js.tar.gz
Documentation download links:
The following libopenmpt and libopenmpt-modplug versions are currently supported with security fixes by the OpenMPT/libopenmpt project:
- libopenmpt 0.6.0
- Current stable version.
- Receives security updates.
- Receives minor playback fixes.
- libopenmpt 0.5.15
- Old stable version.
- Receives security updates.
- Receives trivial bug fixes.
- libopenmpt 0.4.27
- Old stable version.
- Receives security updates.
- Receives trivial bug fixes.
- libopenmpt 0.3.36
- Old stable version.
- Receives security updates.
- Receives trivial bug fixes.
- libopenmpt 0.7 (SVN trunk)
- development
- security updates
- playback fixes
- new features
- new file formats
- libopenmpt-modplug 0.8.9.0-openmpt1
- Receives security updates.
- libopenmpt-modplug 0.8.8.5-openmpt1
- Receives security updates.
Please update to the newest versions.