libopenmpt release 0.8.0
The OpenMPT/libopenmpt project released the new stable libopenmpt version 0.8:
libopenmpt 0.8.0 (2025-05-31)
- [New] Can now read PumaTracker (
PUMA
) modules. - [New] Can now read Face The Music (
FTM
) modules. - [New] Can now read Future Composer (
FC
/FC13
/FC14
/SMOD
) modules. - [New] Can now read Game Music Creator (
GMC
) modules. - [New] Can now read Chuck Biscuits / Black Artist (
CBA
) modules from the Expoze musicdisk by Heretics - [New] Can now read Real Tracker 2 (
RTM
) modules. - [New] Can now read Images Music System (
IMS
) modules. - [New] Can now read ChipTracker (
MOD
) modules. - [New] Can now read TCB Tracker (
MOD
) modules. - [New] Can now read EasyTrax (
ETX
) modules. - [New] Can now load UNIC Tracker v1 (
UNIC
) files. - [New] MED: Synthesized and hybrid instruments are now supported.
- [New] GT2: Better support for old “envelopes”, in particular adding support for the previously missing tremor / tremolo / vibrato.
-
[New] NST: His Master’s Noise “Mupp” instruments are now supported, as well as command 7 “mega-arp”.
- [New]
Makefile CONFIG=djgpp
now supports building LGPL libraries as DXE (useENABLE_DXE=0
to disable). - [New] New
Makefile
CONFIG=mingw-w64
optionWINDOWS_CRT=[crtdll,msvcrt,ucrt]
to select the toolchain CRT library. - [New] 32bit ARM builds now support Windows 8 (Windows RT) again.
- [New] libopenmpt: New APIs for determining whether order list entrys or
pattern indices have a special meaning:
openmpt::module::is_order_skip_entry()
,openmpt::module::is_pattern_skip_item()
,openmpt::module::is_order_stop_entry()
,openmpt::module::is_pattern_stop_item()
(C++), andopenmpt_module_is_order_skip_entry()
,openmpt_module_is_pattern_skip_item()
,openmpt_module_is_order_stop_entry()
,openmpt_module_is_pattern_stop_item()
(C). - [New] libopenmpt: New APIs for retrieving pattern time signature
information:
openmpt::module::get_pattern_rows_per_beat()
,openmpt::module::get_pattern_rows_per_measure()
(C++), andopenmpt_module_get_pattern_rows_per_beat()
,openmpt_module_get_pattern_rows_per_measure()
(C). - [New] libopenmpt: New APIs for retrieving the restart / loop position:
openmpt::module::get_restart_order()
,openmpt::module::get_restart_row()
(C++), andopenmpt_module_get_restart_order()
,openmpt_module_get_restart_row()
(C). -
[New] libopenmpt: New API for retrieving the playback time at a given order / row combination:
openmpt::module::get_time_at_position()
(C++), andopenmpt_module_get_time_at_position()
(C). - [Change] DOS builds now use zlib, libmpg123, libogg, and libvorbis instead of miniz, minimp3, and stb_vorbis by default.
- [Change]
Makefile CONFIG=djgpp
now setsALLOW_LGPL=1
by default. -
[Change]
build/download_externals.sh
now verifies the integrity of any downloaded files and uses curl instead of wget. - [Regression] Support for Emscripten versions older than 3.1.51 has been removed.
-
[Regression] Using
EMSCRIPTEN_PORTS=1
with Emscripten older than 3.1.54 now requires additionally specifyingANCIENT=1
. - When formatting pattern data, effect letters in the volume column are now always formatted correctly, regardless of the module format.
- IT: Various playback fixes.
- IT: When using tone portamento to another sample after the previous sample’s sustain loop has been released, the new sample should also not play its sustain loop.
- IT: When triggering an empty instrument note slot, completely ignore the pattern cell - do not reset the currently playing instrument’s envelopes, and also don’t process any effects - including global ones.
- IT: Offset with instrument number but no note should play offset effect with previous note.
- IT: Fixed various combinations of volume column and effect column portamento effects.
- IT: Implemented a quirk in command Lxx that always executes a portamento down when no tone portamento has been set up before, sometimes causing the target note to be reached immediately, or sliding the note down very subtly.
- IT: Envelope Carry should not be influenced by a previous note-off.
- XM: When a key-off is encountered before auto-vibrato reaches full depth, the depth is reset.
- S3M: Combined slides (Kxy / Lxy) are no longer run on the first tick of a row in files made with Scream Tracker.
- MOD: Groo’s “The Ultimate Beeper” now plays like in ProTracker.
- DTM: Portamentos are now also evaluated on the first tick of the row.
- MO3: If multiple sample slots shared the same Ogg Vorbis sample, only one sample slot was loaded.
- MED: Various playback fixes.
- SymMOD: Files containing more than 127 channels are no longer rejected.
- Better support for automatic slide commands (commands that keep sliding on following rows) in various formats.
-
The pattern channel limit was raised from 127 to 192 for some formats.
-
openmpt123: Multi-threaded encoding is enabled with libFLAC 1.5.0 or newer.
-
xmp-openmpt: Memory consumption during file loading has been reduced.
- zlib: v1.3.1 (2024-01-22).
- mpg123: v1.32.10 (2024-12-14).
- ogg: v1.3.5 (2021-06-04).
- vorbis: v1.3.7 (2020-07-04).
- miniz: v2.2.0 (2021-06-27).
- minimp3: fork https://github.com/manxorist/minimp3/releases/tag/openmpt-2024-08-15-v4 commit 2116754771b79347ad2f39127abace2a093c383e (2024-08-15).
- stb_vorbis: v1.22 commit 5a0bb8b1c1b1ca3f4e2485f4114c1c8ea021b781 (2021-07-12).
- pugixml: v1.15 (2025-01-10).
- flac: v1.5.0 (2025-02-11).
- portaudio: v19.7.0 (2021-04-06).
Source code download links:
- Autotools: https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-0.8.0+release.autotools.tar.gz
- Makefile / Android NDK: https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-0.8.0+release.makefile.tar.gz
- Visual Studio: https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-0.8.0+release.msvc.zip
Binary download links:
- Windows 10 21H2 / Windows 7 SP1 (openmpt123, xmp-openmpt, in_openmpt): https://lib.openmpt.org/files/libopenmpt/bin/libopenmpt-0.8.0+release.bin.windows.zip
- Windows XP SP1 (RETRO) (openmpt123, xmp-openmpt, in_openmpt): https://lib.openmpt.org/files/libopenmpt/bin/libopenmpt-0.8.0+release.bin.retro.winxp.zip
- Windows 98 + KernelEx (RETRO) (openmpt123, xmp-openmpt, in_openmpt): https://lib.openmpt.org/files/libopenmpt/bin/libopenmpt-0.8.0+release.bin.retro.win98.zip
- Windows 95 (RETRO) (openmpt123): https://lib.openmpt.org/files/libopenmpt/bin/libopenmpt-0.8.0+release.bin.retro.win95.zip
- DOS 5 (openmpt123): https://lib.openmpt.org/files/libopenmpt/bin/libopenmpt-0.8.0+release.bin.dos.zip
Development library download links:
- Windows 10 21H2 / Windows 7 SP1: https://lib.openmpt.org/files/libopenmpt/dev/libopenmpt-0.8.0+release.dev.windows.vs2022.zip
- Windows XP SP1 (RETRO): https://lib.openmpt.org/files/libopenmpt/dev/libopenmpt-0.8.0+release.dev.windows.retro.winxp.zip
- WebAssembly / Javascript: https://lib.openmpt.org/files/libopenmpt/dev/libopenmpt-0.8.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.8.0
- Current stable version.
- Receives security updates.
- Receives minor playback fixes.
- libopenmpt 0.7.13
- Old stable version.
- Receives security updates.
- Receives trivial bug fixes.
- libopenmpt 0.6.22
- Old stable version.
- Receives security updates.
- Receives trivial bug fixes.
- libopenmpt 0.5.36
- Old stable version.
- Receives security updates.
- Receives trivial bug fixes.
- libopenmpt 0.4.48
- Old stable version.
- Receives security updates.
- Receives trivial bug fixes.
- libopenmpt 0.9 (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.