Logic allows MIDI plugins to send data to the outside via selectable MIDI ports.
How?
I think they are just using CoreMidi. The
Widisoft Audio-to-MIDI plugin provides MIDI output since quite a long time. Mine is from May 2007, the last ReadMe file from 2006. I use it often (the plugin, not the ReadMe) to trigger synths live via an acoustic guitar.
Some developers claim that MIDI I/O is impossible for AU plugins but they do not recognize that we would be happy with CoreMidi ports. It almost looks as if they do not like the idea but we could change their opinion if we tell them that we would be very happy if plugins would only provide the list of available MIDI ports. Preferably outputs and inputs. We would handle the rest on our own, using the IAC bus or hardware interfaces. Of course it would be better to route directly between plugins but if it runs through the Mac's MIDI system with reasonable latency, who cares. And not to forget that CoreMIDI would be available in all Mac DAW's, which is a good argument because nobody apart from Apple wants to develop a plugin for Logic only.
I just learned about the new Bidule plugin from Per's post and have to investigate this software. I am not very familiar with Bidule yet but this plugin version is interesting.
---
In the the screenshot below you see a WIDI and a Bidule plugin in an instrument channel. The WIDI output selector sees all my MIDI inputs plus four Bidule inputs that are obviously created by the Bidule plugin:
It does not matter if Bidule is used as instrument or in an insert slot. The ports are here in both applications. MidiPipe is just in the list because I used it to check if the ports are system-wide.
Here is what you get in the Physical Input of the environment:
And finally the output list of an instrument that shows the new inputs:
The examples above do not prove that direct routing between plugins is actually possible, it rather is not due to the AU characteristics. But at least we see that inputs and outputs can be created. From the long existing WIDI plugin alone we can tell that sending MIDI out from an AU plugin does work.
---
Did anyone with Bidule knowledge manage to use the inputs and outputs of the plugin version directly, to route between plugins? I believe this is not possible but it would be great news if it is.