0c13a4e633
ChangeLog: ### libopenmpt 0.5.0 (2020-05-24) * [**New**] OggMod compressed FastTracker 2 XM (OXM) modules are now supported. * [**New**] The emulated Amiga type when Amiga resampler emulation is enabled can now be selected via ctl `render.resampler.emulate_amiga_type`. Possible values are: `"auto"`, `"a500"`, `"a1200"`, and an experimental option `"unfiltered"`. * [**New**] libopenmpt: New API `openmpt::module::get_current_estimated_bpm()` (C++), and `openmpt_module_get_current_estimated_bpm()` (C) which provides accurate beats per minute information for module formats with time signature and an educated guess based on speed and tempo for others. * [**New**] libopenmpt: New type-aware ctl APIs that do not require memory allocations and are thus realtime-safe: `openmpt::module::ctl_get_boolean()`, `openmpt::module::ctl_get_integer()`, `openmpt::module::ctl_get_floatingpoint()`, `openmpt::module::ctl_get_text()`, `openmpt::module::ctl_set_boolean()`, `openmpt::module::ctl_set_integer()`, `openmpt::module::ctl_set_floatingpoint()` (C++), and `openmpt_module_ctl_get_boolean()`, `openmpt_module_ctl_get_integer()`, `openmpt_module_ctl_get_floatingpoint()`, `openmpt_module_ctl_get_text()`, `openmpt_module_ctl_set_boolean()`, `openmpt_module_ctl_set_integer()`, `openmpt_module_ctl_set_floatingpoint()` (C). * [**New**] libopenmpt C++ New API `openmpt::is_extension_supported2()` which takes a `std::string_view` parameter instead of `std::string`. * [**New**] libopenmpt C++: New API `openmpt::module::module(std::vector<std::byte> data)`, `openmpt::module::module(const std::byte * data, std::size_t size)`, `openmpt::module::module(const std::byte * beg, const std::byte * end)`. * [**New**] libopenmpt C++: New API `openmpt::probe_file_header(flags, const std::byte * data, std::size_t size, filesize)`, `openmpt::probe_file_header(flags, const std::byte * data, std::size_t size)`. * [**New**] libopenmpt_ext C++: New API `openmpt::module_ext::module_ext(std::vector<std::byte> data)`, `openmpt::module_ext::module_ext(const std::byte * data, std::size_t size)`, `openmpt::module_ext::module_ext(std::vector<std::uint8_t> data)`, `openmpt::module_ext::module_ext(const std::uint8_t * data, std::size_t size)`. * [**Change**] std::istream based file I/O has been speed up. * [**Change**] Dependency on iconv on Linux has been removed. * [**Regression**] libmodplug: The libmodplug emulation layer has been removed from the libopenmpt tree. Please use the separate `libopenmpt-modplug` package instead. * [**Regression**] foo_openmpt: foo_openmpt is discontinued. Please use Kode54's fork foo_openmpt54: <https://www.foobar2000.org/components/view/foo_openmpt54>. * [**Regression**] Support for building with C++11 or C++14 has been removed. C++17 is now required to build libopenmpt. * [**Regression**] Support for client code using C++11 or C++ 14 has been removed. C++17 is now required to build libopenmpt client applications. * [**Regression**] Support for Visual Studio 2015 has been removed. * [**Regression**] Support for GCC 4.8, 4.9, 5, 6 has been removed. * [**Regression**] Support for Clang 3.6, 3.7, 3.8, 3.9, 4 has been removed. * [**Regression**] Support for Emscripten versions older than 1.39.1 has been removed. * [**Regression**] Building with Android NDK older than NDK r18b is not supported any more. * [**Regression**] openmpt123: Support for SDL1 (but not SDL2) output has been removed. * [**Regression**] openmpt123: Support for SDL2 older than 2.0.4 has been removed. * [**Regression**] Windows XP and Windows Vista are no longer supported. * [**Regression**] It is no longer possible to optionally use iconv for character set conversions. * [**Bug**] openmpt123: openmpt123 now honors the current locale and outputs text appropriately. * [**Bug**] openmpt123: Piping text output to other than console window targets on Windows has been fixed. * Greatly improved MED import. Synthesized instruments are still not supported but support was added for: Multisampled instruments, delta samples, more pattern commands, Hold and Decay, VSTi and MIDI output, multiple songs and many other small changes. * Improved OPL channel allocation when more than 18 notes are active, so that channels that have completely faded out are prioritized over channels that have already been released but have not faded out yet. * Interactively triggering an OPL instrument could cause the first pattern channel to no longer be played back correctly. * Fix some inaccuracies in OPL emulator. * Fix overflow of OPL amplification happening at a synth volume level of 510. * End-of-sample pop reduction of surround channels was applied to front channels instead, causing a pop on the front channels instead of removing it on the back channels. * IT: Disable retrigger with short notes quirk for modules saved with Chibi Tracker, as it does not implement that quirk. * IT: Instrument and sample panning should not override channel panning for following notes. * IT: SBx is now prioritized over Bxx commands that are to the left of it. * IT: Duplicate Check Type "Sample" should only be applied if the instruments match, too. * IT: Duplicate Check Type "Note" should compare pattern notes, but it was comparing the new pattern note against the old translated note. * IT: Various fixes for envelope resetting. * IT / S3M: When combining SBx and EEx effects, don't skip the first row of the loop like in FastTracker 2. * S3M: Empty pattern commands now affect effect memory as well. * S3M: Offset beyond loop end wraps around to loop start like in Scream Tracker 3 + GUS (previously it just keep playing from the loop start, which is neither what GUS nor Sound Blaster drivers do). * S3M: Notes cannot be retriggered after they have been cut. * S3M: Fix portamento after note cut (fixes antediluvian_song.s3m). * S3M / MOD: Previous note offset is no longer used for retriggered notes if there was no instrument number next to the Qxy effect. * MOD: Sample swapping now also works if the sample that is being swapped from does not loop. Swapping to a non-looped sample now stops playback once the swapped-from sample reaches its (loop) end. * MOD: Fix early song ending due to ProTracker pattern jump quirk (EEx + Dxx on same row) if infinite looping is disabled. Fixes Haunted Tracks.mod by Triace. * MOD: Previous note offset is no longer used for retriggered notes if there was no instrument number next to the E9x effect. * MOD: Vibrato type "ramp down" was upside down. * XM: If a file contains patterns longer than 1024 rows, they are now clamped to 1024 rows instead of 64 rows. * XM: Do not reset note-off status on portamento if there is no instrument number. |
||
---|---|---|
.. | ||
DESCR | ||
distinfo | ||
Makefile | ||
options.mk | ||
PLIST |