528 lines
24 KiB
Text
528 lines
24 KiB
Text
Stable versions
|
|
---------------
|
|
|
|
4.7.0 (20260225):
|
|
Changes by Alice Rowan:
|
|
- Increase maximum sampling rate (XMP_MAX_SRATE) to 768000.
|
|
This increases XMP_MAX_FRAMESIZE to 384000. The tick buffers are now
|
|
allocated using the player-provided rate instead of XMP_MAX_FRAMESIZE:
|
|
the frame info buffer may also be much smaller than XMP_MAX_FRAMESIZE.
|
|
In case of existing software misusing the old XMP_MAX_FRAMESIZE, the
|
|
minimum value for mixer_data->total_size is the old XMP_MAX_FRAMESIZE
|
|
for now.
|
|
- xmp_seek_time now always seeks (even if the position is the same
|
|
as the current position) and uses the start row detected by the scan.
|
|
- New function: xmp_seek_time_frame, which attempts to seek to the time
|
|
requested by the caller within frame precision. This is achieved by
|
|
using xmp_seek_time then repeatedly calling xmp_play_frame until the
|
|
*next* frame contains the caller-requested time. The caller can then
|
|
use xmp_play_frame/xmp_play_buffer to render the requested frame.
|
|
WARNING: this is more computationally expensive than xmp_seek_time.
|
|
- New function: xmp_set_tempo_factor_relative, to set a relative
|
|
tempo factor without clobbering the module's tempo factor.
|
|
- New function: xmp_get_tempo_factor, to get the base tempo factor
|
|
set by loading a module or by xmp_set_tempo_factor.
|
|
- New function: xmp_get_tempo_factor_relative, to get the relative
|
|
tempo factor set by xmp_start_player/xmp_set_tempo_factor_relative.
|
|
- New API define: XMP_FORMAT_32BIT for xmp_start_player to enable
|
|
32-bit integer output.
|
|
- New API define: XMP_INST_NO_DEFAULT_PAN for xmp_subinstrument::pan
|
|
- New API defines: XMP_MARK_SKIP and XMP_MARK_END for xmp_module::xxo
|
|
- All internal module time/duration calculations are now in doubles
|
|
(fixes off-by-one module time on final tick of some modules).
|
|
- Fix XM volume effects cxx/dxx accidentally having effects memory.
|
|
- Correct default of sample default panning values to -1 (no default
|
|
panning) for most module formats.
|
|
- Simplify read_event_mod, read_event_st3, read_event_ft2 sample
|
|
default volume handling.
|
|
- Anticlick decay curves are now applied after IT note cut, DCA note
|
|
cut, IT effect S70 (etc.), and API-requested position changes.
|
|
- XM, MOD: remove QUIRK_FINEFX from QUIRKS_FT2.
|
|
- XM: channel fade rate is only copied from the instrument on rows
|
|
with note + ins. + no toneporta/K00.
|
|
- XM: zero-length samples cut the channel like invalid instruments.
|
|
- XM: do not cut on a no-instrument key off note if the preceding
|
|
instrument was invalid.
|
|
- XM: previous instrument's sample default volume is now applied for
|
|
invalid instrument numbers beside a key off note.
|
|
- XM: previous instrument's sample default panning is now applied for
|
|
invalid instrument numbers.
|
|
- XM: apply default volume, panning, and instrument fade rate for
|
|
active invalid instruments.
|
|
- XM: invalid instrument numbers now reset the envelope positions.
|
|
- XM: valid instrument numbers with no note no longer set xc->ins,
|
|
which would cause notes to play with the wrong instrument envelopes
|
|
and could cause subsequent no-note instruments or invalid
|
|
instruments to apply the wrong instrument's volume/panning.
|
|
- XM: rows with an instrument number and K00 no longer reset fadeout.
|
|
- XM: apply QUIRK_FT2BUGS to Fasttracker II clone modules.
|
|
- XM: reimplement Fasttracker II note delay effect.
|
|
- XM: FT2 tremor now resets on all delay rows, does not reset on
|
|
instrument number + K00 rows, and is suppressed by instrument default
|
|
volume and Cxx in cases where it is not reset. FT2 tremor no longer
|
|
updates on note delay events before the delayed event is processed.
|
|
- XM: load all keyoff notes as XMP_KEY_OFF (fixes keyoff + ins rows).
|
|
- XM: keyoff without delay always initiates fadeout, even if there is
|
|
if there is a volume envelope. The old implementation would sometimes
|
|
delay the start of fadeout.
|
|
- XM: keyoff without volume envelope sets the channel volume to 0
|
|
instead of setting fadeout to 0. This is now performed on the tick
|
|
where keyoff takes effect only (fixes volume effects not cancelling
|
|
the volume cut when they should have).
|
|
- XM: fix volume column set volume effects resetting fadeout
|
|
(fixes Comic Bakery Remix position 35).
|
|
- XM: fix Kxx persisting between rows and pattern delay interaction.
|
|
- XM: fix note without ins# resetting fadeout position and state.
|
|
- XM: handle out-of-range notes more closely to FT2.
|
|
- XM: fix setting toneporta target with an active invalid instrument.
|
|
- XM: implement FT2-style offset effect memory (QUIRK_FT2BUGS only).
|
|
- Sum toneporta rates when toneporta is present in both effects slots
|
|
in an event; FT2 bug emulation for double toneporta now zeroes the
|
|
parameter of 3xx in the player instead of using a loader hack.
|
|
- Fix time tracking bugs in some complex pattern loop cases.
|
|
- Fix time tracking bugs when Bxx+Dxx jumps within the same position.
|
|
- S3M/IT: Cxx followed by Byy on the same row now jumps to pos Y row X.
|
|
- IT: fix importing channel initial panning for muted channels.
|
|
- IT: fix playing instruments with samples >=120 in the key map.
|
|
- Fix xmp_start_player not unmuting non-muted channels (regression
|
|
introduced in 4.5.0).
|
|
Changes by Alice Rowan and ds-sloth:
|
|
- Minor Impulse Tracker loader performance improvements.
|
|
|
|
4.6.3 (20250511):
|
|
Changes by Alice Rowan:
|
|
- Fix crashes when xmp_set_position is used to set a negative position.
|
|
Negative positions now correctly return -XMP_ERROR_INVALID.
|
|
- Fix crashes when xmp_set_row is used to set a negative row.
|
|
Negative positions now correctly return -XMP_ERROR_INVALID.
|
|
- Fix hangs when xmp_prev_position is used on the first position of
|
|
a sequence which is preceded by an S3M/IT skip marker.
|
|
- Fix out-of-bounds reads when xmp_next_position is used at the end of
|
|
a 256 position module.
|
|
- Fix hangs when seeking to an end-of-module marker caused by these
|
|
positions getting assigned a non-existent sequence.
|
|
- Document xmp_set_position/xmp_next_position/xmp_prev_position
|
|
interactions with xmp_stop_module/xmp_restart_module.
|
|
- xmp_set_tempo_factor no longer alters frame time calculation for
|
|
xmp_get_frame_info. Frame time is now updated to account for the
|
|
new time factor after calling xmp_scan_module.
|
|
- Fix loading XMs with some types of harmless pattern truncation.
|
|
See: Jazztiz/ta-da-da-da.xm, Sonic (UK)/phuture.xm, et al.
|
|
- Fix pattern loop jump interactions with same row pattern jump/break
|
|
for Scream Tracker 3.03b+ S3Ms and Impulse Tracker ITs.
|
|
|
|
4.6.2 (20250224):
|
|
|
|
|
|
4.6.1 (20250101):
|
|
Changes by Alice Rowan:
|
|
- Add stereo sample loading support for IT, S3M, XM.
|
|
- Add sample preamplification to filter mixers for high sample rates.
|
|
- Implement support for Protracker instrument swapping.
|
|
- Fix XM envelope sustain points that exist on a zero-length loop.
|
|
- Fix XM extra fine portamento effect memory.
|
|
- Fix XM portamento up and portamento down memory (only for modules
|
|
where FT2 bug compatibility is enabled, for now).
|
|
- Faster IT loading by buffering pattern, sample, and comment reads.
|
|
- Fix loop detection edge cases broken by S3M/IT marker scan bugs.
|
|
- Add fix for IT break to module scan (was missed in libxmp 4.5.0.)
|
|
- Fix restart position for >64k sample and Digital Tracker MODs.
|
|
- Replace rand() with a built-in reentrant alternative.
|
|
- Fix Paula mixer state leak after changing XMP_PLAYER_MODE.
|
|
- xmp_set_tempo_factor now returns -XMP_ERROR_STATE when called prior
|
|
to xmp_start_player (instead of causing crashes).
|
|
- Fix mixer crashes caused by previously valid tempo factors after
|
|
sample rate or BPM changes.
|
|
- Passing NULL to xmp_set_instrument_path() now unsets the instrument
|
|
path instead of crashing.
|
|
- Fix module scan pattern delay counting.
|
|
- Add compatibility for non-standard IT Pattern Loop implementations.
|
|
- Fixed numerous defects found by fuzzing.
|
|
Changes by Thomas Neumann:
|
|
- Fix XM envelope handling
|
|
- Fix XM restart position, so that it is possible to play
|
|
"10 Days Of Abstinence.xm"
|
|
Changes by ds-sloth:
|
|
- Optimize scan code for common case of no effects
|
|
Changes by Ozkan Sezer:
|
|
- Build system fixes and clean-ups. Misc code clean-ups.
|
|
|
|
4.6.0 (20230615):
|
|
Changes by Alice Rowan:
|
|
- Implement S3M and IT mix volume.
|
|
- Add IT MIDI macro filter effects support.
|
|
- Fix for IT filter cutoff 127 on new note behavior.
|
|
- Add missing IT filter clamp to mixer loops.
|
|
- Fix IT duplicate note check to use the key prior to transpose.
|
|
- Fix multiple IT playback bugs affecting, e.g. Atomic Playboy.
|
|
- Fix IT tone portamento and offset.
|
|
- Fix reverse sustain loop release bug, add IT effect S9F support.
|
|
- Add Modplug ADPCM4 support for Impulse Tracker modules.
|
|
- Improve anticlick performance and fix anticlick filter volume bug.
|
|
- IT fade envelope reset should only affect volume envelope.
|
|
- Fix Impulse Tracker envelope and fadeout order.
|
|
- Replace bidirectional loop unrolling with reverse sample rendering.
|
|
- Fix crash when xmp_set_row() is used on an IT end marker.
|
|
- Fix NNA and tone portamento interaction with sample changes.
|
|
- Fix detection for TakeTracker TDZx MODs.
|
|
- Fix >1MB S3M modules relying on the sample segment high byte.
|
|
- 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.
|
|
- Fixed numerous defects found by fuzzing.
|
|
Changes by Vitaly Novichkov:
|
|
- Cmake build system support.
|
|
Changes by Ozkan Sezer:
|
|
- Cleanups and refactoring of platform-specific code.
|
|
- Multiple code cleanups.
|
|
- Build system fixes and clean-ups.
|
|
Changes by Claudio Matsuoka:
|
|
- Fix linkage with gcc when versioned symbols and LTO are enabled.
|
|
Changes by Cameron Cawley:
|
|
- Several code and build system clean-ups.
|
|
Changes by Clownacy:
|
|
- Fixes and cleanups for C++ compatibility.
|
|
|
|
4.5.0 (20210606):
|
|
- fix xmp_set_position et al. when used during loops, pattern delay
|
|
- make xmp_set_position() consistently clear pattern break/jump vars
|
|
- xmp_get_format_list() now returns const char* const*, not char**
|
|
(no ABI change)
|
|
- xmp_test_module, xmp_load_module, xmp_set_instrument_path and
|
|
xmp_smix_load_sample() now accept const char* path parameters
|
|
(no ABI change)
|
|
- xmp_load_module_from_memory() now accepts a const void* memory
|
|
param (no ABI change)
|
|
- xmp_load_module_from_memory() no longer accepts sizes <= 0.
|
|
- explicitly document that callers of xmp_load_module_from_file()
|
|
are responsible for closing their own file.
|
|
- remove nonportable use of fdopen in xmp_load_module_from_file()
|
|
- fix a seek issue with xmp_load_module_from_memory
|
|
- fix memory-io functions' error handling
|
|
- fix event out-of-bounds reads due to invalid key values
|
|
- fix multiple out-of-bounds reads/writes, memory corruptions,
|
|
uninitialized reads and hangs in several loaders (thanks to
|
|
Lionel Debroux for providing fuzz files)
|
|
- fix xmp_release_module double frees when invoked multiple times
|
|
- fix tempo assignment in module scan (fixes seek issues/crashes)
|
|
- fix volume, pitch and pan slides lagging behind one frame
|
|
- fix lite build mod loader symbols
|
|
- add new xmp_set_row() call to skip replay to the given row
|
|
- add new xmp_set_tempo_factor() call to set the replay tempo
|
|
multiplier
|
|
- add xmp_test_module_from_memory and xmp_test_module_from_file
|
|
calls to api
|
|
- add new xmp_syserrno call to the api
|
|
- xmp_load_module_from_callbacks and xmp_test_module_from_callbacks
|
|
added to api
|
|
- fix IT pattern delay volume reset bug (read row events only
|
|
once per row)
|
|
- IT: T00 now repeats previous slide
|
|
- prevent clobbering of muted channels' volumes in IT modules
|
|
- clamp number of IT envelope nodes at load time
|
|
- fix IT message (comment) length miscalculation
|
|
- fix IT volume panning effect
|
|
- fix IT bug where Cxx on same row as SBx would not be ignored
|
|
- fix IT bug where Qxy would ignore the volume parameter
|
|
- fix IT sample global volume and sample vibrato
|
|
- fix two IT bugs related to note off and volume handling
|
|
- fix mute status on player creation
|
|
- fix loading of XMLiTE XM modules
|
|
- fix XM keyoff with instrument
|
|
- handle XM 16-bit samples with odd in-file data
|
|
- fix loading xm instruments with more than 16 samples
|
|
- fix smix sample allocation
|
|
- force reset of buffer state on player start
|
|
- code refactoring and cleanup
|
|
- fix windows static library builds
|
|
- fix build with C89 compilers
|
|
- fix issues related to visibility attributes
|
|
- fix compatibility with old gcc, mingw, djgpp
|
|
- fix warnings in configure script
|
|
- fix Watcom C build on OS/2
|
|
- support compiling for Windows with OpenWatcom
|
|
- fix Amiga build
|
|
- fix Emscripten builds
|
|
- fix linkage errors with MSVC debug builds
|
|
|
|
4.4.1 (20161012):
|
|
- fix MacOS Tiger build issues (reported by Misty De Meo)
|
|
- fix sample loop corner case (reported by knight-ryu12)
|
|
- fix set pan effect in multichannel MODs (reported by Leilei)
|
|
- fix global volume on module loop (reported by Travis Evans)
|
|
- fix IT pan right value (by NoSuck)
|
|
- fix memory leak in XMs with 256 patterns
|
|
- fix anticlick when rendering only one sample
|
|
|
|
4.4.0 (20160719):
|
|
Fix bugs caught in the OpenMPT test cases:
|
|
- fix XM arpeggio in FastTracker 2 compatible mode
|
|
- fix IT bidirectional loop sample length
|
|
- fix MOD vibrato and tremolo in Protracker compatible mode
|
|
Fix multichannel MOD issues reported by Leilei:
|
|
- fix XM replayer note delay and retrig quirk
|
|
- fix XM replayer channel pan
|
|
- fix MOD loader period to note conversion
|
|
Fix issues reported by Lionel Debroux:
|
|
- fix virtual channel deallocation error handling
|
|
- fix S3M global volume effect
|
|
- fix IT envelope reset on tone portamento
|
|
- fix IT voice leak caused by disabled envelope
|
|
- fix IT volume column tone portamento
|
|
- fix XM envelope position setting
|
|
- fix FT2 arpeggio+portamento quirk with finetunes
|
|
- fix mixer anticlick routines
|
|
- accept S3M modules with invalid effects
|
|
Other changes:
|
|
- fix S3M channel reset on sample end (reported by Alexander Null)
|
|
- fix Noisetracker MOD speed setting (reported by Tero Auvinen)
|
|
- fix IT loader DCA sanity check (reported by Paul Gomez Givera)
|
|
- fix IT envelope reset after offset with portamento
|
|
- fix bidirectional sample interpolation
|
|
- fix mixer resampling and tuning issues
|
|
- add flags to configure player mode
|
|
- add option to set the maximum number of virtual channels
|
|
- add support to IT sample sustain loop
|
|
- code refactoring and cleanup
|
|
|
|
4.3.13 (20160417):
|
|
Fix bugs caught in the OpenMPT test cases:
|
|
- fix IT volume column fine volume slide with row delay
|
|
Other changes:
|
|
- fix MOD vs XM set finetune effect
|
|
- fix IT old instrument volume
|
|
- fix IT panbrello speed
|
|
- fix IT random pan variation left bias
|
|
- fix IT default pan in sample mode (reported by Hai Shalom)
|
|
- fix S3M set pan effect (reported by Hai Shalom and Johannes Schultz)
|
|
- code refactoring and cleanup
|
|
|
|
4.3.12 (20160305):
|
|
Fix bugs caught in the OpenMPT test cases:
|
|
- fix IT note off with instrument
|
|
- fix IT note recover after cut
|
|
- fix IT instrument without note after note cut event
|
|
- fix IT pan reset on new note instead of new instrument
|
|
- fix IT volume swing problems
|
|
- fix XM glissando effect
|
|
- fix Scream Tracker 3 period limits
|
|
- fix Scream Tracker 3 tremolo memory
|
|
Other changes:
|
|
- fix IT pattern break in hexadecimal (reported by StarFox008)
|
|
- fix S3M subsong detection (reported by knight-ryu12)
|
|
- fix S3M/IT special marker handling (reported by knight-ryu12)
|
|
- fix tone portamento memory without note (reported by NoSuck)
|
|
- fix IT pan swing limits
|
|
|
|
4.3.11 (20160212):
|
|
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 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 lite build with IT support disabled
|
|
|
|
4.3.10 (20151231):
|
|
Fix bugs reported by Coverity Scan:
|
|
- fix out of bounds access in IT/XM envelopes
|
|
- fix negative array index read when setting position
|
|
- fix resource leak in module load error handling
|
|
- add sanity check to smix sample loading
|
|
- add error handling to many I/O operations
|
|
- remove dead code in virtual channel manager reset
|
|
- remove unnecessary seeks in format loaders
|
|
- prevent division by zero in memory I/O
|
|
Other changes:
|
|
- fix IT envelope release + fadeout (reported by NoSuck)
|
|
- 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)
|
|
|
|
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 Jonathan Neuschäfer):
|
|
- add sanity check to IT instrument name loader
|
|
- add sanity check to IT loader instrument mapping
|
|
- initialize IT loader last event data
|
|
Other changes:
|
|
- detect Amiga frequency limits in MOD (reported by Mirko Buffoni)
|
|
- fix global volume on restart to invalid row (reported by Adam Purkrt)
|
|
- 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 pre-increment of envelope indexes
|
|
- fix IT note release at end of envelope sustain loop
|
|
- reset channel flags in case of delay effect
|
|
- refactor XM envelopes
|
|
- refactor IT envelopes
|
|
|
|
4.3.7 (20150329):
|
|
- 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
|
|
- fix IT random volume variation
|
|
- fix pattern initialization sanity check
|
|
- fix ++ pattern handling in IT loader (reported by honguito98)
|
|
- 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 IT volume column volume slide effect memory
|
|
- fix IT default filter cutoff on new note
|
|
- fix IT filter envelope memory
|
|
- add sanity check for IT old instrument loading
|
|
- 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 XM loading for MED2XM modules (reported by Lorence Lombardo)
|
|
- add IT random volume variation
|
|
- add IT random pan variation
|
|
|
|
4.3.5 (20150207):
|
|
- 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 parameters and sample size
|
|
- fix mixer index overflow with large samples
|
|
- fix crash on attempt to play invalid sample
|
|
- fix infinite loop in break+delay quirk
|
|
- reset module data before loading module
|
|
- fix loop processing error in scan (reported by Lionel Debroux)
|
|
- fix sample loop adjustment (by Emmanuel Julien)
|
|
|
|
4.3.4 (20150111):
|
|
- 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 overflow in linear interpolator (reported by Jochen Goernitz)
|
|
- fix big-endian detection in configuration (by Andreas Schwab)
|
|
|
|
4.3.3 (20141231):
|
|
- fix XM note delay volume with no note or instrument set
|
|
- fix XM out-of-range note delays with pattern delays
|
|
- fix XM envelope loop length (reported by Per Törner)
|
|
|
|
4.3.2 (20141130):
|
|
- 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
|
|
- 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)
|
|
- add emulation of the FT2 pattern loop bug (by Eugene Toder)
|
|
- code cleanup
|
|
|
|
4.3.1 (20141111):
|
|
- fix IT filter envelope range
|
|
- fix IT envelope carry after envelope end
|
|
- fix IT tone portamento in first note (reported by Jan Engelhardt)
|
|
- 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 XM invalid memory access in event reader
|
|
- fix MOD period range enforcing (reported by Jason Gibson)
|
|
- 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
|
|
|
|
4.3.0 (20140926):
|
|
- rebranded as libxmp-lite
|
|
- build from the same source tree as the full libxmp
|
|
- fix fine volume slide memory
|
|
- fix IT portamento after note end in sample mode
|
|
- fix S3M portamento after note end
|
|
- 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
|
|
- add API call to load a module from a file handle
|
|
- add API call to set default pan separation value
|
|
- refactor memory I/O calls
|
|
- fix segfault in mixer caused by sample position overflow
|
|
- 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 loop counter reset on play buffer reset
|
|
- fix finetune effect
|
|
- 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)
|
|
|
|
4.2.7 (20140412):
|
|
- fix library name in pkg-config file (by Chris Spiegel)
|
|
- fix XM set pan effect
|
|
- fix IT disabled instrument pan
|
|
|
|
4.2.6 (20140407):
|
|
- add configure option to disable IT support
|
|
- minor Visual C++ port fixes
|
|
- add Visual C++ nmake Makefile
|
|
- fix double free in module loaded from memory (by Arnaud Troël)
|
|
- fix Win64 portability issues (reported by Özkan Sezer)
|
|
- fix IT tempo slide effect
|
|
- generate Android NDK static libraries
|
|
|
|
4.2.0 (20140302):
|
|
- forked from libxmp 4.2.5 and removed unnecessary features
|