I just want to make a post that yesterday I released new stable versions of my software MIDI synthesizer libraries libADLMIDI (an OPL2/OPL3 FM synth based) and libOPNMIDI (an OPN2/OPNA FM synth based).
I hadn't released stable updates of them for a while, just having enough dev-version at everywhere. However, since I done several significant changes, I guess it's a time to release stable updates.
Most significant changes:
Both libraries now finally can play the same note twice in the same MIDI channel without "Device Change" workaround, this fixes playback of music like Heretic's E1M6 and some my custom remixes like this Cumbia Arabe shown in the attached video below.
I impemented support of more chip emulators, including accurate and heavy Nuked LLE emulators (however, they disabled by default since they require really powerful computer to work in real time).
Some glitchy emulators I replaced with nice YMFM emulators, however, they will be enabled when compiler supports C++14.
At libADLMIDI the experimental support for Serial-based hardware support has been implemented such as RetroWave OPL3 boards. It works right now via terminal player (adlmidiplayer) and via VLC plugin if configure properly.
The libADLMIDI now supports OPL2 chips too, before it supported OPL3 only.
Two-voice instruments might be squashed to single-voice if no enough chip channels available to increase polyphony.
At the DOS version of libADLMIDI player now allows to manually specify the hardware address, the type of chip (OPL2 or OPL3), and use Dual-OPL2 as duo-chip, but for polyphony, not for a stereo.