* Sun Mar 16 2025 mia@0x0.st
- 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
offset to volume column at the expense of a lower offset
resolution.
* MED: Fix correct octave transposition in some MED files that
have hardware mixing disabled but sample transpose enabled.
* MED: Don’t enable Amiga resampler if any stereo samples are
found, as it does not support stereo samples.
* MED: Fix tempo in some files using software mixing mode and
legacy tempo values.
* MED: Avoid importing effect memory for some commands.
* MED: Retrigger with instrument-less note now keeps using the
previous sample offset.
* MED: Disable sample swapping on notes with portamento, and
don’t resume stopped notes with portamento.
* MED: Only use 7-bit volume commands in MMD3 files made with a
new enough version of MED Soundstudio.
* STM: Do not sanitize sample loop data. Scream Tracker 2 reads
into the next sample’s data when loops exceed the sample
length.
* When evaluating MIDI macros containing letters “u” or “v”
during seeking, the initial global volume was applied to them,
rather than the global volume that would be reached at that
pattern position.
* Tue Nov 12 2024 mia@0x0.st
- 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.
* Fri Sep 27 2024 antonio.teixeira@suse.com
- Update to 0.7.10:
* [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.
* Mon Jul 22 2024 mia@0x0.st
- 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
free pan flag is set.
* MED: Volume command resolution was incorrect for pre-MMD3
files.
* XM: oggmod does not support stereo samples but keeps the stereo
flag when encoding such samples. Such samples are now imported
as mono samples instead of not importing them at all.
* XM: For files saved with registered MadTracker 2 versions,
do not put binary garbage (the user ID) in the tracker metadata
field. It is replaced with “registered” instead.
* For some truncated files, the used tracker was not identified
correctly.
* S3M: Identify files saved with early Impulse Tracker versions,
Sound Club 2, Liquid Tracker, NESMusa, UNMO3, deMODifier,
Kosmic To-S3M, and better tell old ModPlug Tracker versions
apart.
* S3M: When skipping sample loading, some tracker identifications
were not working as intended.
* IT: Identify files saved with itwriter.
* DTM: Identify files saved with Digital Tracker 2.3.
* xmp-openmpt: If there is only one subsong, set the song title
to the “global” song title instead of the name of that subsong.
* xmp-openmpt: Sample and instrument names were not sanitized,
sometimes showing on multiple rows.
* Sun Jun 09 2024 mia@0x0.st
- 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.
* Sat May 25 2024 mia@0x0.st
- 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.
* OPL emulation could produce clicks when using a mix rate higher
than 65536 Hz.
* Fri Mar 29 2024 mia@0x0.st
- 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
* Sun Mar 17 2024 mia@0x0.st
- 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.
* IT: A few more compatibility flags are now disabled for modules
saved with earlier Schism Tracker versions.
* IT: MIDI macros were reset in IT 2.14 / 2.15 files that
declared to be compatible with older IT versions
(fixes spx-visionsofthepast.it).
* OKT: Work around missing negative arpeggio implementation by
transposing the notes up an octave.
* OKT: Channel volume commands were sometimes lost over less
important effects.
* IMF: Ignore magic bytes in sample header. “Leaving All Behind”
by Karsten Koch uses unexpected magic bytes, Orpheus ignores
them just like the instrument header magic bytes.
* Tue Nov 07 2023 mia@0x0.st
- Update to 0.7.3:
* Fix: set_pitch_factor no longer affected OPL instruments since
version 0.6.0.
* Thu Jun 29 2023 danilo.spinella@suse.com
- Update to 0.7.2:
* [New] MOD: Can now read modified 8-channel MOD files from the DOS game Aleshar - The World Of Ice.
* [Sec] Possible out-of-bounds read or write when reading malformed MED files. (r19389)
* [Bug] The Opal OPL3 emulator symbols were not namespaced properly.
Version: 0.3.28-150000.2.15.1
* Sat Mar 20 2021 mia@0x0.st
- Update to 0.3.28:
* Fixed excessive memory consumption with malformed files in
various formats.
- Changes in 0.3.27:
* AMS: Avoid allocating excessive amount of memory for compressed
song message in malformed files.
* S3M: Some samples were imported with a too high sample rate if
module was saved with Scream Tracker 3.
- Changes in 0.3.26:
* DMF: Improve import of finetune effect with parameters larger
than +/-15.
- Changes in 0.3.25:
* AMS: An upper bound for uncompressed sample size is now
established to avoid memory exhaustion from malformed files.
* MO3: Avoid certain ModPlug hacks from being fixed up twice,
which could lead to e.g. very narrow pan swing range for old
OpenMPT IT files saved with a recent MO3 encoder version.
* IMF: Instrument sample mapping was off by one octave, notable
in the guitar part of Astaris by Karsten Koch.
* PLM: Percentage offset (Mxx) was slightly off.
- Changes in 0.3.24:
* PP20: The first few bytes of some files were not decompressed
properly, making some files unplayable (depending on the
original format).
- Changes in 0.3.23:
* IT: Global volume slides with both nibbles set preferred the
“slide up” nibble over the “slide down” nibble in old OpenMPT
versions, unlike other slides. Such old files are now imported
correctly again.
* IT: Fixed an edge case where, if the filter hit full cutoff /
no resonance on the first tick of a row where a new delayed
note would be triggered, the filter would be disabled even
though it should stay active. Fixes trace.it by maddie.
* XM: Out-of-range arpeggio clamping behaviour broke in OpenMPT
1.23.05.00. The arpeggios in Binary World by Dakota now play
correctly again.
* S3M: Support old-style sample pre-amp value in very early
S3M files.
* S3M: Only force-enable fast slides for files ST 3.00.
Previously, any S3M file made with an ST3 version older than
3.20 enabled them.
* M15: Improve tracker detection heuristics to never assume
SoundTracker 2.0 if there is a huge number of Dxx commands,
as that is a definite hint that they should be treated as
volume slides. Fixes Monty On The Run by Master Blaster.
- Changes in 0.3.22:
* IT: Disable retrigger with short notes quirk for modules saved
with Chibi Tracker, as it does not implement that quirk.
* 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: Vibrato type “ramp down” was upside down.
- Changes in 0.3.21:
* 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.
* Mon Oct 07 2019 tchvatal@suse.com
- Update to 0.3.19 bsc#1153102 CVE-2019-17113:
* Update to latest release to get security fixes
* Wed Aug 14 2019 tchvatal@suse.com
- Update to 0.3.17:
* Update to latest release to get all the security fixes:
+ bsc#1143581 CVE-2018-20860
+ bsc#1143578 CVE-2018-20861
+ bsc#1143582 CVE-2019-14382
+ bsc#1143584 CVE-2019-14383
* Mon May 28 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 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 2018 tchvatal@suse.com
- Version update to 0.3.7:
* Various speedup improvements and features all around
* Fuzzying fixes
* Fri Jul 14 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 2017 zaitor@opensuse.org
- Add libopenmpt0 and libopenmpt_modplug1 to baselibs.conf too.
* Wed Jun 14 2017 olaf@aepfle.de
- baselibs.conf for libmodplug.so.1
* Mon May 22 2017 tchvatal@suse.com
- Add patch fixing issue bsc#1040149 wrong includedir propagation:
* libmodpulg-pcfile.patch
* Mon May 22 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 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 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 2017 tchvatal@suse.com
- Initial package containing libopenmod more updated secure alternative
bsc#1022032