Commit Graph

  • 20f7d58c9b Accepting request 1323566 from multimedia:libs factory Dominique Leuenberger 2025-12-20 20:45:01 +00:00
  • f682f83708 - 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). Mia Herkt 2025-12-18 19:48:17 +00:00
  • ee7645c3c2 Accepting request 1304594 from multimedia:libs Ana Guerrero 2025-09-15 17:50:21 +00:00
  • d7807c7340 - Update to 0.8.3: * [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. Mia Herkt 2025-09-14 00:19:09 +00:00
  • 40f7d02632 Accepting request 1294536 from multimedia:libs Ana Guerrero 2025-07-22 10:53:54 +00:00
  • 620bdb1744 - 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). Mia Herkt 2025-07-19 20:49:33 +00:00
  • 050bc96c31 Accepting request 1285834 from multimedia:libs Ana Guerrero 2025-06-17 16:20:08 +00:00
  • 24cdf8cadf - 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. Mia Herkt 2025-06-14 20:28:44 +00:00
  • f75a4aa465 Accepting request 1284201 from multimedia:libs Ana Guerrero 2025-06-11 14:19:59 +00:00
  • 25620bc067 - 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(), Mia Herkt 2025-06-09 13:54:24 +00:00
  • cabd4f594d Accepting request 1253543 from multimedia:libs slfo-main slfo-1.2 Ana Guerrero 2025-03-18 16:39:58 +00:00
  • 0ce0ffb294 - 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 Mia Herkt 2025-03-16 18:23:19 +00:00
  • 2929051597 Accepting request 1223492 from multimedia:libs Ana Guerrero 2024-11-13 14:27:01 +00:00
  • 8e36328a65 - 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. Mia Herkt 2024-11-12 02:53:01 +00:00
  • 5ba59fe7e0 Accepting request 1204356 from multimedia:libs Ana Guerrero 2024-09-29 16:09:51 +00:00
  • 6a87774b5e - 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. Mia Herkt 2024-09-28 14:17:52 +00:00
  • bc9b8c5051 Accepting request 1188976 from multimedia:libs Dominique Leuenberger 2024-07-24 13:32:55 +00:00
  • 15d131c3ad - 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 Mia Herkt 2024-07-22 09:40:24 +00:00
  • 7b7e1450d2 Accepting request 1179592 from multimedia:libs Ana Guerrero 2024-06-10 15:36:58 +00:00
  • f71e813532 - 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. Mia Herkt 2024-06-09 22:01:56 +00:00
  • 811f6562b7 Accepting request 1176837 from multimedia:libs Ana Guerrero 2024-05-28 15:27:39 +00:00
  • 4781283033 - 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. Mia Herkt 2024-05-25 12:09:25 +00:00
  • 3e36700188 Accepting request 1163533 from multimedia:libs Ana Guerrero 2024-04-02 14:37:35 +00:00
  • ab074b6190 - 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 Mia Herkt 2024-03-29 12:45:27 +00:00
  • cd63c4c2ea Accepting request 1158797 from multimedia:libs Ana Guerrero 2024-03-18 15:43:34 +00:00
  • e5d96ba1e0 - 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. Mia Herkt 2024-03-17 17:47:55 +00:00
  • e3369dfa78 Accepting request 1123699 from multimedia:libs Ana Guerrero 2023-11-07 20:25:11 +00:00
  • 3cb0ef32f5 - Update to 0.7.3: * Fix: set_pitch_factor no longer affected OPL instruments since version 0.6.0. Mia Herkt 2023-11-07 00:50:44 +00:00
  • 9235091cc4 Accepting request 1095930 from multimedia:libs Dominique Leuenberger 2023-06-30 17:57:59 +00:00
  • d449b194ed Accepting request 1095929 from home:dspinella:branches:multimedia:libs Danilo Spinella 2023-06-29 09:06:12 +00:00
  • c5d2994a5a - Update to 0.7.1 * 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 Mia Herkt 2023-05-08 08:48:27 +00:00
  • e51d4283b4 Accepting request 1080266 from multimedia:libs Dominique Leuenberger 2023-04-20 13:13:41 +00:00
  • 34d154879a Accepting request 1080182 from home:ateixeira:branches:multimedia:libs Danilo Spinella 2023-04-19 08:46:09 +00:00
  • 610e3be44d Accepting request 1075084 from multimedia:libs Dominique Leuenberger 2023-03-30 20:50:40 +00:00
  • fe9e46f959 - 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. Mia Herkt 2023-03-29 02:51:57 +00:00
  • ee8403f530 Accepting request 1063428 from multimedia:libs Dominique Leuenberger 2023-02-07 17:47:41 +00:00
  • 4cb058a1f7 Accepting request 1063189 from home:dirkmueller:Factory Takashi Iwai 2023-02-06 14:26:39 +00:00
  • 5a8c87299a Accepting request 1056956 from multimedia:libs Dominique Leuenberger 2023-01-10 13:58:56 +00:00
  • 2651831eb3 - 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. Mia Herkt 2023-01-09 02:20:10 +00:00
  • 844e7adadd Accepting request 1007099 from multimedia:libs Dominique Leuenberger 2022-10-03 11:44:14 +00:00
  • c1935540bd - 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. Mia Herkt 2022-09-29 19:41:01 +00:00
  • c072a4d6ff Accepting request 982866 from multimedia:libs Dominique Leuenberger 2022-06-17 19:18:32 +00:00
  • e9411cfea9 - Update to 0.6.4 * Fix: Ping-pong sample loops sometimes stopped playing at the end of the loop. Mia Herkt 2022-06-15 17:01:43 +00:00
  • 0f566e1f6f Accepting request 978626 from multimedia:libs Dominique Leuenberger 2022-05-24 18:30:46 +00:00
  • a4b224e052 Accepting request 977463 from home:dspinella:branches:multimedia:libs Takashi Iwai 2022-05-23 06:50:34 +00:00
  • 470da451e7 Accepting request 966892 from multimedia:libs Dominique Leuenberger 2022-04-07 22:26:32 +00:00
  • 57b7acd3b6 Accepting request 966790 from home:dspinella:branches:multimedia:libs Mia Herkt 2022-04-04 23:45:33 +00:00
  • ec18380ef0 Accepting request 950104 from multimedia:libs Dominique Leuenberger 2022-02-03 22:16:22 +00:00
  • 163a3150ed - 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: Mia Herkt 2022-01-31 07:30:49 +00:00
  • 5409b5395e Accepting request 942189 from multimedia:libs Dominique Leuenberger 2021-12-24 19:22:55 +00:00
  • 33f6a0df4a - 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. Mia Herkt 2021-12-23 06:51:05 +00:00
  • c4b11491c3 Accepting request 935240 from multimedia:libs Dominique Leuenberger 2021-12-06 22:59:02 +00:00
  • e5f493c92b Accepting request 934956 from home:dspinella:branches:multimedia:libs Danilo Spinella 2021-12-02 17:03:46 +00:00
  • 56eebd283f Accepting request 927424 from multimedia:libs Dominique Leuenberger 2021-10-29 20:33:37 +00:00
  • 873bab7d3b Accepting request 926980 from home:dspinella:branches:multimedia:libs Takashi Iwai 2021-10-26 06:32:49 +00:00
  • 12b014fd43 Accepting request 913906 from multimedia:libs Dominique Leuenberger 2021-08-26 21:14:13 +00:00
  • 884e7344ca - Update to 0.5.11: * [Sec] Possible crash with malformed modules when trying to access non-existent plugin slots FX251-FX255. * [Sec] Possible read beyond sample start after swapping to a sample with loop points set but not loop enabled. * [Sec] Fixed various possible crashes with malformed MMCMP files. * [Sec] MED: Possible read past end of sequence name (stack-allocated, so relatively unlikely to result in a crash). * Fixed excessive memory usage with files claiming to have an extremely high rows per beat count while also using tempo swing. Maximum rows per beat are now limited to 65536. * STP: Avoid creating thousands of patterns when loading malformed files even though no more pattern data can be read. Mia Herkt 2021-08-23 22:42:46 +00:00
  • b2c01fe634 Accepting request 905642 from multimedia:libs Dominique Leuenberger 2021-07-13 20:36:56 +00:00
  • 5a5bfd4403 - Update to 0.5.10: * S3M: Honor the Stereo flag not being set. This improves the sound of some tunes like Turbulence by Purple Motion. * S3M: Detect MPT 1.0 alpha versions which didn’t set the Stereo flag. In this case, the unset Stereo flag is also ignored because MPT 1.0 alpha used the default S3M channel panning anyway. * S3M: Only for OPL instruments the high sample rate bits should be ignored; for PCM instruments they are clamped to 65535 Hz. * MOD: Do not apply ProTracker loop length quirk to MODs that could have been made with Scream Tracker (fixes Soul-O-Matic by Purple Motion). * AMF (DSMI): Format revisions 1 and 9, as well as early (technically malformed) revision 10 files, are now supported. Surround panning commands and instrument number without note are now converted correctly. * AMF (DSMI): Patterns and samples were not read correctly in some files (e.g. AVOID.AMF). * GDM: Correctly import extra-fine portamentos. Mia Herkt 2021-07-11 08:50:15 +00:00
  • 06015126d3 - Update to 0.5.9: * The retrigger effect didn’t work correctly for OPL instruments in some cases depending on the chosen output sample rate. * S3M: Emulate IT short sample retrigger quirk in S3M files saved with Impulse Tracker and Schism Tracker. * ProTracker 3.6 doesn’t support sample swapping. It is now disabled when loading a ProTracker 3.6 IFF module. * Some files with “hidden” garbage patterns were not played correctly since libopenmpt 0.5.3. * MOD: E9x retrigger now works the same way as in ProTracker 2. * MDL: Improve auto-vibrato accuracy. * 669: Reject files that contain any pattern tempo higher than 15. * Reduce memory consumption of malformed XPK-compressed files. Mia Herkt 2021-06-23 18:00:01 +00:00
  • ad683dcb67 - Update to 0.5.8: * [Sec] Possible null-pointer dereference read caused by a sequence of openmpt::module::read, openmpt::module::set_position_order_row pointing to an invalid pattern, and another openmpt::module::read call. To trigger the crash, pattern 0 must not exist in the file and the tick speed before the position jump must be lower than the initial speed of the module. * [Bug] libopenmpt 0.5.7 broke seeking in some subsongs. * The built-in LFO plugin did not load the correct initial LFO frequency. * IT command S7x (instrument control) is now supported when seeking with sample sync enabled. * libopenmpt_ext play_note was cutting of channels even when there were plenty of free channels to use. Mia Herkt 2021-04-20 02:34:32 +00:00
  • a952b8de85 Accepting request 880307 from multimedia:libs Richard Brown 2021-04-08 19:01:17 +00:00
  • 127f8e7c27 - Update to 0.5.7: * [Sec] Possible null-pointer dereference read caused by a sequence of openmpt::module::read, openmpt::module::set_position_seconds with a position past the song end, and another openmpt::module::read call. * IT: Instrument / sample panning was reset on note-off / fade commands. * IMF: Set Finetune is now implemented correctly. * Fixed excessive memory consumption with malformed files in various formats. Mia Herkt 2021-03-20 20:17:38 +00:00
  • b223fbec6f - Update to 0.5.6: * AMS: Avoid allocating excessive amount of memory for compressed song message in malformed files. * S3M: Some samples or OPL patches were imported with a too high sample rate if module was saved with Scream Tracker 3. Mia Herkt 2021-03-14 18:44:25 +00:00
  • a2b741f20d Accepting request 868777 from multimedia:libs Dominique Leuenberger 2021-02-07 14:16:26 +00:00
  • 89e61e9c53 - Update to 0.5.5: * [Bug] stb_vorbis: Fix decoding of Vorbis streams without comments which affected most Vorbis samples since stb_vorbis v1.20. * openmpt::ext::interactive::set_pitch_factor wasn’t applied to OPL voices. * OPL channel state (in particular current patch) is now updated when seeking. * The FT2 tremolo quirk is now also applied to MOD files. FT2 just copied the quirky code from ProTracker! * DMF: Preserve effects better in some situations where there is more than one effect in a pattern cell. * DMF: Improve import of finetune effect with parameters larger than +/-15. Mia Herkt 2021-02-02 23:24:48 +00:00
  • 5755cc0eb9 Accepting request 856261 from multimedia:libs Dominique Leuenberger 2020-12-18 18:52:08 +00:00
  • bbcf6a5abe - Update to 0.5.4: * AMS: An upper bound for uncompressed sample size is now established to avoid memory exhaustion from malformed files. * DMF: Support early format beta versions (in particular versions 1-4). * MED: Also use octave wrapping in 8-channel mode for MMD0/MMD1 modules. * MED: If 8-channel mode is activated, ignore BPM mode. * MED: Emulate tempo commands F01 and F02 quirk. * MED: Tempo commands below 32 BPM were interpreted as tempo slides. * IMF: Instrument sample mapping was off by one octave, notable in the guitar part of Astaris by Karsten Koch. Changes in 0.5.3: * [Sec] Possible hang if a MED file claimed to contain 256 songs. * [Bug] libopenmpt: openmpt::is_extension_supported2() exported symbol was missing (C++). * [Bug] openmpt::module::set_position_seconds sometimes behaved as if the song end was reached when seeking into a pattern loop and in some other corner cases. * Increase threshold for ignoring panning commands from 820 to 830. * Subsong names now fall back to the first pattern’s name if empty. * 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. * MO3: Some files with corrupted envelope data could be rejected completely (normally libopenmpt should fix up the envelope data). Mia Herkt 2020-12-16 03:09:38 +00:00
  • 78709c0539 Accepting request 812414 from multimedia:libs Dominique Leuenberger 2020-06-09 22:34:11 +00:00
  • 79576728f2 Accepting request 812183 from home:plater Tomáš Chvátal 2020-06-08 06:39:17 +00:00
  • 6bfb96a524 Accepting request 808568 from home:junknot Mia Herkt 2020-05-25 02:10:29 +00:00
  • 167a4d6de1 - 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(), Mia Herkt 2020-05-24 19:01:56 +00:00
  • 5abf6f88d1 Accepting request 793695 from multimedia:libs Dominique Leuenberger 2020-04-15 17:53:05 +00:00
  • 64e4f2c30d - 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. Mia Herkt 2020-04-13 22:14:52 +00:00
  • f8d1298a9f Accepting request 768831 from multimedia:libs Dominique Leuenberger 2020-02-03 10:12:04 +00:00
  • 99910c532b - 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. Tomáš Chvátal 2020-01-30 16:10:24 +00:00
  • 6e3a8cd118 Accepting request 736008 from multimedia:libs Dominique Leuenberger 2019-10-10 09:51:14 +00:00
  • 4d3fa31eb0 - Update to version 0.4.9 bsc#1153102 CVE-2019-17113 Tomáš Chvátal 2019-10-07 07:47:00 +00:00
  • fc289a6b0a - Update to version 0.4.9 * [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) Mia Herkt 2019-10-03 00:58:08 +00:00
  • 03f92296ae - 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) Mia Herkt 2019-10-01 00:23:04 +00:00
  • d691c29529 Accepting request 723239 from multimedia:libs Dominique Leuenberger 2019-08-15 10:28:22 +00:00
  • 734e633aff - Update to version 0.4.2 bsc#1143582 CVE-2019-14382 bsc#1143584 CVE-2019-14383: - Update to version 0.4.0 bsc#1143581 CVE-2018-20860: - Update to version 0.3.11 bsc#1143578 CVE-2018-20861: Tomáš Chvátal 2019-08-14 08:52:17 +00:00
  • 86ee65f5c0 Accepting request 722225 from multimedia:libs Dominique Leuenberger 2019-08-13 11:10:45 +00:00
  • 4fd9cf7d15 - Update to version 0.4.6: * Detect IT files unpacked with early UNMO3 versions. Mia Herkt 2019-08-11 02:05:39 +00:00
  • 2ad499c13c Accepting request 705645 from multimedia:libs Dominique Leuenberger 2019-06-01 07:42:37 +00:00
  • 489c0933b1 - 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 Mia Herkt 2019-05-27 10:31:12 +00:00
  • 9af0a8420d Accepting request 692149 from multimedia:libs Dominique Leuenberger 2019-04-10 21:10:02 +00:00
  • 1399bec837 - 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. Mia Herkt 2019-04-07 15:30:52 +00:00
  • f979b45eff Accepting request 673313 from multimedia:libs Stephan Kulow 2019-02-24 15:58:27 +00:00
  • 42c19e30ac - 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. Mia Herkt 2019-02-11 11:17:45 +00:00
  • b104831a16 Accepting request 667846 from multimedia:libs Dominique Leuenberger 2019-01-26 21:18:25 +00:00
  • 3da82e2722 - Update to version 0.4.2: * [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. Mia Herkt 2019-01-22 18:22:59 +00:00
  • 94141c9b9a Accepting request 663192 from multimedia:libs Dominique Leuenberger 2019-01-08 11:19:29 +00:00
  • 99fd03ff5c - 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 Mia Herkt 2019-01-06 19:17:00 +00:00
  • ee8bfcf06d Accepting request 662268 from home:1Antoine1:branches:games Tomáš Chvátal 2019-01-01 14:08:19 +00:00
  • 39b2bbca79 Accepting request 660873 from multimedia:libs Dominique Leuenberger 2018-12-28 11:31:53 +00:00
  • 32dd142157 - Update to version 0.4.0: * [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 Mia Herkt 2018-12-23 16:49:04 +00:00
  • 6d12ba9dd4 Accepting request 643804 from multimedia:libs Dominique Leuenberger 2018-11-06 12:56:41 +00:00
  • 287d64febe - 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. Mia Herkt 2018-10-22 20:29:06 +00:00
  • 9f315b3163 Accepting request 637766 from multimedia:libs Dominique Leuenberger 2018-10-02 17:43:23 +00:00