I want to build an AudioProcessor whose purpose is to do simple (and maybe later not so simple) MIDI transformations. I'd rather perform those transformations when MIDI events arrive (generally from the outside world and obviously happening at a far lower rate than audio events) rather than within the processBlock callback.
From reading the code, my sense is that the best way to do this would be to subclass the MidiMessageCollector so that we could implement our own version of "addMessageToQueue". However, in MidiMessageCollector, that method is not marked as virtual. Obviously I could (and in fact have done so) just mark that original method as virtual and be on my way but I'm wondering whether this is something that would make more sense as a general change.
Thoughts (and perhaps alternative approaches) appreciated.