AU MIDI out on Mac
- KVRAF
- Topic Starter
- 11001 posts since 15 Apr, 2019 from Nowhere
Haven’t had much luck finding out if there are plans to implement MIDI out with a Google search, so wondered if anyone here has any insight into this?
Obviously it’s working on iOS with AUv3, so it seems like AU on Macs is lagging behind.
Do any developers here know the status of this, or if Apple has plans to implement it?
Obviously it’s working on iOS with AUv3, so it seems like AU on Macs is lagging behind.
Do any developers here know the status of this, or if Apple has plans to implement it?
-
Blue Cat Audio Blue Cat Audio https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=39981
- KVRAF
- 5821 posts since 8 Sep, 2004 from Paris (France)
It has actually been implemented for years on Mac, but not many hosts support it, and Logic's implementation is a bit awkward (it is supported only in some specific cases, such as MIDI effects).
- KVRAF
- Topic Starter
- 11001 posts since 15 Apr, 2019 from Nowhere
I know Logic doesn’t support it, but wasn’t aware of other hosts that do. Is there any source of information that might show whether it is supported?
-
Blue Cat Audio Blue Cat Audio https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=39981
- KVRAF
- 5821 posts since 8 Sep, 2004 from Paris (France)
Logic actually supports it for MIDI Audio Units, it;s just a bit if a mess for other types of effects. I am not sure which other hosts support it, as they are usually also VST-compatible, so there is always a workaround.
But our own plug-in host applications (and plug-ins) do support it.
- KVRAF
- Topic Starter
- 11001 posts since 15 Apr, 2019 from Nowhere
So to clarify...Blue Cat Audio wrote: ↑Thu Feb 06, 2020 4:07 pmLogic actually supports it for MIDI Audio Units, it;s just a bit if a mess for other types of effects. I am not sure which other hosts support it, as they are usually also VST-compatible, so there is always a workaround.
But our own plug-in host applications (and plug-ins) do support it.
If I load an AU plugin that supports MIDI out into PatchWork in Logic, I could send its MIDI output to an instrument plugin in PatchWork then route the audio output of PatchWork back to Logic?
-
Blue Cat Audio Blue Cat Audio https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=39981
- KVRAF
- 5821 posts since 8 Sep, 2004 from Paris (France)
Yes. Just use a virtual Midi port (A to P) to route the events inside Patchwork.
-
- KVRist
- 245 posts since 11 May, 2014
This isn’t secret stuff, but do you have links to sample code or documentation that shows how to do this, either Apple links or other links.Blue Cat Audio wrote: ↑Thu Feb 06, 2020 4:07 pmLogic actually supports it for MIDI Audio Units, it;s just a bit if a mess for other types of effects. I am not sure which other hosts support it, as they are usually also VST-compatible, so there is always a workaround.
But our own plug-in host applications (and plug-ins) do support it.
Thanks for any info on this
- KVRAF
- Topic Starter
- 11001 posts since 15 Apr, 2019 from Nowhere
Looked like more value in getting the Axe Pack, so just got that - will try it out a little tonight!Blue Cat Audio wrote: ↑Wed Feb 19, 2020 7:26 am Yes. Just use a virtual Midi port (A to P) to route the events inside Patchwork.
-
Blue Cat Audio Blue Cat Audio https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=39981
- KVRAF
- 5821 posts since 8 Sep, 2004 from Paris (France)
It's definitely not a secret... The more plug-ins and hosts support it the better for the community!ValliSoftware wrote: ↑Wed Feb 19, 2020 7:58 pm This isn’t secret stuff, but do you have links to sample code or documentation that shows how to do this, either Apple links or other links.
Thanks for any info on this
If I remember well, the plug-in has to implement both the kAudioUnitProperty_MIDIOutputCallbackInfo and kAudioUnitProperty_MIDIOutputCallback properties (you can google them to get more info).
If the plug-in responds to the first with a non-empty list of ports, the host should set the callback pointer using the other property. The plug-in can then use the callback to send MIDI messages.
Hope this helps!
-
- KVRist
- 245 posts since 11 May, 2014
Sorry for the late reply.Blue Cat Audio wrote: ↑Thu Feb 20, 2020 10:56 amIt's definitely not a secret... The more plug-ins and hosts support it the better for the community!ValliSoftware wrote: ↑Wed Feb 19, 2020 7:58 pm This isn’t secret stuff, but do you have links to sample code or documentation that shows how to do this, either Apple links or other links.
Thanks for any info on this
If I remember well, the plug-in has to implement both the kAudioUnitProperty_MIDIOutputCallbackInfo and kAudioUnitProperty_MIDIOutputCallback properties (you can google them to get more info).
If the plug-in responds to the first with a non-empty list of ports, the host should set the callback pointer using the other property. The plug-in can then use the callback to send MIDI messages.
Hope this helps!
MIDI-FX plug-in, this works but in the Mixer, cabling out of the instrument doesn't show the changes, it shows what was MIDI received, not MIDI modified.
For a AU Instrument, again, the cabling out of the instrument doesn't reflect the MIDI modified as well.
After some testing, I actually figured out a way how to do this without going thru IAC.
One of the reasons I don't want to use IAC is because in Clicks&Ports, majority of the time if you create a virtual MIDI, the cabling you do is gone every time you start the Logic Project. This makes sense because the virtual MIDI that I have was created in a AU Instrument I wrote, so if the AU Instrument gets created slightly later, that explains why the cabling is gone.
-
Blue Cat Audio Blue Cat Audio https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=39981
- KVRAF
- 5821 posts since 8 Sep, 2004 from Paris (France)
Logic's implementation is indeed awkward. It used to work at some point to get MIDI out of plug-ins but required to use the environment, and it stopped working properly at some point. I am not 100% sure what the exact status is today, but it is probably still a mess!
- KVRist
- 243 posts since 24 Aug, 2014
The latest Logic version does support MIDI FX plugins. There is a dedicated section in a bus for them (see the attachment with my plugin example), only plugins from that section can send MIDI out. Make sure you set the right audio component type in Info.plist.
Code: Select all
<key>type</key>
<string>aumi</string>
You do not have the required permissions to view the files attached to this post.
-
- KVRer
- 3 posts since 8 Mar, 2020
Hey guys ! I think I have some interesting cues for you to solve the MIDI out of Audio Units. As I understand AU may now support it but most AU plugins on the market do not have the function written inside them. So yes Blue Cat's Patchbay is great to help solve some part of the dilemma (reinstalling all AU with their VST version). What I wanted is to use plugins that generated MIDI rhythms out of them to feed virtual instruments. The first choice was to tell my DAW to no longer use AU but VST instead and reinstall all my virtual instruments and effects (I use Digital Performer). So before this hard and long task I did this test in Blue Cat's Patchbay. On the first row I put Kontakt (VST), inside Kontakt I loaded Riff Generation (an audio plugin that generates MIDI out); on the next slot I loaded Ni-Battery. I told Blue cat's to send MIDI OUT of Kontakt to virtual port A and to Ni-Battery to receive MIDI IN from virtual port A. It works. But here is the thick. Kontakt or any other MIDI OUT stream generator in the first slot has to send MIDI out data for real. I tried the same setup but instead, loaded a AU version of Kontakt and nothing happened. So even as recent version of AU may be able to handle MIDI out of audio instruments, even if I checked in Kontakt " send MIDI to outside world" as long as I was using the AU version of Kontakt I worked for nothing. As soon as I used the VST version of Kontakt and load a generator inside it, then voila ! I think the same is true with any other similar plugins, Scaler, Instachord, etc. Then what I did is to load more than on virtuel instrument within Blue Cat's Patchwork each one receiving from the same MIDI port and for a better control, I sent each of them to separated audio outputs 1-2, 3-4, 5-6 and in my DAW, created 3 AUX tracks with inputs on 1-2, 3-4 and 5-6. There I have an easier control of each instrument volume and I can add effects or inserts with greater flexibility. All in all, I think AU is not convenient for now with MIDI OUT virtual instruments and pattern generators. And instead of reinstalling all your plugins, use Blue Cat's Patchwork inside which you must use the VST version of your MIDI Out generator.
-
Blue Cat Audio Blue Cat Audio https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=39981
- KVRAF
- 5821 posts since 8 Sep, 2004 from Paris (France)
MIDI out for Audio Units is actually a feature that has been available for years. However many host applications and plug-ins still do not support this, that's right (it's poorly documented). Using VSTs is indeed the right solution in this case!stereotrope wrote: ↑Sat Apr 10, 2021 9:01 pm Hey guys ! I think I have some interesting cues for you to solve the MIDI out of Audio Units. As I understand AU may now support it but most AU plugins on the market do not have the function written inside them. So yes Blue Cat's Patchbay is great to help solve some part of the dilemma (reinstalling all AU with their VST version). What I wanted is to use plugins that generated MIDI rhythms out of them to feed virtual instruments. The first choice was to tell my DAW to no longer use AU but VST instead and reinstall all my virtual instruments and effects (I use Digital Performer). So before this hard and long task I did this test in Blue Cat's Patchbay. On the first row I put Kontakt (VST), inside Kontakt I loaded Riff Generation (an audio plugin that generates MIDI out); on the next slot I loaded Ni-Battery. I told Blue cat's to send MIDI OUT of Kontakt to virtual port A and to Ni-Battery to receive MIDI IN from virtual port A. It works. But here is the thick. Kontakt or any other MIDI OUT stream generator in the first slot has to send MIDI out data for real. I tried the same setup but instead, loaded a AU version of Kontakt and nothing happened. So even as recent version of AU may be able to handle MIDI out of audio instruments, even if I checked in Kontakt " send MIDI to outside world" as long as I was using the AU version of Kontakt I worked for nothing. As soon as I used the VST version of Kontakt and load a generator inside it, then voila ! I think the same is true with any other similar plugins, Scaler, Instachord, etc. Then what I did is to load more than on virtuel instrument within Blue Cat's Patchwork each one receiving from the same MIDI port and for a better control, I sent each of them to separated audio outputs 1-2, 3-4, 5-6 and in my DAW, created 3 AUX tracks with inputs on 1-2, 3-4 and 5-6. There I have an easier control of each instrument volume and I can add effects or inserts with greater flexibility. All in all, I think AU is not convenient for now with MIDI OUT virtual instruments and pattern generators. And instead of reinstalling all your plugins, use Blue Cat's Patchwork inside which you must use the VST version of your MIDI Out generator.