Subject: CVS commit: pkgsrc/audio/libopenmpt
From: Frederic Cambus
Date: 2020-05-25 12:29:31
Message id: 20200525102931.CF7F2FB27@cvs.NetBSD.org

Log Message:
libopenmpt: update to 0.5.0.

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.

Files:
RevisionActionfile
1.35modifypkgsrc/audio/libopenmpt/Makefile
1.27modifypkgsrc/audio/libopenmpt/distinfo