Recent Releases
4.6.023 Jun 2023 07:25
major bugfix:
Changes by Alice Rowan:
Add Astroidea XMF format loader.
- Implement S3M and IT mix volume.
- Add IT MIDI macro filter effects support.
- for IT filter cutoff 127 on new note behavior.
- Add missing IT filter clamp to mixer loops.
- IT duplicate note check to use the key prior to transpose.
- multiple IT playback affecting, e.g. Atomic Playboy.
- IT tone portamento and offset.
- reverse sustain loop release, add IT effect S9F support.
- Add Modplug ADPCM4 support for Impulse Tracker modules.
- Improve anticlick performance and anticlick filter volume.
- IT fade envelope reset should only affect volume envelope.
- Impulse Tracker envelope and fadeout order.
- Replace bidirectional loop unrolling with reverse sample rendering.
- crash when xmp_set_row() is used on an IT end marker.
- NNA and tone portamento interaction with sample changes.
- Add compatibility for Modplug Tracker preamp scaling.
- Add tracker detection for ModPlug Tracker XMs, pre-alpha ITs.
- New Protracker CIA and VBlank timing detection routine.
- detection for TakeTracker TDZx MODs.
- loading of Digital Tracker FA0x MODs.
- ASYLUM Music Format restart byte.
- 1MB S3M modules relying on the sample segment high byte.
- New MIT-licensed Digital Symphony LZW decoder.
- Add support for Digital Symphony sigma-delta samples.
- Digital Symphony effects and pattern loading.
- support for most Farandole Composer effects.
- Implement Ultra Tracker tone portamento.
- Multiple OctaMED and support for MMDC packed modules.
- MED Soundstudio 2 default note events.
- MTM tempo effect and FX_SPEED scan.
- Add MTM module tempo mode detection and comments support.
- Multiple and updates for ST modules.
- Move interpolation wraparound handling out of sample loader.
- Don't increment voice position by step value at loop/tick end.
- Several loading performance improvements.
- Allow up to 255 sequences to be scanned.
- Allow xmp_smix_play functions to play key off, cut and fade events.
- Allow loading MED2 samples from t
4.4.113 Oct 2016 13:45
minor bugfix:
Reported by Saga Musix:
MDL c5spd to preserve base periods.
- MDL sample decoder loop with corrupted data.
- MASI loader OPLH and PPAN subchunks parsing
Other changes:
- MacOS Tiger build - sample loop corner case.
Set pan effect in multichannel MODs.
Global volume on module loop.
- IT pan right value.
- MASI effects based on OpenMPT PSM loader.
Memory leak in XMs with 256 patterns.
Anticlick when rendering only one sample.
Anticlick in His Master's Noise instruments.
Anticlick in MED synth instruments.
4.4.011 Jul 2016 09:25
major bugfix:
Caught in the OpenMPT test cases:
XM arpeggio in FastTracker 2 compatible mode.
- MOD vibrato and tremolo in Protracker compatible mode.
Multichannel MOD reported by Leilei:
XM replayer note delay and retrig quirk.
- XM replayer channel pan.
- MOD loader period to note conversion.
Reported by Lionel Debroux:
Virtual channel deallocation error handling.
- S3M global volume effect.
- IT envelope reset on tone portamento.
- IT voice leak caused by disabled envelope.
- IT volume column tone portamento.
- XM envelope position setting.
- FT2 arpeggio+portamento quirk with finetunes.
Accept S3M modules with invalid effects.
Reported by Saga Musix:
Effects when no instrument number is specified.
Effects to be frequency-based.
Initial tempo
Other changes:
- S3M channel reset on sample end.
- Noisetracker MOD speed setting.
- IT loader DCA sanity check.
- IT envelope reset after offset with portamento.
Bidirectional sample interpolation.
Add Antti Lankila's Amiga 500 modeling mixer.
Add support to filter effect E0 in Amiga mods.
Add flags to configure player mode.
Add option to set the maximum number of virtual channels.
Add frequency-based "period" mode.
Add support to IT sample sustain loop.
Limit Oktalyzer modules to MOD note range.
Remove broken synth chip and Adlib emulation suport.
Code refactoring and cleanup.
4.3.1319 Apr 2016 02:45
minor bugfix:
caught in the OpenMPT test cases:
IT volume column fine volume slide with row delay
Other changes:
- MOD vs XM set finetune effect.
- IT old instrument volume.
- IT panbrello speed.
- IT random pan variation left bias.
- IT default pan in sample mode.
- S3M set pan effect.
- code refactoring and cleanup.
4.3.1206 Mar 2016 23:25
minor bugfix:
caught in the OpenMPT test cases:
IT note off with instrument.
- IT note recover after cut.
- IT instrument without note after note cut event.
- IT pan reset on new note instead of new instrument.
- IT volume swing problems.
- XM glissando effect.
- Scream Tracker 3 period limits.
- Scream Tracker 3 tremolo memory
Other changes:
- IT pattern break in hexadecimal.
- S3M subsong detection.
- S3M/IT special marker handling.
- Galaxy Music System 4.0 song length.
- tone portamento memory without note.
- IT pan swing limits.
- Add TrackerPacker v1 format converter.
- Add TrackerPacker v2 format converter.
- Add ProPacker 1.0 format converter.
4.3.1113 Feb 2016 07:05
minor bugfix:
caught in the OpenMPT test cases:
FT2 XM arpeggio clamp.
- FT2 XM arpeggio + pitch slide.
- XM tremor effect handling.
- XM tremor recover after volume setting.
- IT instrument after keyoff.
- S3M first frame test in pattern delay.
- Protracker tone portamento target setting.
- Protracker arpeggio wraparound.
- Protracker finetune setting
Other changes:
- range of MMD effect 9.
- Visual C++ build.
- invalid sample offset handling in Skale Tracker XM.
- Protracker sample loop to use full repeat only if start is 0.
- lite build with IT support disabled.
- build with gcc 2.95 in Haiku.
4.3.1025 Dec 2015 09:25
minor bugfix:
Reported by Coverity Scan:
Out of bounds access in IT/XM/MDL/IMF envelopes.
Out of bounds read in STX effect decoding.
- RTM maximum sample name length.
- AC1D converter number of patterns underflow.
- PRU2 usage of uninitialized data.
- Vorbis depacker usage of uninitialized data.
Negative array index read when setting position.
Resource leak in MFP loader.
Resource leak in Chiptracker loader.
Resource leak in Startrekker loader.
Resource leak in module load error handling.
Event decoding in LIQ loader.
- JVS command parameter in MED synth.
Effect decoding.
Memory violation in LZX decompressor.
Sanity check in PTM orders loading.
Add sanity check to smix sample loading.
Add sanity check to PP21 format converter.
Add sanity check to P40 and P61A format converters.
Add sanity check to Zen Packer format converter.
Add sanity check to TP3 format converter.
Add error handling to many decompressors.
Add error handling to many I/O operations.
Remove dead code from NO loader.
Remove dead code from Soundtracker loader.
Remove dead code from GMC format converter.
Remove dead code from LZX decompressor.
Remove dead code in virtual channel manager reset.
Remove unnecessary seeks in format loaders.
Prevent division by zero in memory I/O.
Change IFF info ID from string to binary buffer.
Better IFF error handling
Other changes:
- IT envelope release + fadeout.
- SFX effects 5, 6, 7, and 8.
Pattern loading in Galaxy 4 and 5.
Memory leak in LZW decompressor.
Tone portamento target setting.
Disable ST3 sample size limit.
Add sanity checks to LHA depacker.
Crash in Prowizard error handling.
- IMS sample loop start.
- LIQ pan setting and surround channel.
Add sanity check for IFF chunk size.
Refactor ProRunner2 event decoding.
4.3.924 Jun 2015 21:05
minor bugfix:
Fix bugs caught in the OpenMPT test cases:
fix IT tone portamento on sample change and NNA.
- fix IT tone portamento with offset
Fix problems caused by fuzz files:
- add sanity check to RTM/MMD/MDL/DBM/SFX/MASI/DT loaders.
- add sanity check to Starpack/Fuzzac converter.
- add sanity check to Oxm/vorbis depacker.
- add sanity check to lha/MMCMP/s404 depacker.
- fix memory leak in vorbis decoder
Fix problems caused by fuzz files:
- add sanity check to IT instrument name loader.
- add sanity check to IT loader instrument mapping.
- add sanity check to AMF module parameters and event loading.
- initialize IT loader last event data
Other changes:
- detect Amiga frequency limits in MOD.
- fix problems in Amiga split channels.
- fix global volume on restart to invalid row.
- fix Oktalyzer note slide effect.
- fix Oktalyzer volume setting in split channels.
- fix external sample mixer for IT files.
- allow short sample reads.
- address problems reported by clang sanitizer.
4.3.805 Apr 2015 09:05
minor feature:
Fix bugs caught in the OpenMPT test cases:
fix pre-increment of envelope indexes.
- fix IT note release at end of envelope sustain loop.
- reset channel flags in case of delay effect
Other changes:.
- fix MMD3 16-bit samples.
- refactor XM envelopes.
- refactor IT envelopes.
4.3.730 Mar 2015 09:25
minor feature:
Fix bugs caught in the OpenMPT test cases:
fix IT sample mode note cut on invalid sample.
- fix IT sample mode note end detection.
- fix IT envelope handling with carry and fadeout.
- fix IT tone portamento with sample changes.
- fix IT initial global volume setting.
- fix IT keyoff with instrument in old effects mode.
- fix IT filter maximum values with resonance
Other changes:.
- fix IT random volume variation.
- fix pattern initialization sanity check.
- fix ++ pattern handling in IT loader.
- fix Soundtracker short rip loading.
- add IT high offset command (SAx).
- add IT surround command (S9x).
- add IT surround channel support.
- add IT sample pan setting support.
4.3.624 Mar 2015 16:45
major bugfix:
Fix bugs caught in the OpenMPT test cases:
Fix IT volume column volume slide effect memory.
Fix IT default filter cutoff on new note.
Fix IT filter envelope memory
Fix crashes with fuzzed files:
Add sanity check to MED2/3/4 loader.
Add sanity check to STIM/GDM/DBM/LIQ/ICE/PSM/PTM/MGT loader.
Add sanity check to MDL/RAD/MGT/IMF/RTM/DT/LIQ/DTM pattern loader.
Add sanity check to OKT/IMF/MMD/MDL sample loader.
Add sanity check to Archimedes Tracker format test.
Add sanity check to Digital Symphony track loader.
Add sanity checks to SQSH, bzip2, arc, lha, lzx and S404 depackers.
Add sanity check for AMD/STX number of patterns.
Add sanity check for DSYM/MMD1/MMD3 number of channels.
Add sanity check for MMD1/MMD3 instrument type.
Add sanity check for IT old instrument loading.
Add sanity checks and fix memory leaks in the Vorbis decoder
Other changes:
Fix instrument number in channel initialization.
Fix sample size limit.
Fix loading of OpenMPT 1.17 IT modules.
Fix sample number limit.
Fix Oktalyzer split channel replay.
Fix Oktalyzer sample loop.
Fix Oktalyzer note slide up/down effect.
Fix ThePlayer pattern decoding.
Fix XM loading for MED2XM modules.
Add support to Amiga split channel loop and volume setting.
Add IT random volume variation.
Add IT random pan variation.
4.3.508 Feb 2015 20:45
minor feature:
Fix crashes with fuzzed files:
add sanity check for ST3 S3M maximum sample size.
add sanity check for sample loop start.
add sanity check for speed 0.
add sanity check for invalid XM effects.
add sanity check for maximum number of channels.
add sanity check for number of points in IT envelope.
add sanity check for S3M file format information.
add sanity check for maximum sample size.
add sanity check for invalid envelope points.
add sanity check for basic module parameters.
add sanity check for instrument release after load error.
add sanity check for XM header size.
add sanity check for XM/IT/S3M/MTM/RTM parameters and sample size.
add sanity checks to inflate and lha decompressors.
add more tests to 669 and NO file detection.
fix mixer index overflow with large samples.
fix prowizard data request response.
fix EU/NP1/NP2/NP3 prowizard depackers.
fix crash on attempt to play invalid sample.
fix infinite loop in break+delay quirk.
reset module data before loading module.
Other changes:
fix loop processing error in scan,
fix minimum BPM value for MED,
fix sample loop adjustment.
4.3.412 Jan 2015 18:25
minor feature:
Fix bugs caught in the OpenMPT test cases:
fix XM keyoff+delay combinations
fix XM fine pitch slide with pattern delay
fix XM vibrato rampdown waveform
fix XM volume column pan with keyoff and delay
fix XM pan envelope position setting
fix channel volume and instrument initialization
fix end of module detection inside a loop
Fix bugs reported by Francisco Pareja-Lecaros:
fix MASI volume command
fix MASI note number parsing
fix Noisetracker note limit detection
Other changes:
fix overflow in linear interpolator
fix MTM invalid track load
add ProPacker 3.0 loader
4.3.301 Jan 2015 07:05
minor feature:
Fix bugs caught in the OpenMPT test cases:
fix XM note delay volume with no note or instrument set
fix XM out-of-range note delays with pattern delays
Other changes:
fix XM envelope loop length
fix big-endian detection in configuration
4.3.203 Dec 2014 16:25
cleanup:
Fix bugs caught in the OpenMPT test cases:
fix IT invalid instrument number recovery
fix IT note retrig on portamento with same sample
fix XM portamento target reset on new instrument
fix XM portamento with offset
fix XM pan slide memory
fix XM tremolo and vibrato waveforms
fix MOD pattern break with pattern delay
fix MOD Protracker offset bug emulation
fix tremolo rate
Other changes:
fix IT portamento after keyoff and note end
fix IT fadeout reset on new note
fix IT pattern row delay scan
fix MOD/XM volume up+down priority
fix MOD fine volume slide memory
fix set sample offset effect
fix Windows temp file
add emulation of the FT2 pattern loop bug
allow loading of packed formats from memory
allow loading of OpenMPT MOD files with large samples
enable offset bug emulation by default for Protracker MODs
code cleanup
4.3.114 Nov 2014 00:05
minor bugfix:
Fix bugs caught in the OpenMPT test cases:
- fix IT filter envelope range.
- fix IT envelope carry after envelope end.
- fix XM note off with volume command.
- fix XM K00 effect handling.
- fix XM portamento with volume column portamento.
- fix XM keyoff with instrument.
- fix XM note limits.
Fix bugs reported by Andreas Argirakis:
- fix MOD false positive for UNIC Tracker modules.
- fix EMOD instrument finetune .
- fix UNIC Tracker instrument finetune test.
- fix NoisePacker1 loader.
Other changes:
- fix IT tone portamento in first note (reported by Jan Engelhardt).
- fix XM invalid memory access in event reader.
- fix STM empty note event read.
- fix ABK loader test in Win32.
- fix MOD period range enforcing (reported by Jason Gibson).
- fix ST2.6 speed effect (reported by Saga Musix).
- fix corner case memory leak in S3M loader.
- fix retrig of single-shot samples after the end of the sample.
- fix crash in envelope reset with invalid instrument.
- fix module titles and instrument names in Mac OS X.
- fix row delay initialization on new module.
- refactor depacking code.
- code cleanup.