Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update libADLMIDI and libOPNMIDI #12

Merged
merged 11 commits into from
Oct 4, 2020
Merged

Conversation

Wohlstand
Copy link
Contributor

Since the previous update that I did in 2018, I didn't care about releases for a while. So, It's time to update!

I'll also send a commit to the GZDoom because of dependent changes.

libADLMIDI 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 Conformity of CC#121 reset all controllers Wohlstand/libADLMIDI#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

libOPNMIDI 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!)
  • Added support for OPNA chip with Neko Project II Kai YM2602 emulator usage (Thanks to Jean Pierre Cimalando for a work!)
  • Added VGM file dumper which allows outputting OPN2 commands into VGM file. (A new MIDI to VGM tool is now created with basing on libOPNMIDI) (This thing wasn't added into GZDoom specific copy as it's useless: for a work it requires MIDI2VGM tool)
  • Fixed an incorrect work of CC-121 (See Conformity of CC#121 reset all controllers Wohlstand/libADLMIDI#227 for details)
  • Internality has been refactored and improved

## 1.5.0   2020-09-28
 * Drum note length expanding is now supported in real-time mode (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)
 * Channels manager has been improved (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) 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](https://github.com/jpcima) 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](https://github.com/jpcima) 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](https://github.com/jpcima) 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 Wohlstand/libADLMIDI#227 for details)
 * Added HMI volume model (Thanks to [Alexey Khokholov](https://github.com/nukeykt) for help with research!)
 * Added frequency models, assigned to every volume model: AIL, HMI, DMX, Apogee, 9X, and the Generic formula
## 1.5.0   2020-09-28
 * Drum note length expanding is now supported in real-time mode (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)
 * Added support for OPNA chip with Neko Project II Kai YM2602 emulator usage (Thanks to [Jean Pierre Cimalando](https://github.com/jpcima) for a work!)
 * Added VGM file dumper which allows to output OPN2 commands into VGM file. (A new MIDI to VGM tool is now created with basing on libOPNMIDI)
 * Fixed an incorrect work of CC-121 (See Wohlstand/libADLMIDI#227 for details)
 * Internality has been refactored and improved
After a small set of tests, it's fine to use the "AUTO" volume model by default.
Every embedded bank and every WOPL file has a setting of a volume model that matches to the behavior of the original OPL2/3 driver of each volume model.
@Wohlstand
Copy link
Contributor Author

Damn, I forgot to include the workaround for MSVC at PMDWin emulator... it won't build because of missing unistd.h.

Wohlstand and others added 4 commits September 29, 2020 01:57
They are supported by those engines and needed for XG and GS specific controls: GS custom drums are working and supported!
Different volume models were means louder or quiter sounding of the rest of notes in the song. And to avoid the mess between volume models, let's use different gain factor for each volume model?
@coelckers coelckers merged commit 8c9f402 into ZDoom:master Oct 4, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants