- Update to 0.8.4:
* openmpt123: libsndfile float32 output was broken since 0.8.1.
* [Bug] build/download_externals.txt was missing from makefile
and msvc source archives.
* PT36: Some MODs with samples larger than 64k inside PT36
containers were not read correctly.
* IT: Files are no longer interpreted as ModPlug-made (thus
disabling all compatibility settings) just because instrument
extensions are found (no such files are currently known to
exist in the wild).
OBS-URL: https://build.opensuse.org/request/show/1323566
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libopenmpt?expand=0&rev=57
* openmpt123: libsndfile float32 output was broken since 0.8.1.
* [Bug] build/download_externals.txt was missing from makefile
and msvc source archives.
* PT36: Some MODs with samples larger than 64k inside PT36
containers were not read correctly.
* IT: Files are no longer interpreted as ModPlug-made (thus
disabling all compatibility settings) just because instrument
extensions are found (no such files are currently known to
exist in the wild).
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libopenmpt?expand=0&rev=124
* [Bug] libopenmpt is now compatible with most non-standard
builds of libmpg123 which do not by default output signed
16bit PCM.
* [Bug] openmpt123: Pausing playback using the space key did
not work since 0.8.0.
* IT: Even when the filter cutoff envelope is stopped before its
first tick is applied, the filter should still be activated.
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libopenmpt?expand=0&rev=122
- Update to 0.8.2:
* [Sec] Possible out-of-bounds sample data read in a specific
combination of reverse sample playback + offset past sample
loop. (r23711).
* [Bug] Fixed pre-C++20 undefined behaviour due to left-shifting
negative integer values.
* Since libopenmpt 0.8.0, swapping between samples on the rear
channels could introduce a click on the front channels.
* IT: Volume column slides no longer propagate their effect
memory to the regular effect column volume slides.
* FC: Allow files with a sequence size of 0 to load (fixes a
broken copy of cult.smod).
OBS-URL: https://build.opensuse.org/request/show/1294536
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libopenmpt?expand=0&rev=55
* [Sec] Possible out-of-bounds sample data read in a specific
combination of reverse sample playback + offset past sample
loop. (r23711).
* [Bug] Fixed pre-C++20 undefined behaviour due to left-shifting
negative integer values.
* Since libopenmpt 0.8.0, swapping between samples on the rear
channels could introduce a click on the front channels.
* IT: Volume column slides no longer propagate their effect
memory to the regular effect column volume slides.
* FC: Allow files with a sequence size of 0 to load (fixes a
broken copy of cult.smod).
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libopenmpt?expand=0&rev=120
- Update to 0.8.1:
* [Bug] openmpt123: Allow for converting to libsndfile formats
which list the file extension only in the subformat
(i.e. MP3 with libsndfile 1.1.0 or later).
* [Change] TCB was added to the list of supported file
extensions. ModLand and Fujiology use this extension for
TCB Tracker modules, instead of the canonical MOD extension.
* IT: Fixed various interactions between Note Cut effect and
portamentos.
* MED: When triggering a synth note with a Synth Jump command on
the same row, the initial speed command was not executed.
* S3M: Old ModPlug Tracker versions allowed the 28th character
of sample names to be used. Such sample names are now read
correctly again.
OBS-URL: https://build.opensuse.org/request/show/1285834
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libopenmpt?expand=0&rev=54
* [Bug] openmpt123: Allow for converting to libsndfile formats
which list the file extension only in the subformat
(i.e. MP3 with libsndfile 1.1.0 or later).
* [Change] TCB was added to the list of supported file
extensions. ModLand and Fujiology use this extension for
TCB Tracker modules, instead of the canonical MOD extension.
* IT: Fixed various interactions between Note Cut effect and
portamentos.
* MED: When triggering a synth note with a Synth Jump command on
the same row, the initial speed command was not executed.
* S3M: Old ModPlug Tracker versions allowed the 28th character
of sample names to be used. Such sample names are now read
correctly again.
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libopenmpt?expand=0&rev=118
- Update to 0.8.0:
* [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] libopenmpt: New APIs for determining whether order list
entries 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++),
and openmpt_module_is_order_skip_entry(),
openmpt_module_is_pattern_skip_item(),
openmpt_module_is_order_stop_entry(),
OBS-URL: https://build.opensuse.org/request/show/1284201
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libopenmpt?expand=0&rev=53
* [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] libopenmpt: New APIs for determining whether order list
entries 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++),
and openmpt_module_is_order_skip_entry(),
openmpt_module_is_pattern_skip_item(),
openmpt_module_is_order_stop_entry(),
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libopenmpt?expand=0&rev=116
- Update to 0.7.13:
* module::get_current_estimated_bpm could return infinity when
rows per beat was set to 0. A default of 4 rows per beat is now
assumed in this situation. The internal LFO plugin was also
affected in Tempo Sync mode.
* Instruments that have a MIDI channel assigned and NNA set to
“Continue” could cause NNA channel starvation.
* In non-compatible linear slide mode, the sample rate could wrap
around with portamento slides to extremely low frequencies.
This should only happen in compatible mode.
- Changes in 0.7.12:
* [Bug] Fixed various undefined behaviour found with ubsan.
* IT: Don’t report files claiming to be made with Impulse Tracker
2.08+ as IT-made if they have no edit timer.
* IT: Ignore sample data in slots that don’t have the “sample
data present” flag set, if the file vaguely looks IT-made to
avoid playing garbage caused by an Impulse Tracker bug that
should not be audible.
* S3M: Detect early Schism Tracker versions.
* MOD: When trying to detect MOD files with broken order lists,
the file size is now rounded down to an even number. This helps
identifying some malformed files (MOD files can technically not
have an odd size).
* MOD: Also enable ProTracker-compatible tremolo ramp waveform
for M!K! modules.
* MOD: In ProTracker 1/2 mode, retrigger with instrument-less
notes now keeps using the previous sample offset.
* Warn when a Startrekker AM file most likely requires an
(currently unsupported) external instrument definition file.
* DBM / IMF / MED: When merging pattern commands, allow to move
OBS-URL: https://build.opensuse.org/request/show/1253543
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libopenmpt?expand=0&rev=52
* module::get_current_estimated_bpm could return infinity when
rows per beat was set to 0. A default of 4 rows per beat is now
assumed in this situation. The internal LFO plugin was also
affected in Tempo Sync mode.
* Instruments that have a MIDI channel assigned and NNA set to
“Continue” could cause NNA channel starvation.
* In non-compatible linear slide mode, the sample rate could wrap
around with portamento slides to extremely low frequencies.
This should only happen in compatible mode.
- Changes in 0.7.12:
* [Bug] Fixed various undefined behaviour found with ubsan.
* IT: Don’t report files claiming to be made with Impulse Tracker
2.08+ as IT-made if they have no edit timer.
* IT: Ignore sample data in slots that don’t have the “sample
data present” flag set, if the file vaguely looks IT-made to
avoid playing garbage caused by an Impulse Tracker bug that
should not be audible.
* S3M: Detect early Schism Tracker versions.
* MOD: When trying to detect MOD files with broken order lists,
the file size is now rounded down to an even number. This helps
identifying some malformed files (MOD files can technically not
have an odd size).
* MOD: Also enable ProTracker-compatible tremolo ramp waveform
for M!K! modules.
* MOD: In ProTracker 1/2 mode, retrigger with instrument-less
notes now keeps using the previous sample offset.
* Warn when a Startrekker AM file most likely requires an
(currently unsupported) external instrument definition file.
* DBM / IMF / MED: When merging pattern commands, allow to move
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libopenmpt?expand=0&rev=114
- Update to 0.7.11:
* IT: Don’t import SAx High Offset command for IT 1.xx modules.
This feature was added in Impulse Tracker 2.00.
* IT: Limit Vxx parameter to V80 for files made with old Schism
Tracker versions.
* IT / S3M: Impulse Tracker 2.14 patch version information was
incorrect.
* S3M: O00 effects are no longer ignored if the tracker version
in the file header indicates Scream Tracker 3.00 / 3.01,
but the file was clearly saved with another tool (e.g. UNMO3).
* S3M: As files made with Scream Tracker 3.20 and 3.21 cannot be
told apart, both versions are now listed in the tracker
metadata.
* ULT: Try to preserve global commands if there’s e.g. both a
speed and tempo command in the same cell.
* STM: Improved tracker identification metadata.
* SymMOD: When running out of Zxx macros, try to find the closest
macro to use instead.
* SymMOD: Ignore unknown hunks instead of rejecting entire file,
as that’s what Symphonie does as well.
* OKT: Disable loop on type “B” samples if they’re used on a
mixed channel.
* OKT: The last sample slot was never loaded.
* PTM: Halve offset command strength for 16-bit samples.
OBS-URL: https://build.opensuse.org/request/show/1223492
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libopenmpt?expand=0&rev=51
* IT: Don’t import SAx High Offset command for IT 1.xx modules.
This feature was added in Impulse Tracker 2.00.
* IT: Limit Vxx parameter to V80 for files made with old Schism
Tracker versions.
* IT / S3M: Impulse Tracker 2.14 patch version information was
incorrect.
* S3M: O00 effects are no longer ignored if the tracker version
in the file header indicates Scream Tracker 3.00 / 3.01,
but the file was clearly saved with another tool (e.g. UNMO3).
* S3M: As files made with Scream Tracker 3.20 and 3.21 cannot be
told apart, both versions are now listed in the tracker
metadata.
* ULT: Try to preserve global commands if there’s e.g. both a
speed and tempo command in the same cell.
* STM: Improved tracker identification metadata.
* SymMOD: When running out of Zxx macros, try to find the closest
macro to use instead.
* SymMOD: Ignore unknown hunks instead of rejecting entire file,
as that’s what Symphonie does as well.
* OKT: Disable loop on type “B” samples if they’re used on a
mixed channel.
* OKT: The last sample slot was never loaded.
* PTM: Halve offset command strength for 16-bit samples.
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libopenmpt?expand=0&rev=112
* [Change] FST was added to the list of supported file extension.
AMP uses this extension for multichannel MODs.
* [Bug] The Android NDK build system did not enable C++20 when
available.
* Fixed inconsistency in length calculation and actual playback
length with tempo commands below 32 BPM in various formats
(MDL, MED among others).
* MED: Command 09 (set speed) was limited to 20 ticks per row
instead of 32 ticks per row.
* MED: Allow tempo parameters < 32 BPM.
* MED: Disallow free panning if hardware mixing is enabled.
* For MOD-style vibrato, a speed parameter of 0 was not treated
as effect memory. Vibrato speed is now correct for both vibrato
commands.
* MED: Fix pattern index exhaustion in modules with multiple
subsongs.
* OKT: Don't drop global commands when setting paired channel
volume, and try to write channel volume on the next row in this
situation.
* PTM: Use square root pan law, like in XM files.
* SFX: Ignore unused data at end of oneshot samples which
sometimes caused clicky noises.
* SFX: More accurate implementation of arpeggio effect.
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libopenmpt?expand=0&rev=110
- Update to 0.7.9:
* [Sec] Potential division by 0 when seeking in the module with
seek.sync_samples enabled (r21167).
* [Change] The work-around for
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115049
has been changed from forcing -O1 on GCC 14 to setting
-fno-ipa-ra on all GCC versions on non-ELF platforms.
* MOD: Allow sample swapping to work when swapping from a
non-looping, stopped sample back to a looping sample
(fixes MOD.energy).
* DBM: Import second sustain point in case the first sustain
point is not set, or if it has a lower index than the first.
* DBM: When several instruments referenced the same sample with
different properties (volume, loop points, etc.), only one set
of properties was imported (fixes DBM.Supernova).
* DBM: Prioritize effects more correctly when the same effect is
encountered in both effect columns of a cell
(fixes DBM.143_Gnoj).
* DBM: Don’t import offset effects when there’s a tone portmento
next to them.
* DBM: A few IT-specific playback quirks are disabled for more
accurate playback (e.g. in “Are You Flying With Me?” by
Jazzcat).
* DIGI: Sample play direction was reset if adjacent channel
contained a Note Cut note.
* AMF: When running out of sample slots, file reading became be
misaligned because the sample name was not skipped.
* MED: Command 0F was not imported.
* MED: Upper frequency limits should be more accurate now.
* MED: Channel panning is now only applied in MMD2 files if the
OBS-URL: https://build.opensuse.org/request/show/1188976
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libopenmpt?expand=0&rev=49
* [Sec] Potential division by 0 when seeking in the module with
seek.sync_samples enabled (r21167).
* [Change] The work-around for
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115049
has been changed from forcing -O1 on GCC 14 to setting
-fno-ipa-ra on all GCC versions on non-ELF platforms.
* MOD: Allow sample swapping to work when swapping from a
non-looping, stopped sample back to a looping sample
(fixes MOD.energy).
* DBM: Import second sustain point in case the first sustain
point is not set, or if it has a lower index than the first.
* DBM: When several instruments referenced the same sample with
different properties (volume, loop points, etc.), only one set
of properties was imported (fixes DBM.Supernova).
* DBM: Prioritize effects more correctly when the same effect is
encountered in both effect columns of a cell
(fixes DBM.143_Gnoj).
* DBM: Don’t import offset effects when there’s a tone portmento
next to them.
* DBM: A few IT-specific playback quirks are disabled for more
accurate playback (e.g. in “Are You Flying With Me?” by
Jazzcat).
* DIGI: Sample play direction was reset if adjacent channel
contained a Note Cut note.
* AMF: When running out of sample slots, file reading became be
misaligned because the sample name was not skipped.
* MED: Command 0F was not imported.
* MED: Upper frequency limits should be more accurate now.
* MED: Channel panning is now only applied in MMD2 files if the
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libopenmpt?expand=0&rev=108
- Update to 0.7.8:
* [Sec] Potential heap out-of-bounds read with malformed Dynamic
Studio DSm files.
* MED: Additional command pages can now be read.
* MED: Echo DSP is now emulated.
* AMS: Default channel panning was broken, using all-center
panning instead of MOD-style panning.
* STP: Correctly import volume slides where both nibbles are set.
* MDL: Pitch slide depth was wrong since libopenmpt 0.6.0.
* DTM: Fix pitch slide depth for samples with finetune.
* DSm: Don’t import as Amiga module (and thus allow Amig
a resampler to be enabled), as this PC format can easily
exceed the Amiga frequency range.
* DSm: Only the first 48 samples were ever read.
* STM / STX: Don’t set channel panning.
ScreamTracker 2 only outputs mono sound.
* PSM: File header probing was stricter than actual file loader,
rejecting manipulated files that would otherwise load fine.
OBS-URL: https://build.opensuse.org/request/show/1179592
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libopenmpt?expand=0&rev=48
* [Sec] Potential heap out-of-bounds read with malformed Dynamic
Studio DSm files.
* MED: Additional command pages can now be read.
* MED: Echo DSP is now emulated.
* AMS: Default channel panning was broken, using all-center
panning instead of MOD-style panning.
* STP: Correctly import volume slides where both nibbles are set.
* MDL: Pitch slide depth was wrong since libopenmpt 0.6.0.
* DTM: Fix pitch slide depth for samples with finetune.
* DSm: Don’t import as Amiga module (and thus allow Amig
a resampler to be enabled), as this PC format can easily
exceed the Amiga frequency range.
* DSm: Only the first 48 samples were ever read.
* STM / STX: Don’t set channel panning.
ScreamTracker 2 only outputs mono sound.
* PSM: File header probing was stricter than actual file loader,
rejecting manipulated files that would otherwise load fine.
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libopenmpt?expand=0&rev=106
- Update to 0.7.7:
* IT: Disable a few more compatibility flags for older
SchismTracker builds.
* IT: Halve the output volume of files saved with ChibiTracker,
as its mixer is about half as loud as ours.
* S3M: In mono mode, the ratio between sample and OPL volume was
incorrect.
* S3M: Detect files saved with PlayerPRO.
* XM: Detect files saved with PlayerPRO. Improved detection of
files saved with ModPlug Tracker.
* XM: Files with impossibly small pattern headers are now
rejected, like FastTracker 2 does.
* STK: Loosen SoundTracker file rejection heuristics a bit to
allow loading of files with malformed song titles and overly
long samples. Other heuristics has been tightened a bit.
* MOD: Change VBlank timing heuristic to always assume CIA timing
when long samples unsupported by original ProTracker) are
found.
* MOD: Disable NoiseTracker quirks if empty sample slots have a
default volume other than 0.
* MOD: 7-bit panning detection may have returned incorrect
results for MODs with a channel count other than 4.
* MED: Improve handling of default tempo, panning and channel
volume in files containing more than one song.
* MO3: Reduced maximum allowed music data (not samples) size
from 2 GiB to 512 MiB.
* XMF: Header validation is now stricter.
* MDL: Slightly more accurate import of pattern command 9
(enabling envelopes instead of setting envelope position).
* ULT: Support the highest three octaves.
OBS-URL: https://build.opensuse.org/request/show/1176837
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libopenmpt?expand=0&rev=47
* IT: Disable a few more compatibility flags for older
SchismTracker builds.
* IT: Halve the output volume of files saved with ChibiTracker,
as its mixer is about half as loud as ours.
* S3M: In mono mode, the ratio between sample and OPL volume was
incorrect.
* S3M: Detect files saved with PlayerPRO.
* XM: Detect files saved with PlayerPRO. Improved detection of
files saved with ModPlug Tracker.
* XM: Files with impossibly small pattern headers are now
rejected, like FastTracker 2 does.
* STK: Loosen SoundTracker file rejection heuristics a bit to
allow loading of files with malformed song titles and overly
long samples. Other heuristics has been tightened a bit.
* MOD: Change VBlank timing heuristic to always assume CIA timing
when long samples unsupported by original ProTracker) are
found.
* MOD: Disable NoiseTracker quirks if empty sample slots have a
default volume other than 0.
* MOD: 7-bit panning detection may have returned incorrect
results for MODs with a channel count other than 4.
* MED: Improve handling of default tempo, panning and channel
volume in files containing more than one song.
* MO3: Reduced maximum allowed music data (not samples) size
from 2 GiB to 512 MiB.
* XMF: Header validation is now stricter.
* MDL: Slightly more accurate import of pattern command 9
(enabling envelopes instead of setting envelope position).
* ULT: Support the highest three octaves.
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libopenmpt?expand=0&rev=104
- Update to 0.7.6:
* [Sec] Potential heap out-of-bounds read or write past sample
end with malformed sustain loops in SymMOD files.
* MED: Transposed samples were playing too low in some files
(e.g. mix94.mmd1).
* OKT: Some files with garbage at the end were rejected
(e.g. katharsis - piano lesson.okta).
* Compressor DMO: It was possible that the plugin would not
behave as intended at mix rates above 500 kHz.
* Avoid re-allocating the loop state map contents on every
playthrough of the module.
- Run test suite during package build
OBS-URL: https://build.opensuse.org/request/show/1163533
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libopenmpt?expand=0&rev=46
* [Sec] Potential heap out-of-bounds read or write past sample
end with malformed sustain loops in SymMOD files.
* MED: Transposed samples were playing too low in some files
(e.g. mix94.mmd1).
* OKT: Some files with garbage at the end were rejected
(e.g. katharsis - piano lesson.okta).
* Compressor DMO: It was possible that the plugin would not
behave as intended at mix rates above 500 kHz.
* Avoid re-allocating the loop state map contents on every
playthrough of the module.
- Run test suite during package build
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libopenmpt?expand=0&rev=102
- Update to 0.7.5:
* [Sec] Null-pointer write (32bit platforms) or excessive memory
allocation (64bit platforms) when reading close to 4GiB of data
from unseekable files..
* [Sec] Write buffer overflow when reading unseekable files close
to 4GiB in size.
* [Sec] Possible out-of-memory (32bit platforms) or excessive
memory allocation (64bit platforms) when reading malformed data
from unseekable files.
* [Sec] DMF: Possible null-pointer write or excessive memory
allocation when reading DMF files.
* IT: In the previous version, Zxx macros in IT files made with
older MPT versions were no longer working.
* There was a periodic click when playing a module using the
Chorus or Flanger DMO plugin at a mix rate exceeding
~136.5 kHz.
* An older bugfix for undefined behaviour in the Distortion DMO
plugin was incorrect, causing the distorted sound to be
different in some situations.
* xmp-openmpt: Metadata retrievel for playlist items was broken.
- Changes in 0.7.4:
* [Bug] Makefile: libopenmpt 0.7.3 broke running the test suite
for Emscripten builds.
* openmpt123: openmpt123 now uses a narrower layout on terminal
windows with a width of less than 72 characters.
* Setting all possible load_skip flags resulted in nothing being
loaded at all, instead of just not loading the selected module
parts.
* When playing all subsongs, set_position_seconds didn’t always
calculate the correct subsong to jump to.
OBS-URL: https://build.opensuse.org/request/show/1158797
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libopenmpt?expand=0&rev=45
* [Sec] Null-pointer write (32bit platforms) or excessive memory
allocation (64bit platforms) when reading close to 4GiB of data
from unseekable files..
* [Sec] Write buffer overflow when reading unseekable files close
to 4GiB in size.
* [Sec] Possible out-of-memory (32bit platforms) or excessive
memory allocation (64bit platforms) when reading malformed data
from unseekable files.
* [Sec] DMF: Possible null-pointer write or excessive memory
allocation when reading DMF files.
* IT: In the previous version, Zxx macros in IT files made with
older MPT versions were no longer working.
* There was a periodic click when playing a module using the
Chorus or Flanger DMO plugin at a mix rate exceeding
~136.5 kHz.
* An older bugfix for undefined behaviour in the Distortion DMO
plugin was incorrect, causing the distorted sound to be
different in some situations.
* xmp-openmpt: Metadata retrievel for playlist items was broken.
- Changes in 0.7.4:
* [Bug] Makefile: libopenmpt 0.7.3 broke running the test suite
for Emscripten builds.
* openmpt123: openmpt123 now uses a narrower layout on terminal
windows with a width of less than 72 characters.
* Setting all possible load_skip flags resulted in nothing being
loaded at all, instead of just not loading the selected module
parts.
* When playing all subsongs, set_position_seconds didn’t always
calculate the correct subsong to jump to.
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libopenmpt?expand=0&rev=100
* IT: Improved fingerprinting of early ModPlug Tracker versions.
* XMF: Modules from Astroidea demos can now be read as well.
- Changes in 0.7.0:
* [New] 667 files from Composer 667 are now supported.
* [New] GTK and GT2 files from Gramouf Tracker are now supported.
* [New] Can now read a variant of the DSMI AMF format called DMF,
as found in various DOS games distributed by Webfoot (Tronic,
H2O, PowBall, etc.).
* [New] DSM files from Dynamic Studio are now supported.
* [New] XMF files from the DOS game Imperium Galactica are now
supported.
* [New] Can now read the hacked MOD format (DMF) from the game
“Apocalypse Abyss”.
* [New] libopenmpt: New APIs for getting the current tempo as a
floating point value: openmpt::module::get_current_tempo2()
(C++), and openmpt_module_get_current_tempo2() (C).
* [New] C API: New stream callbacks for various platform
extensions to the C stdio interface:
openmpt_stream_get_file_posix_lfs64_callbacks()
in libopenmpt/libopenmpt_stream_callbacks_file_posix_lfs64.h
for explicit off64_t on Posix systems,
openmpt_stream_get_file_posix_callbacks()
in libopenmpt/libopenmpt_stream_callbacks_file_posix.h
for off_t on Posix systems,
openmpt_stream_get_file_msvcrt_callbacks()
in libopenmpt/libopenmpt_stream_callbacks_file_msvcrt.h
for 64bit file support on Windows systems with the Microsoft
C runtime, and openmpt_stream_get_file_mingw_callbacks()
in libopenmpt/libopenmpt_stream_callbacks_file_mingw.h
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libopenmpt?expand=0&rev=95
- Update to 0.6.10
* [Bug] File probing and loading results could be inconsistent
for SFX files, so that probing could claim that a file is
definitely not playable even if it would be.
* MOD: VBlank heuristics are now applied to MOD files with M!K!
signature. Fixes mod.siedler ii.
* NoiseTracker MODs are now always played with VBlank timing.
* MED: Add support for default instrument pitch.
* MED: Global play transpose value was not considered for MMD0
files.
* 669: Reject files with lots of control characters in song
message.
* mpg123: Update to v1.31.3 (2023-03-19).
OBS-URL: https://build.opensuse.org/request/show/1080182
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libopenmpt?expand=0&rev=93
- Update to 0.6.9
* [Bug] An exception could be thrown during rendering when trying
to access the release node of an empty envelope.
* The fix for the OPL cutoff bug introduced in libopenmpt 0.6.7
was incomplete.
* ULT: Offset commands exceeding 65535 samples were sometimes not
imported correctly even if there was room for them.
* After seeking with seek.sync_samples=1, the filter settings of
playing notes were not updated since libopenmpt 0.6.7.
* Loading of and seeking inside (malformed) modules with
thousands of short sub-songs has been sped up.
OBS-URL: https://build.opensuse.org/request/show/1075084
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libopenmpt?expand=0&rev=41
* [Bug] An exception could be thrown during rendering when trying
to access the release node of an empty envelope.
* The fix for the OPL cutoff bug introduced in libopenmpt 0.6.7
was incomplete.
* ULT: Offset commands exceeding 65535 samples were sometimes not
imported correctly even if there was room for them.
* After seeking with seek.sync_samples=1, the filter settings of
playing notes were not updated since libopenmpt 0.6.7.
* Loading of and seeking inside (malformed) modules with
thousands of short sub-songs has been sped up.
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libopenmpt?expand=0&rev=91
- Update to 0.6.7
* IT: In sample mode, portamento to a different sample turns off
the filter if cutoff / resonance was previously 127 / 0.
* S3M Detect files saved with Graoumf Tracker instead of claiming
they were made with OpenMPT 4.47.
* S3M: Pattern loop state was not propagated anymore since
libopenmpt 0.6.0, leading to wrong song length calculation and
SB0 + SBx being located on different channels not working
properly anymore.
OBS-URL: https://build.opensuse.org/request/show/1056956
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libopenmpt?expand=0&rev=39
* IT: In sample mode, portamento to a different sample turns off
the filter if cutoff / resonance was previously 127 / 0.
* S3M Detect files saved with Graoumf Tracker instead of claiming
they were made with OpenMPT 4.47.
* S3M: Pattern loop state was not propagated anymore since
libopenmpt 0.6.0, leading to wrong song length calculation and
SB0 + SBx being located on different channels not working
properly anymore.
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libopenmpt?expand=0&rev=87
- Update to 0.6.6
* [Sec] Possible crash when playing manipulated IT / MPTM files
with a T00 command.
* MTM: In MultiTracker, setting speed and tempo are mutually
exclusive commands. Still, some MultiTracker modules were made
to be played with external players such as DMP, so they
actually rely on “standard” speed / tempo behaviour. Decide
which behaviour to use by checking of speed and tempo commands
are found on the same row.
* MTM: Ignore sample loops if the loop end is <= 2.
* Echo DMO: Migrate left and right delay values in modules made
with OpenMPT versions between 1.27.01.00 and 1.30.05.00 to the
correct interpretation.
- Changes in 0.6.5:
* [Bug] Makefile now also uses CC, CXX, LD, and AR when set as
environment variables.
* [New] Makefile now uses PKG_CONFIG as path to pkg-config.
* DBM: Sample middle-C frequencies were slightly off.
laffik_-_marynarze.dbm sounds much more bearable now.
* DBM: Fixed pattern break parameter interpretation.
* Echo DMO: Setting the delay parameter to 0 yielded a 2-second
echo delay instead of 1ms.
* Digi Booster Echo: Setting the delay parameter to 0 yielded a
510ms echo delay instead of approximately 334ms.
OBS-URL: https://build.opensuse.org/request/show/1007099
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libopenmpt?expand=0&rev=38
* [Sec] Possible crash when playing manipulated IT / MPTM files
with a T00 command.
* MTM: In MultiTracker, setting speed and tempo are mutually
exclusive commands. Still, some MultiTracker modules were made
to be played with external players such as DMP, so they
actually rely on “standard” speed / tempo behaviour. Decide
which behaviour to use by checking of speed and tempo commands
are found on the same row.
* MTM: Ignore sample loops if the loop end is <= 2.
* Echo DMO: Migrate left and right delay values in modules made
with OpenMPT versions between 1.27.01.00 and 1.30.05.00 to the
correct interpretation.
- Changes in 0.6.5:
* [Bug] Makefile now also uses CC, CXX, LD, and AR when set as
environment variables.
* [New] Makefile now uses PKG_CONFIG as path to pkg-config.
* DBM: Sample middle-C frequencies were slightly off.
laffik_-_marynarze.dbm sounds much more bearable now.
* DBM: Fixed pattern break parameter interpretation.
* Echo DMO: Setting the delay parameter to 0 yielded a 2-second
echo delay instead of 1ms.
* Digi Booster Echo: Setting the delay parameter to 0 yielded a
510ms echo delay instead of approximately 334ms.
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libopenmpt?expand=0&rev=85
- Update to 0.6.2:
* [**Sec**] Possible out-of-bounds write in malformed IT / XM / MPTM files
using the internal LFO plugin. (r17076)
* [**Sec**] Possible out-of-bounds read when using Amiga BLEP interpolation
with extremely high-pitched notes. (r17078, r17079)
* ISO-8859-1-related charsets from Amiga OS and RISC OS are now handled more
accurately, thus avoiding some unwanted control characters.
* MO3: Pattern indices 254 / 255 were not treated as playable patterns even if
the original file was a MOD / XM.
* Correctly apply ST3-style effect memory when seeking in S3M files.
* Command S (S3M / IT style) effect memory was not applied when seeking.
* Initial channel mute status was not reported correctly in `get_channel_mute_status`
since libopenmpt 0.6.0.
- Fix build on Leap by using GCC-11 as charconv header is only included
from GCC-8 onwards
OBS-URL: https://build.opensuse.org/request/show/966790
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libopenmpt?expand=0&rev=79
- Update to 0.6.1:
* [Bug] Possible hang with malformed DMF, DSM, MED, MUS, OKT and
SymMOD files containing 65536 or more patterns when destroying
the module.
* [Bug] Avoid NaNs and infinite values with custom tunings and in
the I3DL2Reverb plugin.
* MIDI macros are now evaluated when seeking.
* The letter “z” is now evaluated in fixed MIDI macros (Z80…ZFF)
the same way as in Impulse Tracker.
* MOD: Loosened VBlank timing heuristics so that “frame of mind”
by Dascon plays correctly.
* MOD: Validate the contents of “hidden” patterns beyond the end
of the order list when the file size matches the expected size
when only taken “official” patterns into account. This fixes
Shofixti Ditty.mod from Star Control 2 while keeping other
(partly broken) modules working.
* MED: Command 20 (reverse sample) is now only applied when it’s
next to a note.
* S3M: Introducing the “Send OPL key-off when triggering notes”
compatibility setting broke retrigger for OPL notes again
(they retriggered rather than not retriggering).
* S3M: Retriggering a note no longer resets its pitch after a
portamento.
* S3M: Partially implement retrigger behaviour for stopped notes
in SoundBlaster mode: Like in IT, it is not possible to
retrigger a sample that has already stopped playing.
* DIGI: Improve compatibility with E3x reverse sample command.
* DSym: Tempos < 32 were treated as tempo slides.
* SymMOD: Key-off command was not implemented properly.
- Changes in 0.6.0:
OBS-URL: https://build.opensuse.org/request/show/950104
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libopenmpt?expand=0&rev=34
* [Bug] Possible hang with malformed DMF, DSM, MED, MUS, OKT and
SymMOD files containing 65536 or more patterns when destroying
the module.
* [Bug] Avoid NaNs and infinite values with custom tunings and in
the I3DL2Reverb plugin.
* MIDI macros are now evaluated when seeking.
* The letter “z” is now evaluated in fixed MIDI macros (Z80…ZFF)
the same way as in Impulse Tracker.
* MOD: Loosened VBlank timing heuristics so that “frame of mind”
by Dascon plays correctly.
* MOD: Validate the contents of “hidden” patterns beyond the end
of the order list when the file size matches the expected size
when only taken “official” patterns into account. This fixes
Shofixti Ditty.mod from Star Control 2 while keeping other
(partly broken) modules working.
* MED: Command 20 (reverse sample) is now only applied when it’s
next to a note.
* S3M: Introducing the “Send OPL key-off when triggering notes”
compatibility setting broke retrigger for OPL notes again
(they retriggered rather than not retriggering).
* S3M: Retriggering a note no longer resets its pitch after a
portamento.
* S3M: Partially implement retrigger behaviour for stopped notes
in SoundBlaster mode: Like in IT, it is not possible to
retrigger a sample that has already stopped playing.
* DIGI: Improve compatibility with E3x reverse sample command.
* DSym: Tempos < 32 were treated as tempo slides.
* SymMOD: Key-off command was not implemented properly.
- Changes in 0.6.0:
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libopenmpt?expand=0&rev=78
- Update to 0.5.14:
* [Sec] Possible out-of-bounds read in Chorus plugin with NaN
plugin parameters. Most implementations of the “fast math”
compiler optimizations will prevent this crash but it is not
guaranteed. (r16096)
* [Bug] Fixed undefined behaviour with custom tunings found with
ubsan.
* OPL: Improved channel allocation strategy when there are lots
of faded-out notes.
* MOD: Digital Tracker MODs have four unknown bytes right after
the magic bytes which seem to be ignored even by Digital
Tracker itself. Just skip over them.
* The logic when to turn off the resonant filter was broken in
some edge cases since libopenmpt 0.5.1.
* IMF: Implemented XE1-XE3 commands, which disable individual
envelopes. Command Nxy (cutoff slide + resonance) is now also
partially supported (only resonance for now).
* IMF: Filter envelopes were upside down.
* MTM: Omitting pattern loading through the load.skip_patterns
ctl caused sample data to be corrupted.
* S3M: Ignore O00 commands in files created with Scream Tracker
3.00 and 3.01, as this command only gained effect memory in
version 3.03.
* STM: Use S3M-like sample swap behaviour.
* XM: Disable arpeggio quirk for XMs made with Skale Tracker.
Fixes KAPTENFL.XM.
OBS-URL: https://build.opensuse.org/request/show/942189
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libopenmpt?expand=0&rev=33