Hello!
Recently we are discussed about of giving support to libADLMIDI use multiple emulators (in the current case, support all emulators are supported by "OPL Synth Emulation" device now) with an ability to switch them in run time.
It's my backend stuff I implemented over Nuked OPL3 and DosBox emulator:
https://github.com/Wohlstand/OPL3BankEd ... /opl/chips
And on OPNMIDI side I made it over Nuked OPN2, MAME YM2612, and GENS 2.10 emulators:
https://github.com/Wohlstand/libOPNMIDI ... /src/chips
I have checked out emulators inside of GZDoom and I found Java OPL3 emulator is "too integrated" into GZDoom and to have used it separately, it also will pull a dozen of other files are not related to emulator itself, but GZDoom in most.
I gonna to remove dependencies of Java OPL3 emulator on GZDoom's guts to let it be a pure STL-C++ that can be used everywhere. I created this to discuss the entire process and ask any questions related to GZDoom's internals.