A technical support community for Apple Logic Pro users.

 
User avatar
Dewdman42
Topic Author
Posts: 3093
Joined: Tue Sep 09, 2014 3:01 pm
Location: Salt Lake City, UT

LogicPro AU3 limitations

Thu Feb 11, 2021 3:03 pm

Summary

This will be an explanation of currently known AU3 support and limitations in LogicPro 10.6. Hopefully some of these issues will be fixed in future releases of LogicPro. I will also detail a little bit, the current track and channel limits of LogicPro 10.6

LogicPro's support for AU3 plugins is currently only half-done enough to call "beta" in my view. It has been included in LogicPro in some form for several years, but still some issues remain. That being said, the only currently known AU3 plugin that I'm aware of is VSL's VePro7.AU3 plugin, which happens to be very useful, but sadly is still constrained by somewhat half-baked implementation in LogicPro 10.6

  1. 1000 Instrument Channels. LogicPro 10.6 supports 1000 instrument channels. This is often confused by many to mean 1000 "tracks", but that is not the case. LogicPro can have up to 1000 instrument channels in the mixer. Each mixer channel can accommodate multi-timbral instruments, and when used with multi-timbral instruments, then multiple tracks can feed each of those 1000 multi-timbral instrument channels. Even without AU3, that sets an upper limit at 16,000 instrument tracks feeding 1000 multi-timbral instrument channels. With AU3, the upper limit goes up to 768,000 hypothetical instrument tracks (more detail below) feeding 1000 AU3 multi-timbral instruments, but there might be a limit to max number of actual tracks well before that, which I have not ever been able to find so far.

    So, to summarize this point, there is an unknown number of max instrument tracks, that is well in the thousands. But a maximum of 1000 instrument channels can be used in a project, where each one could be a multi-timbral instrument with multiple tracks feeding into it.

  2. AU2 midi channel limits. AU2 instruments support only one single midi port, with up to 16 midi channels as multi-timbral instruments. AU3 instruments can support multiple midi ports, with an unknown max port # supported.

  3. AU3 midi ports. When AU3 plugins are used in a LogicPro instrument channel, an additional midi port field will appear in the track inspector. The drop down menu will contain exactly the number of midi ports that has been indicated by the AU3 itself. VePro7 supports up to 48 midi ports, so this plugin will expose all 48 midi ports as being available for each track:

  4. AU3 multi-port Patches can't be saved. if you attempt to save a LogicPro Sound Library patch, based on tracks with AU3, the port assignment is NOT saved with the patch, nor with channel presets.

  5. Third Party AU2mfx strip port. If you attempt to use any third party AU2mfx midi fx plugins on the channel strip where AU3 is hosted, then the port attribute of each midi event will be stripped out by the AU2mfx plugin. In other words, for example, if you have a track set to port2, channel4 and chained to an AU3 instrument on the same channel strip, that will normally direct midi events to port2, channel4 in the AU3 instrument, but if you add a third party AUmfx plugin to the midi fx section of the same channel strip, then the AU3 instrument will only see port1, channel4 and the multiple port encoding will be lost.

  6. Transport sync does not appear to work with VePro7.AU3. its not clear right now if this is problem is in LogicPro or VePro7. This means that if you're using a plugin inside VePro that has its own time based playback based on the transport, it will not start playing in sync when LogicPro starts playing.

  7. LogicPro multi-timbral limits. I saved this point for last because it is the most complicated and demands a thorough explanation. There is a limit to the number of unique multi-timbral tracks can feed a single multi-timbral instrument. it has often been claimed that the limit is 127 midi channels on 8 ports, but this is not precisely correct. In order to explain it precisely I will have to explain the way LogicPro works a little bit.

    Normally when you create a multi-timbral instrument, you create a number of tracks that are assigned to the same instrument. Each track allows you to configure the midi channel (and port with AU3 instruments) that the track will use to feed into the multi-timbral instrument.

    Screen Shot 2021-02-11 at 2.08.30 PM.jpg
    Screen Shot 2021-02-11 at 2.08.30 PM.jpg (25.86 KiB) Viewed 457 times


    however under the covers in the environment there is more information to talk about. Whenever you create a new track with next channel, under the covers in the environment a special kind of channel strip object is created. This is a special kind of channel strip that is kind of like an alias to the same instrument channel being shared by other tracks.

    For example, let's say you have one track created and configured to be going to VePro7.AU3 on midi channel 1, port 2. Then you use new track with next channel to create another multi-timbral track. That will result in the environment under the covers creating a secondary channel strip object which is a special kind of alias to the original channel strip. They will both be referencing the same internal Inst1 instrument channel, but one will be using midi channel2.

    Screen Shot 2021-02-11 at 2.43.32 PM.jpg
    Screen Shot 2021-02-11 at 2.43.32 PM.jpg (99.88 KiB) Viewed 457 times
    Screen Shot 2021-02-11 at 2.44.12 PM.jpg
    Screen Shot 2021-02-11 at 2.44.12 PM.jpg (66.06 KiB) Viewed 457 times


    Each one of those multi-timbral alias channel strips can be configured to route midi events to any one of 48 midi ports and 16 midi channels. (768 total possible channels). However, the catch is that there can only be 127 of these underlying alias channel strips created in the environment. When you attempt to add a 128th track (and create the underlying 128th alias channel strip), LogicPro will quite literally blow up. You can back your way out of it if you know what you're doing, but basically you don't want to have to get into that, its a PITA.

    So note that the problem is specifically NOT about creating the 128th track itself, its about the underlying alias channel strip that gets created. Theoretically if you wanted to you could have more than one track configured to the same midi port/channel...and assigned to the same underlying alias channel strip, thus resulting in more than 127 actual tracks feeding the same AU3 instrument plugin. But if you try to add a new track with next channel again, LogicPro will automatically attempt to create a 128th alias channel strip and that is when it will blow up.

    So basically, the limit is that you can have no more than 127 of those special alias channel strips, each one with a unique midi channel/port combination, of which there are 768 total possible combinations with VePro7.AU3.

    Now there are still some ways to work around this limitation.

    One way is by using Scripter to set the midi channel or port dynamically during playback. In that way the 127 unique combinations can be expanded to many more possible combinations before hitting VePro7.AU3. This can be used, for example, to channelize notes by articulationID, using Scripter...and thus access more than 127 unique port/channel strips inside VePro7.

    Another way is by using the environment. You can create 48 of those special alias channel strips, one for each port. Each one will have its midi channel set to ALL. Then in the environment use multi-instrument objects to assign the actual midi channel and cable to each one of those 48 channel strips. Then you can assign actual tracks to the environment multi-instruments. In this way, 768 unique port/channel combinations can be routed from tracks to channels inside VePro7.

    Screen Shot 2021-02-11 at 3.08.00 PM.jpg
    Screen Shot 2021-02-11 at 3.08.00 PM.jpg (181.89 KiB) Viewed 457 times
5,1 MacPro 3.46ghz x 12 128gb ram, OSX 10.15 on OpenCore, Logic Pro 10.5, Mainstage3, Cubase10.5, StudioOne4, Reaper, DP10, VEP7, VSL, too many plugins to list