Jump to content

Midi-Control question: Switch Scripter ON and OFF with a dedicated midi note


AlexBerty
 Share

Recommended Posts

Hey Logic experts,

 

I need your help:

 

I can easily midi-control sliders and knobs from a Logic-onboard EQ plugin but I'm not able to map the ON/OFF button (EQ-plugin active/inactive)...

 

I dont want to midi-control the EQ plugin but the midi plugin "Scripter" inserted in an instrument track: one NoteON event shall switch it on and then the next NoteON even shall switch it OFF and so on (dedicated midi note, NoteOn velocity shall not matter)

 

How can I get this right?

 

Thanks in advance for your answers!

Link to comment
Share on other sites

Thank you very much. I got that right with "Smart Controls".

 

The only issue: it will lose functionality when the track (with Scripter inserted) is not seclected/highlighted. How can I get it right to have the midi control function with a different track selected/highlighted?

Link to comment
Share on other sites

So Smart Controls are how you can control the currently selected track, period. If you want to record those actions in some way you need to record them as track automation. You will see that if a track has Scripter inserted, there is a track automation item for bypassing scripter, so you can automate it that way.

 

There is also a way to automate the smart controls, and I assume that means you can perform with midi to record the automation, but I'm not that experienced in this area to know for sure.

 

If you specifically need Scripter on un-selected tracks to be able to respond to midi in real time and bypass itself, then I think you may have to do this by programming the script code itself.

 

To do that...you can simply put a little if statement at the top of the HandleMIDI() function to check for whatever midi event you are using. So let's say you were using ControlChange 20 to control bypass of scripter... you could do this

 

var disabled=false;
function HandleMIDI(event) {
   if(event instanceof ControlChange && event.number == 20) {
       if(event.value < 64) {
           disabled=true;
       }
       else {
           disabled=false;
       }
       return;
   }
   if(disabled) {
       event.send();
       return;
   }
   .
   .
   // rest of your code here
}

 

so in the above, it checks for CC20 and if its set to anything less then 64, then set a flag to remember. All other midi events check that status before continuing.

Link to comment
Share on other sites

var disabled=false;
function HandleMIDI(event) {
   if(event instanceof ControlChange && event.number == 20) {
       if(event.value < 64) {
           disabled=true;
       }
       else {
           disabled=false;
       }
       return;
   }
   if(disabled) {
       event.send();
       return;
   }
   .
   .
   // rest of your code here
}

 

Can you please make this happen with noteON event (velocity and channel of this noteON event shall not matter):

 

NoteON event (note number 3 (D#-2)) shall switch the further script on. Then the next (same (= note number 3)) noteON event shall bypass it (all MIDI passes through unaffected). Then again the next same noteON event shall switch it on again... (and so on)

 

That would be great. Thanks so much in advance!

Alex

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.

Guest
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.

 Share

×
×
  • Create New...