It seems that, from my basic understanding of the audio graph code, there is only one channel available for MIDI routing. This sole channel seems to behave in the form of “MIDI omni”: where all MIDI input sources and channels tie together as one.
(See: const int AudioProcessorGraph::midiChannelIndex = 0x1000; in juce_AudioProcessorGraph.cpp)
Is it possible to route separate MIDI channels to separate VSTs? As in, MIDI instrument A, channel 01 goes to plugin A, while MIDI instrument A, channel 02 goes to plugin B, and so forth.
Similarly, is it possible to route data from separate MIDI input devices to various plugin instances, in whatever channel configuration? As in, MIDI Instrument A goes to plugin A, while MIDI Instrument B goes to plugin B, and so forth.
The attachment below demonstrates the present “MIDI omni” scenario, where 2 separate Midi Input “filters” are created, although the same MIDI data is being sent to both VSTs loaded.