....
Yes, a drum channel's key settings (including reverb/chorus/etc) are reset by MIDI_EVENT_SYSTEM and MIDI_EVENT_PROGRAM (and MIDI_EVENT_DRUMS) events. "Worked perfectly" depends on how you look at it ... It was perfect for you, but it didn't perfectly match what Roland does to the NRPN 1Fxx settings. I agree that having to (re)apply MIDI_EVENT_DRUM_USERFX settings isn't good. I think another flag is needed. Perhaps something like a BASS_MIDI_DRUMUSERFULL flag that always sets MIDI_EVENT_DRUM_USERFX to 127 would work for you?
Actually it was not me, but one of my users
. I have just checked and confirmed the problem:
https://www.vogons.org/viewtopic.php?p=1231467#p1231467I think he is the author of ColomboGMGS2. (
https://www.deviantart.com/colombogmgs2).
Although BASSMIDI doesn't implement Roland's delay effect, it could be that a user implements it and expects the CC94 and NRPN 1Fxx defaults to match Roland's.
Based on the bug report it seems in practice it's just the opposite. User(s) used it and do not understand what happened and why. Moreover it's rather easy to disable the effect on drum channels by setting CC#94 to 0. And you could do this with the old versions of Bassmidi and any Midi software that can send controllers easily. Unfortunately this is not so easy the other way around currently.
In case of Bassmidi CC#94 was "UserFx" from the beginning and was actually the only easy way to assign custom DSP effects to any channels. Roland never worked this way. In case of Roland CC#94 is fixed to Delay. Delay is not the best effect for drums so disbaling it is understandable.
But I still do not understand why Bassmidi should replicate Roland's behavior in this case (by default!). Delay is only one possible user effects from the million other ones and now none of them can be applied for drums. Contrary it was always easy to disable any effects on drum channels. So I feel a net loss with this change,
But , yes a flag like the above mentioned would be a more friendly solution.
If you would be so kind, please compile a non-SSE x86 version of the fixed Bassmidi library for me (this will be the last occasion I ask something like this , I promise).