Skip to content

Releases: Wohlstand/libADLMIDI

libADLMIDI v1.6.1

21 Sep 23:20
2b350f9

Choose a tag to compare

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

05 Jul 06:31
99d07d2

Choose a tag to compare

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.ini argument
  • 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

31 Oct 07:33
84d27bc

Choose a tag to compare

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

10 Oct 22:38
c962230

Choose a tag to compare

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

28 Sep 16:39
e8ee600

Choose a tag to compare

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

01 Oct 16:02

Choose a tag to compare

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

01 Oct 01:17

Choose a tag to compare

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

03 Sep 22:29

Choose a tag to compare

Pre-release

Beta release to test, polish, and fix bugs until release current state.

libADLMIDI v.1.3.3 HOTFIX-1

19 Jun 19:58

Choose a tag to compare

v1.3.3-1

Merge branch 'master' into stable

libADLMIDI v.1.3.3

19 Jun 12:06

Choose a tag to compare

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!)