File libopenmpt.changes of Package libopenmpt
-------------------------------------------------------------------
Sun Jun 7 08:12:02 UTC 2020 - Dave Plater <davejplater@gmail.com>
- Remove devel packages requirement on obsolete modplug
-------------------------------------------------------------------
Sun May 24 18:39:14 UTC 2020 - Mia Herkt <mia@0x0.st>
- Drop libmodpulg-pcfile.patch
- Update to 0.5.0:
* [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] 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 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] 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] 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.
* 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.
-------------------------------------------------------------------
Mon Apr 13 21:59:44 UTC 2020 - Mia Herkt <mia@0x0.st>
- Update to 0.4.12:
* IT: Vibrato was too fast in Old Effects mode since
libopenmpt 0.3.
* XM: Treat 8bitbubsy’s FT2 clone exactly like Fasttracker 2 with
respect to compatibility and playback flags. For example,
FT2 Pan Law was not applied.
* DMF: Some files had a wrong tempo since
libopenmpt 0.2.5705-beta15.
-------------------------------------------------------------------
Thu Jan 30 16:04:28 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
- Update to 0.4.11:
* The “date” metadata could contain a bogus date for some older IT files.
* Do not apply global volume ramping from initial global volume when seeking.
* MTM: Sample loop length was off by one.
* PSM: Sample loop length was off by one in most files.
* MOD: Fix initial instrument change with no note playing.
-------------------------------------------------------------------
Thu Oct 3 00:56:00 UTC 2019 - Martin Herkt <9+suse@cirno.systems>
- Update to version 0.4.9 bsc#1153102 CVE-2019-17113
* [Sec] libmodplug: C API: Limit the length of strings copied to
the output buffer of ModPlug_InstrumentName() and
ModPlug_SampleName() to 32 bytes (including terminating null)
as is done by original libmodplug. This avoids potential buffer
overflows in software relying on this limit instead of querying
the required buffer size beforehand. libopenmpt can return
strings longer than 32 bytes here beacuse the internal limit of
32 bytes applies to strings encoded in arbitrary character
encodings but the API returns them converted to UTF-8, which
can be longer. (reported by Antonio Morales Maldonado of Semmle
Security Research Team) (r12129)
* [Sec] libmodplug: C++ API: Do not return 0 in
CSoundFile::GetSampleName() and CSoundFile::GetInstrumentName()
when a null output pointer is provided. This behaviour differed
from libmodplug and made it impossible to determine the
required buffer size. (r12130)
-------------------------------------------------------------------
Tue Oct 1 00:21:48 UTC 2019 - Martin Herkt <9+suse@cirno.systems>
- Update to version 0.4.8:
* [Sec] Possible crash due to out-of-bounds read when playing an
OPL note with active filter in S3M or MPTM files (r12118).
- Update to version 0.4.7:
* J2B: Ignore notes with non-existing instrument
(fixes Ending.j2b)
-------------------------------------------------------------------
Sun Aug 11 02:01:11 UTC 2019 - Martin Herkt <9+suse@cirno.systems>
- Update to version 0.4.6:
* Detect IT files unpacked with early UNMO3 versions.
-------------------------------------------------------------------
Mon May 27 10:30:08 UTC 2019 - Martin Herkt <9+suse@cirno.systems>
- Update to version 0.4.5:
* [Sec] Possible crash during playback due out-of-bounds read in
XM and MT2 files
* Breaking out of a sustain loop through Note-Off sometimes
didn’t continue in the regular sample loop
* Seeking did not stop notes playing with XM Key Off (Kxx) effect
-------------------------------------------------------------------
Sun Apr 7 15:29:38 UTC 2019 - Martin Herkt <9+suse@cirno.systems>
- Update to version 0.4.4:
* [Bug] Channel VU meters were swapped.
* Startrekker: Clamp speed to 31 ticks per row.
* MTM: Ignore unused Exy commands on import.
Command E5x (Set Finetune) is now applied correctly.
* MOD: Sample swapping was always enabled since it has been
separated from the ProTracker 1/2 compatibility flag. Now it is
always enabled for Amiga-style modules and otherwise the old
heuristic is used again.
-------------------------------------------------------------------
Mon Feb 11 11:05:01 UTC 2019 - Martin Herkt <9+suse@cirno.systems>
- Update to version 0.4.3:
* [Sec] Possible crash due to null-pointer access when doing a
portamento from an OPL instrument to an empty instrument note
map slot.
* IT: Various fixes for note-off + instrument number in
Old Effects mode.
* MO3: Import IT row highlights as written by MO3 2.4.1.2 or
newer. Required for modules using modern tempo mode.
-------------------------------------------------------------------
Tue Jan 22 18:17:07 UTC 2019 - Martin Herkt <9+suse@cirno.systems>
- Update to version 0.4.2 bsc#1143582 CVE-2019-14382 bsc#1143584
CVE-2019-14383:
* [Sec] DSM: Assertion failure during file parsing with debug
STLs.
* [Sec] J2B: Assertion failure during file parsing with debug
STLs.
* S3M: Allow volume change of OPL instruments after Note Cut.
-------------------------------------------------------------------
Sun Jan 6 19:08:40 UTC 2019 - Martin Herkt <9+suse@cirno.systems>
- Update to version 0.4.1:
* [Bug] libmodplug: Public symbols of the C++ API had
visibility=hidden set on non-MSVC systems, which made them not
publicly accessible.
* MO3: Apply playback changes based on “ModPlug-made” header flag
- Drop libmodplug-no-exported-cpp-api-quickfix-v1.patch
-------------------------------------------------------------------
Tue Jan 1 10:36:58 UTC 2019 - antoine.belvire@opensuse.org
- Add libmodplug-no-exported-cpp-api-quickfix-v1.patch: Add missing
CSoundFile compat API (bug #1180).
-------------------------------------------------------------------
Sun Dec 23 16:35:59 UTC 2018 - Martin Herkt <9+suse@cirno.systems>
- Update to version 0.4.0 bsc#1143581 CVE-2018-20860:
* [New] libopenmpt now includes emulation of the OPL chip and
thus plays OPL instruments in S3M, C67 and MPTM files.
OPL chip emulation volume can be changed with the new ctl
render.opl.volume_factor.
* [New] libopenmpt now supports CDFM / Composer 670 module files.
* [New] libopenmpt: New ctl play.at_end can be used to change
what happens when the song end is reached:
- “fadeout”: Fades the module out for a short while.
Subsequent reads after the fadeout will return 0 rendered
frames. This is the default and identical to the behaviour
in previous libopenmpt versions.
- “continue”: Returns 0 rendered frames when the song end is
reached. Subsequent reads will continue playing from the song
start or loop start. This can be used for custom loop logic,
such as loop auto-detection and longer fadeouts.
- “stop”: Returns 0 rendered frames when the song end is
reached. Subsequent reads will return 0 rendered frames.
* [New] Add new metadata fields "originaltype" and
"originaltype_long" which allow more clearly reflecting what
is going on with converted formats like MO3 and GDM.
* [Change] openmpt123: openmpt123 now rejects --output-type in
--ui and --batch modes and also rejects --output in --render
mode. These combinations of options really made no sense and
were rather confusing.
* [Regression] Support for libmpg123 older than 1.14.0 has been
removed.
* [Regression] libmodplug: Support for emulating libmodplug
0.8.7 API/ABI has been removed.
* [Bug] xmp-openmpt: Sample rate and number of output channels
were not applied correctly when using per-file settings.
* [Bug] Internal mixer state was not initialized properly when
initially rendering in 44100kHz stereo format.
* [Bug] openmpt123: Prevent libsdl2 and libsdl from being enabled
at the same time because they conflict with each other.
* [Bug] libmodplug: Setting SNDMIX_NORESAMPLING in the C++ API
always resulted in linear interpolation instead of nearest
neighbour
* IT: In Compatible Gxx mode, allow sample changes next to a tone
portamento effect if a previous sample has already stopped
playing.
* IT: Fix broken volume envelopes with negative values as found
in breakdwn.it by Elysis.
* MOD: Slides and delayed notes are executed on every repetition
of a row with row delay (fixes “ode to protracker”).
* XM: If the sustain point of the panning envelope is reached
before key-off, it is never released.
* XM: Do not default recall volume / panning for delayed
instrument-less notes
* XM :E60 loop bug was not considered in song length calucation.
* S3M: Notes without instrument number use previous note’s sample
offset.
* Tighten M15 and MOD file rejection heuristics.
* J2B: Ignore frequency limits from file header.
Fixes Medivo.j2b, broken since libopenmpt-0.2.6401-beta17.
* STM: More accurate tempo calculation.
* STM: Better support for early format revisions (no such files
have been found in the wild, though).
* STM: Last character of sample name was missing.
* SFX: Work around bad conversions of the “Operation Stealth”
soundtrack by turning pattern breaks into note stops.
* IMF: Filter cutoff was upside down and the cutoff range was
too small.
* ParamEq plugin center frequency was not limited correctly.
* Keep track of active SFx macro during seeking.
* The “note cut” duplicate note action did not volume-ramp the
previously playing sample.
* A song starting with non-existing patterns could not be played.
* DSM: Support restart position and 16-bit samples.
* DTM: Import global volume.
* MOD: Support notes in octave 2, like in FastTracker 2
(fixes DOPE.MOD).
* Do not apply Amiga playback heuristics to MOD files that have
clearly been written with a PC tracker.
* MPTM: More logical release node behaviour.
* Subsong search is now less thorough. It could previously find
many subsongs that are technically correct (unplayed rows at
the beginning of patterns that have been jumped over due to
pattern breaks), but so far no real-world module that would
require such a thorough subsong detection was found. The old
mechanism caused way more false positives than intended with
real-world modules, though.
* Restrict the unpacked size of compressed DMF, IT, MDL and MO3
samples to avoid huge allocations with malformed small files.
-------------------------------------------------------------------
Mon Oct 22 20:27:59 UTC 2018 - Martin Herkt <9+suse@cirno.systems>
- Update to version 0.3.13:
* [Sec] Crash with malformed MED files.
* Transposed samples in AMF ASYLUM modules were not played
correctly.
* Notes triggered by libopenmpt_ext play_note could be played
with a panbrello effect if the same virtual channel was
previously used with panbrello.
* Clicks when stopping channels that didn’t end at zero volume.
* XM: Do not import non-standard commands N and M as channel
volume commands.
-------------------------------------------------------------------
Mon Sep 24 20:13:26 UTC 2018 - 9+suse@cirno.systems
- Update to version 0.3.12:
* [Bug] libmodplug: Setting SNDMIX_NORESAMPLING in the C++ API
always resulted in linear interpolation instead of nearest
neighbour.
* libopenmpt now compiles without warnings with GCC 8.
* Jump commands on the same row as the end of a pattern loop
covering the restart position of the module could cause the
module to loop even when looping was disabled.
* MO3: Reject overly long MP3 and Vorbis samples.
* play_note from the libopenmpt_ext interface sometimes silenced
the start of a triggered sample.
-------------------------------------------------------------------
Sat Jul 28 13:36:32 UTC 2018 - 9+suse@cirno.systems
- Update to version 0.3.11 bsc#1143578 CVE-2018-20861:
* [Sec] Crash with some malformed custom tunings in MPTM files
* Channels whose volume envelope was playing at volume 0 while
being moved to a NNA background channel were cut off completely
since libopenmpt 0.3.8.
* AMF (ASYLUM): Convert 7-bit panning to 8-bit panning for
playback
- Update to version 0.3.10:
* [Bug] Internal mixer state was not initialized properly when
initially rendering in 44100kHz stereo format.
* [Bug] AMF: Undefined behaviour in loader code could lead to
files playing silent.
* Switching between instruments with portamento did not update
the NNA settings for the new instrument.
* FAR: Properly import volume commands.
* [Sec] Possible write near address 0 in out-of-memory situations
when reading AMS files.
* [Bug] openmpt123: Fixed build failure in C++17 due to use of
removed feature std::random_shuffle.
* STM: Having both Bxx and Cxx commands in a pattern imported the
Bxx command incorrectly.
* STM: Last character of sample name was missing.
* Speed up reading of truncated ULT files.
* ULT: Portamento import was sometimes broken.
* The resonant filter was sometimes unstable when combining
low-volume samples, low cutoff and high mixing rates.
-------------------------------------------------------------------
Mon May 28 10:36:46 UTC 2018 - tchvatal@suse.com
- Up to 0.3.9:
* [Sec] Possible write near address 0 in out-of-memory situations
when reading AMS files (bsc#1095644 CVE-2018-11710)
* [Bug] openmpt123: Fixed build failure in C++17 due to use of
removed feature std::random_shuffle.
* STM: Having both Bxx and Cxx commands in a pattern imported
the Bxx command incorrectly.
* STM: Last character of sample name was missing.
* Speed up reading of truncated ULT files.
* ULT: Portamento import was sometimes broken.
* The resonant filter was sometimes unstable when combining
low-volume samples, low cutoff and high mixing rates.
-------------------------------------------------------------------
Thu Apr 19 02:40:17 UTC 2018 - 9+suse@cirno.systems
- Update to 0.3.8
* [Sec] Possible out-of-bounds memory read with IT / ITP / MO3
files containing pattern loops (CVE-2018-10017, bsc#1089080)
* Keep track of active SFx macro during seeking.
* The "note cut" duplicate note action did not volume-ramp the
previously playing sample.
* A song starting with non-existing patterns could not be played.
* DSM: Support restart position and 16-bit samples.
* DTM: Import global volume.
-------------------------------------------------------------------
Wed Mar 21 08:15:40 UTC 2018 - tchvatal@suse.com
- Version update to 0.3.7:
* Various speedup improvements and features all around
* Fuzzying fixes
-------------------------------------------------------------------
Fri Jul 14 07:57:29 UTC 2017 - tchvatal@suse.com
- Version update to 0.2.8461-beta26 bsc#1048666 CVE-2017-11311:
* various small fixes and seciruity tweaks
-------------------------------------------------------------------
Mon Jun 19 19:32:54 UTC 2017 - zaitor@opensuse.org
- Add libopenmpt0 and libopenmpt_modplug1 to baselibs.conf too.
-------------------------------------------------------------------
Wed Jun 14 06:42:37 UTC 2017 - olaf@aepfle.de
- baselibs.conf for libmodplug.so.1
-------------------------------------------------------------------
Mon May 22 12:38:24 UTC 2017 - tchvatal@suse.com
- Add patch fixing issue bsc#1040149 wrong includedir propagation:
* libmodpulg-pcfile.patch
-------------------------------------------------------------------
Mon May 22 12:32:32 UTC 2017 - tchvatal@suse.com
- Version update to 0.2.8043-beta23
* foo_openmpt: Interpolation filter and volume ramping settings were
confused in previous versions. This version resets both to the defaults.
- Make mpg123 on by default
-------------------------------------------------------------------
Mon Mar 27 13:56:01 UTC 2017 - tchvatal@suse.com
- Update to 0.2.7774-beta22
- Make mpg123 conditional and disabled for now by default
- Fix the Factory build with the new rpm
-------------------------------------------------------------------
Sun Feb 19 22:51:03 UTC 2017 - jengelh@inai.de
- Update summaries and descriptions.
- Enable the SDL2 driver as an option, as the portaudio driver
appears to hang with ALSA (and not everyone runs Pulseaudio).
-------------------------------------------------------------------
Sun Feb 19 14:21:50 UTC 2017 - tchvatal@suse.com
- Initial package containing libopenmod more updated secure alternative
bsc#1022032