- OSX High Sierra or above
- LogicPro 10.4.5 or above
- Due to bugs in LogicPro as of 10.6, the track delay parameter does not operate properly with any multi-timbral situations, including both AU2 and AU3 plugins, regardless of whether the environment is used or not. If you need to use the track delay parameter, you should not use multi-timbral setups of any kind.
- Apple supposedly added official AU3 support several years ago, but insiders say the developers think it is not fully developed yet. FWIW.
- VSL, for similar reasons, is calling their VePro.AU3 plugin as "beta", primarily I think because Apple is saying its not fully done yet.
- As of today, the transport sync is not transmitted through the VePro.au3 plugin to the VePro server. so if you try to use any kind of tempo based plugin in VePro, it will not work through AU3, you will need to use AU2. Its not clear yet whether this is due to Apple or VSL, but it doesn't matter. As of today, that doesn't work.
- if you try to save Library Patches in LogicPro from AU3 tracks, the port assignment is not currently saved with the patch, so if you use anything other then port 1, that won't be saved with the patch at all.
- If you use any third party midi plugins in the midi fx section of your channel strip with VePro.AU3, the port assignment is erased while passing through them. So don't use third party midi plugins with VePro.AU3 if you are using more than 1 port
Manually creating AU3 multi-port tracks - instructions
It turns out that the instructions for creating up to 127 tracks to each VePro.AU3 instance are actually pretty easy, but not entirely straight forward. It requires a little GUI usage tap-dance, that I will explain below. But using this approach you can build up 127 tracks in under a minute. Or just create the tracks one by one as you go too, you just have to make sure to use this little tap-dance that I'm about to explain, and know when to do it.
- Create a new instrument track with VePro.AU3 as the instrument.
- The new track will default to using MIDI channel "ALL". Change the MIDI channel to "1". The Port should default to "1".
- While this new track is selected, using the following menu command, or factory key command CTRL-RETURN:
- The above will create a new track that is pointing to the same VePro.AU3 instance, but configured on (Port1, Channel 2)
- Press CTRL-RETURN 14 more times to end up with no more than 16 tracks for midi channels 1-16. Do not go past channel 16, if you do, delete the extras now.
- Here is the tap-dance! In order to create the next track on (Port 2, Channel 1), LogicPro doesn't provide an automatic way. You can't use the same method above. You will need to do the following: Select the last one, which is currently assigned to midi channel 16. Look at the track properties on the left and change the midi port to 2 and the midi channel to 1.
- Step two of the tap-dance, is to now select the track above it (hint, use up-arrow), and hit CTRL-RETURN again to create the 16th midi channel again.
- Now select the last track again, which is currently set to port2, channel1. (hint- using down arrow is quick). Hit CTRL-RETURN 15 times. The last track created should be port2, channel16.
At this point you should have 32 total tracks on 2 ports. You can repeat the above procedure to create up to a total of 127 tracks, but no more.
In fact if you try to create a 128th track, LogicPro will literally blow up. See below for a deeper explanation and how to dig yourself out if you do that. You don't want to do that. If you are using consecutively numbered tracks, that works out to port 8, channel 15 being the highest channel you can use per VePro.AU3 instance. DO NOT CREATE port 8, channel 16 or higher unless you know what you're doing. There are some hints later in this thread for tricky stuff you can do, but don't do that now.
Using the above you can build up 127 tracks under a minute, the 1270 track template I provided above is basically using 10 VePro instances, took 10 minutes to build it.
You don't have to do the whole template at once you can add tracks as you go, just remember that every time you need to add a track on the next port, you have to do the little tap-dance I described above, because of LogicPro internal idiosyncrasies and lack of a GUI option to do it directly. But it works.
Why the Tap-Dance?
Here is a brief explanation for LogicPro nerds.
- When you create a new instrument track, LogicPro creates a new instrument channel strip in the environment for you. Usually given a boring name like "Inst 1"
- When you change its midi channel from ALL to a specific channel like 1-16, then the track becomes a multi-timbral track, which means its possible to have 15 more tracks pointing to the same internal Inst 1 object with AU2 instruments, and up to 127 total multi-timbral tracks on an AU3 plugin.
- When you use the CTRL-RETURN command to create a new track on next channel, LogicPro does a special function, it creates a second channel strip inside the environment but this is a special kind of channel strip, its kind of like an alias to the same internal channel strip you created in step#1 above, but it has its own channel and port values. It would, for example, be pointing also to the internal "Inst 1" object, but has its own unique channel and port settings. If you do this, you can go into the environment and see that there are now two channel strips, both of them are referring to "Inst 1" as the internal instrument object that is hosting VePro.AU3, for example.
- And so on, you can do that repeatedly until you have 16 of those environment special channel strips, using channels 1-16 and all pointing to the the same internal "Inst 1" object.
- Now comes the Tap-Dance. Why? What if you don't do the tap-dance? If you selected the track for Channel 16 and try to do new-track-next-channel, LogicPro doesn't know what to do with that, because its not smart enough about AU3 yet. it doesn't know how to increment past channel 16. So it will instead create an entirely new instrument channel with a new instance of VePro.AU3. You will notice it will be called "Inst 2" and will be using the next internal instrument object which is hosting a new instance of VePro.AU3. That is not what we want.
- So to get around this, first we will select that last track, change its track attributes to port2, channel 1. Its still pointing to "Inst 1". That's what we want. But now we have to go back and re-create the 16th channel track again, so go back and use new-track-next-channel on the the 15th one again..and wala, LogicPro will not do the wrong thing it will dutifully create the 16th track on the 16th channel and still pointing to "Inst 1".
So that's why the tap dance and how it works.
I have tried other approaches to see if there is an easier way. Like what if you use SHIFT-CTRL-RETURN (new track on same channel) to copy the 16th track to a new track and then just edit that one to port 2, channel 1?
That would be less steps and less confusing I agree, but unfortunately, that method won't work because when you use the same-channel track creation, LogicPro doesn't create new internal channel strip in the environment like it does for the next-channel command., it just creates a new track that is assigned to the same environment channel strip as the previous track. If you then change the port and channel number on it, you will see that those values in the previous track also change to match it. Both tracks are assigned to the same environment object. So that won't work.
It is also possible to clone the environment special channel strips inside the environment quickly to create 127 of them. However, what I found is then you have to go into each one and set their midi channel. By using the tap-dance described above, the midi channel assignment happens automatically as you go along...so really I feel this is the fastest way. if you get the key commands down you can setup 127 tracks to one AU3 in a minute or less.
If someone figures out an easier way, please let us know on this thread and make sure to submit feature request to Apple to make it easier and automatic to just use new-track-next-channel to create more tracks without any tap-dance at all.
By the way, this explanation also explains a bit why LogicPro will blow up if you go past (port8, channel15). The reason is because internally the environment is only able to create 127 of those special channel strips that are linked to the same internal inst object, such as "Inst 1". If you try to create a 128th one of those environment strips, it ends up blowing up the environment and all of LogicPro will become confused. Its some kind of internal limitation in LogicPro and the environment, at least for now as of version 10.6.
The following problems will not happen with the provided template above, except perhaps if and when you try to add more tracks to it or build one up from scratch.
While pressing CTRL-RETURN to create each track of a port, if you accidentally hit CTRL-RETURN again while the 16th channel is selcted, LogicPro will not create a 17th channel track, but it will actually create a new track on a totally new VEP instance, but also having channel 16. This is not that you want. In this case simply selecting the track header and pressing DEL should get rid of the problem to continue on.
If you accidentally CTRL-RETURN past the 127th midi channel (usually port8, channel15), then the problem is a little worse then the previous one. In this case it will not create a new VEP instance channel, it will attempt to create a 128th track on port 8, channel 16, and that will break the entire instrument setup because you're only allowed 127 of those special environment strips per internal inst object.
You will know if you have accidentally done the second mistake if you open up the environment and go to the Mixer layer. You will see many mixer channel strip objects. Some of them will be blank...and when you see a group of blank ones for a particular instrument, that is where you probably messed up.
if you see something like the following, then you will know that this is what you did:
To rectify this situation:
- first open the environment.
- While the environment window is open, select the errantly created track header on the arrange page. The environment should also highlight the object that is associated with that track header.
- Select that highlighted object in the environment and delete it.
- The Tracker header should change to a label of "NO OUTPUT". If it doesn't, then you did something wrong. Undo and get it right before the next step
- Presuming the track header in the arrange page now says "NO OUTPUT", select that track header and delete it.
After doing that the environment should look more like this without blank looking strips in the environment:
If you're careful not to hit CTRL-RETURN too many times while manually creating AU3 templates, then you shouldn't have either problem mentioned.