Skip to content

Releases: libxmp/libxmp

libxmp 4.6.0

15 Jun 20:34
Compare
Choose a tag to compare

Checksums (sha256):

2d3c45fe523b50907e89e60f9a3b7f4cc9aab83ec9dbba7743eaffbcdcb35ea6  libxmp-4.6.0.tar.gz
71a93eb0119824bcc56eca95db154d1cdf30304b33d89a4732de6fef8a2c6f38  libxmp-lite-4.6.0.tar.gz

Changes in version 4.6.0 (2023-06-15):

  • Fix linkage with gcc when versioned symbols and LTO are enabled.
  • Cmake build system support.
  • Several build system updates.
  • Fixed numerous defects found by fuzzing.
  • Cleanups and refactoring of platform-specific code.
  • Multiple code cleanups.
  • Add Astroidea XMF format loader.
  • 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.
  • 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.
  • Fix detection for TakeTracker TDZx MODs.
  • Fix loading of Digital Tracker FA0x MODs.
  • Fix ASYLUM Music Format restart byte.
  • Galaxy Music System loading no longer needs including depackers
    to inflate MUSE container.
  • Fix >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.
  • Fix Digital Symphony effects and pattern loading issues.
  • Fix support for most Farandole Composer effects.
  • Implement Ultra Tracker tone portamento.
  • Fix MMD0 pattern loader to honor play transpose setting.
  • Multiple OctaMED fixes and support for MMDC packed modules.
  • Fix MED Soundstudio 2 default note events.
  • Fix MTM tempo effect and FX_SPEED scan bugs.
  • Add MTM module tempo mode detection and comments support.
  • Multiple fixes 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 the module directory.
  • Fix misc. bugs in the MASI 16 loader.
  • Integrate the OXM depacker with the XM loader.
  • Fix heap corruption in Coconizer loader with invalid sequences.
  • Fix MMCMP literal block unpacking.
  • Fix bad seeking behavior in MMCMP compressed blocks.
  • New permissive licensed Amiga LZX and ARC/ArcFS depackers.
  • Update XZ depacker with an MIT reimplementation.
  • Change several depackers to work without using a temporary file.
  • Replace inflate code with permissive licensed miniz.
  • Update the bzip2 depacker code to a newer 0BSD-licensed version.
  • Update to latest version of stb_vorbis depacker.
  • Relicensed XFD decruncher under MIT.
  • Fixes and cleanups for C++ compatibility.
  • Fix compilation for UWP platform.

libxmp 4.5.0

10 Jun 01:20
Compare
Choose a tag to compare

Checksums (sha256):

7847d262112d14e8442f44e5ac6ed9ddbca54c251284720b563c852b31f26e75  libxmp-4.5.0.tar.gz
19a019abd5a3ddf449cd20ca52cfe18970f6ab28abdffdd54cff563981a943bb  libxmp-lite-4.5.0.tar.gz

Changes in version 4.5.0 (2021-06-06):

  • explicitly document that callers of xmp_load_module_from_file()
    are responsible for closing their own file.
  • xmp_load_module_from_memory() no longer accepts sizes <= 0.
  • add new xmp_syserrno call to the api
  • 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_callbacks and xmp_test_module_from_callbacks
    added to api
  • add xmp_test_module_from_memory and xmp_test_module_from_file
    calls to api
  • 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
  • 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 lite build mod loader symbols
  • fix windows static library builds
  • fix linkage errors with MSVC debug builds
  • fix Emscripten builds
  • fix win64 compatibility in ptpopen()
  • 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 builds
  • fix xmp_set_position et al. when used during loops, pattern delay
  • make xmp_set_position() consistently clear pattern break/jump vars
  • fix vorbis depacker to function properly on big endian systems
  • avoid shell command injection when calling external unmo3 or unrar
  • fix volume event handling for FAR modules
  • fix GDM loader to correctly handle empty notes
  • fix GDM fine effects
  • fix incorrect handling of GDM speed effect
  • implement GDM surround effect
  • add support for DSMI 0.8 and 0.9 AMF modules
  • fix incorrect DSMI AMF volume and note 0x7f handling
  • fix DSMI AMF track 0 remapping bug
  • fix DSMI AMF speed effect and pan command conversions
  • fix IMAGO Orpheus channel panning and status values
  • fix S3M ADPCM4 samples
  • fix OctaMED 'tracker compatibility' tempos, more accurate OctaMED
    8-channel mode BPM tables.
  • ignore MED volume/slide effects with param of 0, fix speed bound.
  • improve MOD loader checks for Mod's Grave WOW files
  • fix Schism Tracker version date calculation
  • fix MED2 BPM handling
  • fix MED modules with pattern lengths > 256
  • fix MED instrument corruption
  • allow up to 512 rows in X-Tracker patterns
  • add support for DigiBooster Pro pan envelopes
  • fix DigiBooster Pro volume envelope number of points
  • fix fine effects for DigiBooster Pro modules
  • fix loading DigiBooster Pro modules with large sample chunks
  • 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 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
  • fix xmp_release_module double frees when invoked multiple times
  • check external sample file names before opening them
  • make it possible to disable module depacker functionality
  • make it possible to disable prowizard module loaders
  • fix samples corruption in STM modules
  • support more versions of STM modules
  • fix number of envelope points sanity check in IMF loader
  • rewrite the UMX loader
  • revise sanity checks to prevent oob reads in s404 depacker
  • 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 mute status on player creation
  • fix sanity check in Digital Symphony loader
  • fix and enable the Coconizer loader
  • fix MMD3 instrument type sanity check
  • fix strictness of MOD pattern data tester
  • fix loading of XMLiTE XM modules
  • fix loading of ST modules with invalid names
  • fix PTM loader issues
  • fix MED4 invalid sample load error
  • fix NNA and DCT/DCA issues
  • handle XM 16-bit samples with odd in-file data
  • fix smix sample allocation
  • force reset of buffer state on player start
  • fix IT pattern delay volume reset bug (read row events only
    once per row)
  • fix volume, pitch and pan slides lagging behind one frame
  • fix tempo assignment in module scan to fix seek issues/crashes
  • fix double free in case of ADPCM sample load error
  • code refactoring and cleanup
  • fix XM keyoff with instrument
  • fix loading xm instruments with more than 16 samples
  • several code clean-ups