Jump to content

Art ID Set to Program Number in Live Performance


Recommended Posts

I think this issue will express itself with any Software Instrument, but I'm working with Vienna Ensemble Pro on Logic 10.7.2. This behavior also appeared in Logic 10.6.2.


I see the following when using an Articulation Set of four IDs, set to output Programs 1 to 4 respectively:


With the dimension in VE set to "Prg 1," meaning the top slot will be chosen when it receives a program 1 message, the second to Prg 2, then Prg 3 and 4 for the third and fourth slot, attempt the following:


Highlight the first slot in VE.


Set the live articulation (using the drop-downs in either the plug-in window or Piano Roll) to the second ID, which outputs a program 2 message.


Play the keyboard. The second slot is not selected. There is no response to the program message that should be attached to live performance notes from Logic to VE Pro.


Now, *record* with that same second live articulation ID -- and play it back. The recorded MIDI responds to the correct ID, the program 2 message seems to be sent, and the second slot is chosen and plays back.


Simply put, Art ID messages set to output program numbers do not trigger the correct playback live, but once recorded, they work as intended.


In my hour or so of testing, I can only reproduce this behavior when the Art ID outputs program messages. If I set both the Art ID set and VE dimension to send and receive a specific CC message, they perform both live and recorded as intended.


If anyone has both VE Pro and Logic 10.7.2, I'd welcome confirmation. I'll be cross-posting at VSL.

Link to comment
Share on other sites

Thanks for confirming. Absolutely, this is a Logic bug, not VSL. Quite unfortunate here: Piano Roll will say "sffz", but in my template, it's actually playing fp, and I'm slamming on the keyboard to make the sound speak as it should. Now I either have to adjust about a fifty dimensions over a tens of instances, or just disregard Logic's display and keep an eye on the VSL UI.
Link to comment
Share on other sites

Here's a scripter script you can use for now


var CCNUM = 100;
var pc = new ProgramChange;

function HandleMIDI(event) {
   if(event instanceof ControlChange && event.number == CCNUM) {
       pc.channel = event.channel;
       pc.number = event.value;


Basically change your Articulation Set to use CC100 instead of PC, and then this script will convert those CC100 messages into PC messages before hitting VePro.


you can change the script if you want to use something other then CC100


Put the scripter plugin into the instrument channel where VePro plugin is, copy and paste the script, hit the run script button.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...