Releases: Wohlstand/libADLMIDI
Releases · Wohlstand/libADLMIDI
libADLMIDI v1.6.1
Changelog 1.6.1 2025-09-22
- WinMM: Fixed random crash on waveOutOpen initialisation because of incorrect initialisation structure usage.
- Fixed crash when playing too many notes at the same channel.
- Fixed an unexpected loud noise sounding after switching bank from the 4-op only to 2-op on the fly.
- WinMM: Fixed sound damange when switching between banks while playing some music streams.
- Fixed the crash when playing some files with Auto-Arpeggio enabled.
- Added support for KLM music files from the Wacky Wheels game.
- Fixed buffered data corruption that leads a noisy output at some emulators (primarily at the LLE-OPL3).
libADLMIDI v1.6.0
Changelog 1.6.0 2025-07-05
- Fixed the work on big endian processors
- Fixed ARM64 build on some platforms
- Improved support of the EA-MUS files (Thanks to dashodanger)
- Fixed crash on attempt to change the volume of a blank note
- Added an ability to supply the custom list of embedded banks using
-DGENADLDATA_CUSTOM_BANKLIST=/path/to/ini/file.iniargument - Improved support of the CMF files: added support for previously missing transpose, depth control, and song marker controllers
- Added ESFMu emulator for the future ESFM support (Currently used as one another OPL3 emulator and without panned stereo support yet).
- Added YMFM emulator support (OPL3 and OPL2).
- Added support for OPL2 mode when some emulators enabled.
- Added ability to change the hardware address at the DOS version of MIDI player.
- Added an ability to manually specify the chip type (OPL2 or OPL3) at the DOS version of MIDI player.
- Added an automatical detection of OPL2 or OPL3 chip depending on the BLASTER environment variable's value at the DOS version of MIDI player.
- Added Nuked OPL2 and OPL3 Low-Level emulators (Kept disabled by default because they are too heavy for ordinary processors).
- Fixed a dead loop that might happen when final tone gets lower than zero.
- Added possibility to play the same note multiple times at the same MIDI channel (Resolved playback of some music, like Heretic's E1M6).
- Dual-voice 2-op instruments will be squashed to single 2-op voice when available chip channels are overflow (The stability of DMX-oriented music has been improved).
libADLMIDI 1.5.1
Changelog 1.5.1 2022-10-31
- Added an ability to disable the automatical arpeggio
- Added an ability to set the count of loops (how many times to play the song)
- Added an ability to disable/enable the playing of selected MIDI channels
- Fixed memory damages and crashes while playing XMI files
- Added bank-specific MT32 defaults (to don't confuse XMI playback between different games, works for AIL and IBK only, and for WOPL if set at the header)
- Added the chip channels allocation mode option
- Fixed the playback of multi-song XMI files
- Added an ability to switch the XMI song on the fly
libADLMIDI v.1.5.0.1
Changelog 1.5.0.1 2020-10-11 HOTFIX
- Fixed an incorrect timer processing when using a real-time interface
libADLMIDI v.1.5.0
Changelog 1.5.0 2020-09-28
- Drum note length expanding is now supported in real-time mode (Thanks to Jean Pierre Cimalando for a work!)
- Channels manager has been improved (Thanks to Jean Pierre Cimalando for a work!)
- Nuked OPL3 1.8 emulator got some optimizations ported from 1.7 where they are was applied previously (Thanks to Jean Pierre Cimalando for a work!)
- Reworked rhythm-mode percussions system, WOPL banks with rhythm-mode percussions
- Added Public Domain Opal OPL3 emulator made by Reality (a team who originally made the Reality Adlib Tracker) (Thanks to Jean Pierre Cimalando for a work!)
- Added LGPL licensed JavaOPL3 emulator made by Robson Cozendey in Java and later rewritten into C++ for GZDoom (Thanks to Jean Pierre Cimalando for a work!)
- Fully rewritten an embedded bank database format, embedded banks now supports a wider set (more than 127:127 instruments in one bank)
- Improved accuracy of the DMX volume model, include the buggy AM interpretation
- Improved accuracy of Apogee volume model, include the bug of AM instruments
- Improved accuracy of the Win9X volume model
- Removed C++ extras. C++-bounded instruments tester is useless since a real-time MIDI API can completely replace it
- Added AIL volume model
- Added Generic FM variant of Win9X volume model
- Fixed an incorrect work of CC-121 (See #227 for details)
- Added HMI volume model (Thanks to Alexey Khokholov for help with research!)
- Added frequency models, assigned to every volume model: AIL, HMI, DMX, Apogee, 9X, and the Generic formula
libADLMIDI v.1.4.0 - HOTFIX
1.4.0.1 2018-10-01
- Fixed a measurer on side of Gen-ADLDATA utility where it caused some false zero releasing time of some instruments.
- Full set of embedded banks has been re-calculated
1.4.0 2018-10-01
- Implemented a full support for Portamento! (Thanks to Jean Pierre Cimalando for a work!)
- Added support for SysEx event handling! (Thanks to Jean Pierre Cimalando for a work!)
- Added support for GS way of custom drum channels (through SysEx events)
- Ignore some NRPN events and lsb bank number when using GS standard (after catching of GS Reset SysEx call)
- Added support for CC66-Sostenuto controller (Pedal hold of currently-pressed notes only while CC64 holds also all next notes)
- Added support for CC67-SoftPedal controller (SoftPedal lowers the volume of notes played)
- Fixed correctness of CMF files playing
- Fixed unnecessary overuse of chip channels by blank notes
- Added API to disable specific MIDI tracks or play one of MIDI tracks solo
- Added support for more complex loop (loopStart=XX, loopEnd=0). Where XX - count of loops, or 0 - infinite. Nested loops are supported without of any limits.
- XMIDI now supports loops
- Added working implementation of TMB's velocity offset
- Added support for full-panning stereo option (Thanks to Christopher Snowhill for a work!)
- Fixed inability to play high notes due physical tone frequency out of range on the OPL3 chip
libADLMIDI v.1.4.0
1.4.0 2018-10-01
- Implemented a full support for Portamento! (Thanks to Jean Pierre Cimalando for a work!)
- Added support for SysEx event handling! (Thanks to Jean Pierre Cimalando for a work!)
- Added support for GS way of custom drum channels (through SysEx events)
- Ignore some NRPN events and lsb bank number when using GS standard (after catching of GS Reset SysEx call)
- Added support for CC66-Sostenuto controller (Pedal hold of currently-pressed notes only while CC64 holds also all next notes)
- Added support for CC67-SoftPedal controller (SoftPedal lowers the volume of notes played)
- Fixed correctness of CMF files playing
- Fixed unnecessary overuse of chip channels by blank notes
- Added API to disable specific MIDI tracks or play one of MIDI tracks solo
- Added support for more complex loop (loopStart=XX, loopEnd=0). Where XX - count of loops, or 0 - infinite. Nested loops are supported without of any limits.
- XMIDI now supports loops
- Added working implementation of TMB's velocity offset
- Added support for full-panning stereo option (Thanks to Christopher Snowhill for a work!)
- Fixed inability to play high notes due physical tone frequency out of range on the OPL3 chip
libADLMIDI v.1.4.0-beta
Beta release to test, polish, and fix bugs until release current state.
libADLMIDI v.1.3.3 HOTFIX-1
v1.3.3-1 Merge branch 'master' into stable
libADLMIDI v.1.3.3
1.3.3 2018-06-19
- Fixed an inability to load another custom bank without of library re-initialization
- Optimizing the MIDI banks management system for MultiBanks (Thanks to Jean Pierre Cimalando for a work!)
- Fixed incorrect 4-op counter which is still catch 4-op instruments on 2-op banks
- Fixed an incorrect processing of auto-flags
- Fixed incorrect initial MIDI tempo when MIDI file doesn't includes the tempo event
- Channel and Note Aftertouch features are now supported correctly! Aftertouch is the tremolo / vibrato, NOT A VOLUME!
- Updated DosBox OPL3 emulator up to r4111 of official DosBox trunk (Thanks to Jean Pierre Cimalando for a work!)
- The automatical choosing of 4 operator channels count has been improved (Thanks to Jean Pierre Cimalando for a work!)
- Added optional HQ resampler for Nuked OPL3 emulators which does usage of Zita-Resampler library (Thanks to Jean Pierre Cimalando for a work!)