What's new

LogicPro + VEP and AU3

I dare say the above is easy enough it might be possible to use Keyboard Maestro to automate the steps for a single VEP instance so that one key command would quickly create 127 tracks feeding a single new VEP AU3 plugin instance. I'm not KM user to say for sure, but seems possible. Then you could literally create a template with thousands of tracks or however many you need in blocks of 127, literally in seconds.
 
Testing AU3 and VEP7 for the first time today... is it possible to have AUXes coming off of your VEP instance (for outputs 3-4, 5-6, 7-8, etc) sending MIDI on different ports for each AUX? I only see the port setting for the main instrument track channel. for each successive AUX, only MIDI channel appears to be available for changing (no port setting). This seems like a silly limitation, yes? or maybe I'm missing something... can I only use regular old MIDI tracks for sending on multi port channels? Thanks for insight!
 
yes absolutely you can. set the preference in VEP that establishes how many audio outs. Set it to 50 for AU3 on LPX 10.4.6
 
I had this set to 64... which works great in PT, but I understand I'm limited to 25 stereo outputs using Logic. I changed it to 50, but you can see in the screen shot that the first Aux I'm using for outputs 3-4 (and also sending MIDI data with) called VLN2 does not have a port setting unlike on the VLN1 track which is the main inst channel with VEP instantiated. I'd like to have each instrument send on its OWN port using the ALL channel setting (so that each instrument can receive messages from my iPad sending on ch 16 as well as note messages on ch1. make sense? am I missing anything? thanks much!
 

Attachments

  • Screenshot 2019-07-16 15.28.55.png
    Screenshot 2019-07-16 15.28.55.png
    32.6 KB · Views: 13
  • Screenshot 2019-07-16 15.28.48.png
    Screenshot 2019-07-16 15.28.48.png
    33.1 KB · Views: 14
You need to create the track as multi-timbral. When you use the new Tracks wizard, there is a checkbox for that.
 
so first of all I think you can leave VEP set to 64 and Logic SHOULD work ok...but don't try to use more than 25 return channels.

Secondly, when you create the track in LogicPro there is a checkbox to select for multi-timbral. since you didn't do that, then in the track inspector, change the midi channel to something between 1-16. When its set to ALL, then its not multi-timbral mode.

Then you can create track 2, track 3, etc, by selecting the track and using Tracks->Other->New Track with Next Channel, or (crtl-return) (see my instructions above).

Once you have done that, then in the mixer view you will see +/- buttons on the mixer which you hit to add the AUX channels to the mixer. Once you have the AUX channels on the mixer you can add them to the tracks view if you want, but with AU3 you can't put midi on the AUX tracks, it doesn't work like it used to before with AU2 plugins.
 
Once you have the AUX channels on the mixer you can add them to the tracks view if you want, but with AU3 you can't put midi on the AUX tracks, it doesn't work like it used to before with AU2 plugins.
Yes this was what I was looking for... seems like an unnecessary limitation to me, hopefully they will expand the functionality when this feature is fully baked. Just looking for parity with VEP functionality when used in Pro Tools.

Thank you for your confirmation!
 
Well in fairness, the way it worked in AU2 was an undocumented feature. I doubt they will ever bring that in, but you can always submit a feature request to Apple, I already asked for this last week myself. Its a bit more complicated with AU3 because there are so many possible tracks per instrument, and way more then the 25 channel audio limit coming back.

In AU3, you just need to have a normal mullti-timbral set of tracks...and then the AUX comes back to the mixer, but not necessarily to the tracks pane. You don't really need them in the tracks pane.

There was another problem with the old AUX track trick, it did not support midi delay per track... but with the multi-timbral mode it does. Pros and Cons. In any case, Apple's documented approach for multi-timbral instruments is as I spelled out in my instructions above..using multi-timbral instruments...and the ol' AUX tracks for midi simply does not now work in AU3 and if they ever do add it, you'd only be able to use 25 tracks that way, vs the 127 tracks that are possible right now, as long as you mix those tracks down to 25 or less stereo AUX returns.
 
yeah makes sense. Also bothers me that you can't use a MIDI FX plug like scripter on Auxes. BUT i think Apple fleshing this out would make sense for them in the long run. I think anything that helps us minimize track count is a plus. Using a combination of multi timbral and Aux/MIDI hybrid tracks is a great workflow. Thanks for your feedback!
 
what you are wanting is not a crazy idea, but it will probably not happen because of the fundamental way that Logic works in terms of midi and audio signal flow.

AUX's are not midi channels, they are audio channels. the little hidden trick you were wanting to use basically let's midi regions on those tracks get automatically channelized into the instrument channel that the AUX is stemmed off of. I think probably this will all go through the midiFX slot on the instrument plugin you are sending it to. The thing is you can't have a separate midifx plugin for each track at all, its in the mixer...and basically you can only have it globally for all tracks feeding that one instrument instance. So basically if you have 29 tracks feeding a single VEP AU3, then you have the midifx slots of that one VEP AU3 plugin mixer channel...and you have to do whatever you are going to do globally for all those tracks through that plugin chain.

I seriously doubt Logic will change in this regard as the signal flow its using now has been around a very very long time. PDC happens in the mixer too...so anyway, its a nice wish, I don't digree, but that just isn't how LogicPro works now and in my opinion will probably not change. you get one midifx lane per instrument channel.
 
Yes I hear you for sure. I will be experimenting with dropping VEP as well once new mac pro is out. Between more power and this new template resource management feature there may be some sans VEP possibilities that previously were too weighty on resources.
 
