Fix bugs caught in the OpenMPT test cases:
- fix FT2 XM arpeggio clamp
- fix FT2 XM arpeggio + pitch slide
- fix XM tremor effect handling
- fix XM tremor recover after volume setting
- fix IT instrument after keyoff
- fix S3M first frame test in pattern delay
- fix Protracker tone portamento target setting
- fix Protracker arpeggio wraparound
- fix Protracker finetune setting
Other changes:
- fix range of MMD effect 9 (reported by Lamar McLouth)
- fix Visual C++ build (reported by Jochen Goernitz)
- fix invalid sample offset handling in Skale Tracker XM (reported by
Vladislav Suschikh)
- fix Protracker sample loop to use full repeat only if start is 0
- fix Scream Tracker 4-channel MOD fingerprinting
- fix lite build with IT support disabled
- fix build with gcc 2.95 in Haiku
4.3.10 (20151231):
Fix bugs reported by Coverity Scan:
- fix out of bounds access in IT/XM/MDL/IMF envelopes
- fix out of bounds read in STX effect decoding
- fix RTM maximum sample name length
- fix AC1D converter number of patterns underflow
- fix PRU2 usage of uninitialized data
- fix Vorbis depacker usage of uninitialized data
- fix negative array index read when setting position
- fix resource leak in MFP loader
- fix resource leak in Chiptracker loader
- fix resource leak in Startrekker loader
- fix resource leak in module load error handling
- fix event decoding in LIQ loader
- fix JVS command parameter in MED synth
- fix 669 effect decoding
- fix memory violation in LZX decompressor
- fix 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
Fix problems caused by fuzz files (reported by Jonathan Neuschäfer):
- add sanity checks to LHA depacker
- add sanity checks to MED3 loader
- add sanity checks to ABK loader
- add sanity checks to Fuchs converter
- add sanity checks to GMC converter
Other changes:
- fix IT envelope release + fadeout (reported by NoSuck)
- fix SFX effects 5, 6, 7, and 8 (reported by Lamar McLouth)
- fix pattern loading in Galaxy 4 and 5 (reported by Anton Zab)
- fix memory leak in LZW decompressor (by Chris Spiegel)
- fix tone portamento target setting (reported by Georgy Lomsadze)
- fix IT autovibrato depth (reported by Travis Evans)
- disable ST3 sample size limit (reported by Jochen Goernitz)
- fix crash in Prowizard error handling
- fix IMS sample loop start
- fix LIQ pan setting and surround channel
- add sanity check for IFF chunk size
- refactor ProRunner2 event decoding
4.3.9 (20150623):
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 (reported by Lionel Debroux):
- 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 (reported by Jonathan Neuschäfer):
- 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 (reported by Mirko Buffoni)
- fix problems in Amiga split channels (reported by Gabriele Orioli)
- fix global volume on restart to invalid row (reported by Adam Purkrt)
- fix Oktalyzer note slide effect (by Dennis Lindroos)
- fix Oktalyzer volume setting in split channels (by Dennis Lindroos)
- fix external sample mixer for IT files (reported by honguito98)
- allow short sample reads (reported by Adam Purkrt)
- address problems reported by clang sanitizer
4.3.8 (20150404):
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 (reported by jbb666)
- refactor XM envelopes
- refactor IT envelopes
4.3.7 (20150329):
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 (reported by honguito98)
- fix Soundtracker short rip loading (reported by Shlomi Fish)
- add IT high offset command (SAx)
- add IT surround command (S9x)
- add IT surround channel support
- add IT sample pan setting support
4.3.6 (20150322):
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 (reported by Lionel Debroux):
- 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 (reported by Jochen Goernitz)
- fix loading of OpenMPT 1.17 IT modules (reported by Dane Bush)
- fix sample number limit (reported by Lionel Debroux)
- fix Oktalyzer split channel replay (reported by Dennis Lindroos)
- fix Oktalyzer sample loop (by Dennis Lindroos)
- fix Oktalyzer note slide up/down effect
- fix ThePlayer pattern decoding
- fix XM loading for MED2XM modules (reported by Lorence Lombardo)
- add support to Amiga split channel loop and volume setting
- add IT random volume variation
- add IT random pan variation
Problems found with existing distfiles:
/pub/pkgsrc/distfiles/amp-0.7.6.tgz
/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-music-32000-1.0.8.tar.gz
/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-music-48000-1.0.8.tar.gz
/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-en-us-callie-32000-1.0.22.tar.gz
/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-en-us-callie-48000-1.0.22.tar.gz
/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-fr-ca-june-32000-1.0.18.tar.gz
/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-fr-ca-june-48000-1.0.18.tar.gz
/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-ru-RU-elena-16000-1.0.12.tar.gz
/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-ru-RU-elena-32000-1.0.12.tar.gz
/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-ru-RU-elena-48000-1.0.12.tar.gz
/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-ru-RU-elena-8000-1.0.12.tar.gz
/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-fr-ca-june-32000-1.0.18.tar.gz
/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-fr-ca-june-48000-1.0.18.tar.gz
/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-ru-RU-elena-32000-1.0.13.tar.gz
/pub/pkgsrc/distfiles/freeswitch/freeswitch-sounds-ru-RU-elena-48000-1.0.13.tar.gz
/pub/pkgsrc/distfiles/kid3-3.3.0.tar.gz
/pub/pkgsrc/distfiles/libdca-0.0.5.tar.bz2
/pub/pkgsrc/distfiles/mp3to.gz
/pub/pkgsrc/distfiles/squeezeboxserver-7.5.1-noCPAN.tgz
No changes made to these file.
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
Fix crashes with fuzzed files (reported by Lionel Debroux):
- 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 (reported by Lionel Debroux)
- fix minimum BPM value for MED (reported by cspiegel)
- fix sample loop adjustment (by Emmanuel Julien)
4.3.4 (20150111):
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 (PSM) volume command
- fix MASI (PSM) note number parsing
- fix Noisetracker note limit detection
Other changes:
- fix overflow in linear interpolator (reported by Jochen Goernitz)
- fix MTM invalid track load (reported by Douglas Carmichael)
- add ProPacker 3.0 loader
4.3.3 (20141231):
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 (reported by Per Törner)
- fix big-endian detection in configuration (by Andreas Schwab)
4.3.2 (20141130):
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 (reported by Jason Gibson)
- fix MOD fine volume slide memory (reported by Dennis Lindroos)
- fix set sample offset effect (by Dennis Lindroos)
- fix Windows temp file (reported by Andreas Argirakis & Eric Lévesque)
- add emulation of the FT2 pattern loop bug (by Eugene Toder)
- 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.1 (20141111):
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
4.3.0 (20140926):
Fix bugs reported by Sami Jumppanen:
- fix MED4 instrument numbering
- fix MED effect FFF (turn note off)
- fix MED synth finetune effect
Fix bugs reported by Alexander Null:
- fix fine volume slide memory
- fix IT portamento after note end in sample mode
- fix S3M portamento after note end
Fix bugs caught in the OpenMPT test cases:
- add XM and IT envelope loop and sustain point quirk
- fix Amiga limits for notes with finetune
- fix XM invalid offset handling
- fix XM note release reset on new volume
- fix XM pattern loader to honor header size
- fix XM fine volume slide effect memory
- fix XM fine pitch slide effect memory
- fix XM finetune effect
- fix IT portamento if offset effect is used
- fix IT NNA on invalid sample mapping
- fix IT filter envelope index reset
- fix IT envelope carry on note cut events
- fix IT envelope reset on new instrument
- fix IT instrument change on portamento in compatible GXX mode
- fix IT unmapped sample parsing
- fix IT filter cutoff reset
Other changes:
- add API call to load a module from a file handle
- add API call to set default pan separation value
- add OpenMPT test cases to regression test suite
- add AMOS Music Bank loader (by Stephen Leary)
- refactor memory I/O calls
- read OctaMED annotation and song info text
- fix segfault in mixer caused by sample position overflow
- fix MED synth pitch slide reset on new note
- fix MED synth volume change during wait command
- fix MED synth envelope loop handling (reported by Stefan Martens)
- fix OctaMED SS default pitch transpose (reported by Karl Churchill)
- fix OctaMED instrument name loading
- fix XM, S3M, IT and MED offset effect handling
- fix IT fadeout and envelope reset on new virtual channel
- fix S3M shared effect parameter memory
- fix S3M default pan positions
- fix S3M set BPM effect with values < 32 (reported by Kyu S.)
- fix incorrect Noisetracker effect filtering (reported by Kyu S.)
- fix period limits for (possibly non-Amiga) Protracker clones
- fix loop counter reset on play buffer reset
- fix finetune effect
4.2.8 (20140714):
Fix bugs reported by Sami Jumppanen:
- fix OctaMED decimal volume decoding
- fix MED4 sampled instrument octave range
- fix mishandling of MED4 effect FFD
- fix MED synth waveform command CHD
Other changes:
- fix sequence number reset on player start
- fix stray notes in XM (reported by Andreas Argirakis)
- limit note number to avoid crash (reported by Bastian Pflieger)
- disable recursive file decompression
- add support for XM with ADPCM samples
- add OctaMED effect 2E
- fix MMD2/3 note event mapping
- fix XM set pan effect
- fix IT disabled instrument pan