Log message:
libopenmpt: update to 0.6.0.
### 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**] TakeTracker MODs with `TDZ1` to `TDZ3` 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` 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 on 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.
* 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).
|