Yes I hear you for sure. I will be experimenting with dropping VEP as well once new mac pro is out. Between more power and this new template resource management feature there may be some sans VEP possibilities that previously were too weighty on resources.

Maybe, but Logic or any other DAW for that matter, simply doesn't distribute the load of software instruments between the cores as well as VE Pro.
 
FYI I'm having pretty severe stuck notes issues using the multi port AU3 setup. hanging notes after stopping which require hitting the panic button in the VEP kontakt instances. Anyone seeing similar behavior?
 
I didn’t have that problem so far but it doesn’t surprise me. Which version of logic are you using? It’s probably only when you hit stop while notes are playing yes? In my view the problem is that logic by design sends a note off message to all channels when you hit stop but as of now it may not be sending it to all 8 AU3 midi ports. Actually they may have fixed that in 10.4.6, I reported it as a bug in 10.4.5. I haven’t t been having that problem with 10.4.6.

When I get some time I can share a scripter script to work around the bug, but make sure to file a bug report. You basically need a script that listens for the all notes off messages that logic sends on STOP to 16 midi channels and then you echonthem to other ports too
 
Last edited:
FYI I'm having pretty severe stuck notes issues using the multi port AU3 setup. hanging notes after stopping which require hitting the panic button in the VEP kontakt instances. Anyone seeing similar behavior?

StudioJ, try this script as a workaround, but make sure to submit a bug report to Apple about this. Let me know if this gets rid of your hanging notes for now.

JavaScript:
// AllNotesOffAU3.js
// Version 1.0
// Helper script to work around a bug in LPX AU3
// multiport regarding hanging notes when the transport is stopped

var NeedsTimingInfo = true; //only needed to detect play state

var usedChannelPorts = new Array(17);
for(var i=0;i<17;i++) {
    usedChannelPorts[i] = new Array(9);
    for(var j=1;j<=8;j++) {
        usedChannelPorts[i][j] = false;
    }
}

//=============================================================
// Actual HandleMIDI function
//=============================================================

function HandleMIDI(event) {

    //=================================================================
    // If all Notes Off for channel, handle specially,
    // forward to all ports, received from double click transport
    //=================================================================

    if (event instanceof ControlChange
            && event.number == 123
            && event.value == 0) {

        AllNotesOffByChannel(event.channel, true);
        return;
    }

    // All other Events

    usedChannelPorts[event.channel][event.port] = true;
    event.send();
}

function Reset() {
    for(var i=0;i<17;i++) {
        for(var j=1;j<=8;j++) {
            usedChannelPorts[i][j] = false;
        }
    }
}

//===================================================
// Prcoess MIDI is used to detact transport STOP
// in order to send AllNotesOff to all ports/channels
// todo, sometimes this happens before handleMIDI has
// processed everything.  Need to figure out something
//===================================================

var playState = false;

function ProcessMIDI() {
    var ctx = GetTimingInfo();

    if (ctx.playing) {
        playState = true;
    }

    else {
        if (playState == true) {
            // stop recently happened
            AllNotesOff();
            playState = false;
        }
    }
}


//=======================================
// Propagate AllNotesOff to all ports
// for a given midi channel
//=======================================

var ccOff = new ControlChange;
ccOff.number = 123;
ccOff.value = 0;

// forceFlg is used for double clicking transport PANIC to make sure
// all 768 channel/ports receive the CC123 message for all notes off.
// But actually do we really need that?  TODO, think it through more.
function AllNotesOffByChannel(channel, forceFlg) {
    ccOff.channel = channel;
    for (var port = 1; port <= 8; port++) {
        if(forceFlg || (!forceFlg && usedChannelPorts[channel][port])) {
            ccOff.port = port;
            ccOff.send();
            usedChannelPorts[channel][port] = false;
        }
    }
}

//====================================
// AllNotesOff all Channels
//====================================

function AllNotesOff() {
    for (var chan = 1; chan <= 16; chan++) {
        AllNotesOffByChannel(chan, false);
    }
}
 
Last edited:
Hi Dewdman42, thanks for the reply. Oddly, it is not just when I stop while notes are playing. it sometimes happens in middle of a empty area, if there were preceding notes, perhaps related to sustain pedal but I'm unsure. I'll will check out your script!! Thanks so much. I am wondering if it has something to do with the fact that I'm setting some kontakt instruments to receive on OMNI, so that lemur can send cc messages on ch16. I did just start experimenting with your channelizer script to circumvent this issue. and I'm wondering if you have a version of this script that I can set source port to ALL, since I'm now messing with the AU3 VEP and using VEP on ports other than 1. And since there is only one scripter available per instrument track (or rather one MIDI FX channel strip, I could load multiple scripters I guess), your channelizer script only works on a single port at a time. Does that make sense? thanks much!
 
Last edited:
my channelizer script, the latest one, works on all 8 ports not just one. There is no way in LPX to set the port to ALL, there is a midi channel track parameter that can be set to ALL, but generally that isn't what you want for multi-timbral operation.

Getting hanging notes in the middle of an empty area? That is strange. Can you send me a project to look at?
 
Thanks! I'll make sure I have the latest version. Here's a screenshot to help explain. I have all vln1 on port 1 in this project. and vln2 on port 2. These are both using the same instance of VEP on the same Instrument channel. Lemur send cc's on ch 16. So lemur CC's work on the vln1 track, but VEP will not receive the MIDI when I'm recording on the vln2 track (which is running on port 2). Does that make sense? Screenshot 2019-08-10 18.54.24.png
 
Top Bottom