The ymfm library contains a variety of enulated FM chips, including the OPL2/OPL3, and is under a BSD-3 license: https://github.com/aaronsgiles/ymfm
Performance and compatibility is good afaik, however the code needs a C++14 compliant compiler.
There is however a single-header port of the OPL part of ymfm back to pure C here: https://github.com/mattiasgustavsson/libs/blob/main/opl.h
This header also includes MIDI playback routines from the DOSMidi project that we would not need, but maybe the OPL2/3 part could be an easy to integrate alternative backend for ADLMIDI?
The ymfm library contains a variety of enulated FM chips, including the OPL2/OPL3, and is under a BSD-3 license: https://github.com/aaronsgiles/ymfm
Performance and compatibility is good afaik, however the code needs a C++14 compliant compiler.
There is however a single-header port of the OPL part of ymfm back to pure C here: https://github.com/mattiasgustavsson/libs/blob/main/opl.h
This header also includes MIDI playback routines from the DOSMidi project that we would not need, but maybe the OPL2/3 part could be an easy to integrate alternative backend for ADLMIDI?