Releases: Wohlstand/libADLMIDI
Releases · Wohlstand/libADLMIDI
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!)
libADLMIDI v.1.3.2
1.3.2 2018-04-24
- Added ability to disable MUS and XMI converters
- Added ability to disable embedded MIDI sequencer to use library as RealTime synthesizer only or use any custom MIDI sequencer plugins.
- Fixed blank instruments fallback in multi-bank support. When using non-zero bank, if instrument is blank, then, instrument will be taken from a root (I.e. zero bank).
- Added support for real-time switching the emulator
- Added support for CC-120 - "All sound off" on the MIDI channel
- Changed logic of CC-74 Brightness to affect sound only between 0 and 64 like real XG synthesizers. Ability to turn on a full-ranged brightness (to use full 0...127 range) is kept.
- Added support for different output sample formats (PCM8, PCM8U, PCM16, PCM16U, PCM32, PCM32U, Float32, and Float64) (Thanks to Jean Pierre Cimalando for a work!)
- Reworked MIDI channels management to avoid any memory reallocations while music processing for a hard real time. (Thanks to Jean Pierre Cimalando for a work!)
libADLMIDI v.1.3.2 [Beta]
1.3.2 2018-04-19
- Added ability to disable MUS and XMI converters
- Added ability to disable embedded MIDI sequencer to use library as RealTime synthesizer only or use any custom MIDI sequencer plugins.
- Fixed blank instruments fallback in multi-bank support. When using non-zero bank, if instrument is blank, then, instrument will be taken from a root (I.e. zero bank).
- Added support for real-time switching the emulator
- Added support for CC-120 - "All sound off" on the MIDI channel
- Changed logic of CC-74 Brightness to affect sound only between 0 and 64 like real XG synthesizers. Ability to turn on a full-ranged brightness (to use full 0...127 range) is kept.
- Added support for different output sample formats (PCM8, PCM8U, PCM16, PCM16U, PCM32, PCM32U, Float32, and Float64) (Thanks to Jean Pierre Cimalando for a work!)