Hi Ian,
You seem to have changed the behavior of the mentioned flag. I would like to report that this change made the overall behavior worse than before and less compatible with Yamaha/Roland gears.
Previously (tested on Bassmidi v2.4.12.1 and v2.4.14.1) when the BASS_MIDI_NOTEOFF1 flag was enabled it only affected notes that had not finished playing fully. Now Bassmidi remembers missing Note Offs and the flag affects notes that start to play even when all previous notes have finished playing.
I have made a test file to demonstrate the issue. Compare the playback to any Yamaha/Roland HW or soft synths and older vs. current beta Bassmidi.
In case of older Bassmidi and Yamaha/Roland gears the note that starts to play at 00:14.00 finishes right since it has a corresponding Note Off event. Contrary on newest beta version of Bassmidi the Note at 00:14.00 is sustained and Note Off is ignored since there was a missing Note Off after the Note On at 00:02.00.
So this change results in more hanging notes than previously that cannot be reproduced on older Bassmidi and on Yamaha/Roland gears.
Soundfont for testing:
https://falcosoft.hu/reality_gmgs_falcomod.zip@Edit:
It seems the situation is not so black and white as I suspected. The original SC-55 seems to handle the situation the same way as newest beta Bassmidi while e.g. S-YXG50 and Roland/Edirol Virtual Sound Canvas work the same way as older Basmmidi versions.
And MS GM/GS soft synth works like Bassmidi without the BASS_MIDI_NOTEOFF1 flag enabled...
@Edit2:
Sorry, my last correction was wrong, even the original SC-55 works the same way as old Bassmidi versions but the piano has a longer release phase so you have to wait longer than in my test file the last note waits. In case of newest beta Bassmidi you can wait forever, it still remembers the missing Note Off.