Midi and virtual intruments


could somebody confirm and explain the following behavior?

I have my plugin compiled as instrument and then I noticed that Midi events, coming from the processblock, also seem to be bypassed to the plugin Midi output. I discovered that in Ableton 9 having my plugin inserted as instrument and another Midi track its input connected to the plugin its Midi output. My plugin provides Midi event filter that also works on the processblock Midi buffer and I set it up to filter out Note events. This work pretty well when the plugin is compiled as audio effect only while I still hear Note messages if the plugin is an instrument.

Does anybody have the same experiences?




Do you empty the midi input buffer before filling it with your data?

No, but I have a filter class running that removes these particular Note messages from the host its midi buffer. So they shouldn't appear at the plugin midi output anymore. I have another method checking that the removal was successful.

Are you sure you are working on the MidiBuffer instance passed in and removing the Messages from that, and not with a copy?

I am for 100% sure that I am working on the reference passed in. This problem does NOT exist if I compile the plugin as

effect instead of instrument. If my code is wrong then I should see the same behavior then, right? It also does NOT exist

using Reaper as host or Cubase.