Old 01-30-2018, 01:15 AM   #1
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Posts: 482
Default Bypass all plugins that have EQ in name

Hey all,

I want to bypass all EQ plugins on a track.

So far I got:

Code:
oscmatch("/fx/name") + match(eq, oscparm(0,s)) ? (
   oscsend(osc_out, "b/fx/bypass", 0)
);
But this generally bypasses the 1. insert in the chain.
How can I retrieve the plugin number to bypass the correct plugin?
And will this also work, when there is more than 1 EQ in the chain?
_Stevie_ is online now   Reply With Quote
Old 01-30-2018, 02:19 AM   #2
skippertag
Human being with feelings
 
Join Date: Jun 2015
Posts: 342
Default

Hey Stevie,

you may want to try that given script:

Script: cfillion_Toggle track FX bypass by name.lua

It's part of the ReaPack Package

It's much easier to tweak something that is close instead of inventing new things, isn't it? ;-)

Du musst nur vorher alle Tracks markieren/selektieren...aber..hier werden alle gefunden plugins getoggled... du kannst das aber sicher leicht abändern, sodass alle auf jeden Bypass sind..

Das geht also nicht nur auf einem Track, sondern auch auf allen deines Projektes, ganz wie du die Tracks selektiert hast
skippertag is offline   Reply With Quote
Old 01-30-2018, 06:44 AM   #3
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Posts: 482
Default

Hey skippertag!

Danke dir!

Hah, I usually check for scripts like that in the action list / ReaPack first. This time I forgot about it

The only hurdle I can see is: will it be possible to get the toggle status from a script? I would need that to turn on/off the LED on my Steinberg CMC-CH.
That's why I went for a "native" OSCiiBot solution in the first place.
_Stevie_ is online now   Reply With Quote
Old 01-30-2018, 08:59 AM   #4
skippertag
Human being with feelings
 
Join Date: Jun 2015
Posts: 342
Default

Quote:
Originally Posted by _Stevie_ View Post
Hey skippertag!

Danke dir!

Hah, I usually check for scripts like that in the action list / ReaPack first. This time I forgot about it

The only hurdle I can see is: will it be possible to get the toggle status from a script? I would need that to turn on/off the LED on my Steinberg CMC-CH.
That's why I went for a "native" OSCiiBot solution in the first place.
As far as I know it's possible,, but I don't know how and I don't know what the heck that Alien CMC-CH is? A name for the newest CH helicopter?

You can at least try to make a custom action where this script is included and for these custom actions you can turn on that the toggle switch status will be shown...
skippertag is offline   Reply With Quote
Old 01-30-2018, 09:28 AM   #5
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Posts: 482
Default

Haha, no, it's an "older" controller from Steinberg:
https://goo.gl/images/5apHXe

It's pretty cool, though.

Yep, adding a toggle in a script is no problem. However, I haven't found any hints in the forum, how to check for custom toggles in OSCiiBot.
Maybe someone can chime in!
_Stevie_ is online now   Reply With Quote
Old 01-31-2018, 07:17 AM   #6
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Posts: 482
Default

I'm a bit further, now. But I'm still missing the important part. It's true, that the bypassing can be done with the LUA script. But, when I switch tracks, I need the button LED to update. There is a problems here, though.

When switching tracks, Reaper does only send an OSC command IF an FX is NOT bypassed (e.g. it will output /fx/"fx number"/bypassed/ [s] 1.000000, if an FX is NOT bypassed. But there is no OSC output, if a an FX is bypassed.
I would need a condition: if "/fx/"fx number"/bypassed/" is absent, then turn on LED. Is this possible?

Code:
@oscmsg

oscmatch("/fx/%{number}d/name")?( // focus on FX names
  oscparm(0,'s',fxname[number]); // get all FX names
  matchi("*EQ*",fxname[number],name) ? ( // check if there is "EQ" in FX name and focus on those plugins only
     oscmatch("/fx/%{number}d/bypass") + oscparm(0,'f') != 1 ? // this is the part, that is not working, because I'm checking for a condition that is absent
       (
	msg1 = 0x90 ; msg2 = 0x28 ; msg3 = 0x7F; // turn bypass LED on
	): 
        ( 
	msg1 = 0x90 ; msg2 = 0x28 ; msg3 = 0x00; // turn bypass LED off
        );
	midisend(midi_out);
	);
			
);
_Stevie_ is online now   Reply With Quote
Old 01-31-2018, 07:27 AM   #7
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Posts: 482
Default

Oh geez, I got it working!!!
Now let's see, if I discover any bugs...

Code:
oscmatch("/fx/%{number}d/name")?(
        oscparm(0,'s',fxname[number]);
        
		matchi("*EQ*",fxname[number],name) ? (
		
		!oscmatch("/fx/%{number}d/bypass") ?
		
			(
			msg1 = 0x90 ; msg2 = 0x28 ;	msg3 = 0x7F;
			 ) : 
			( 
			msg1 = 0x90 ; msg2 = 0x28 ;	msg3 = 0x00;
			);
			midisend(midi_out);
			);
);

Last edited by _Stevie_; 01-31-2018 at 07:34 AM.
_Stevie_ is online now   Reply With Quote
Old 01-31-2018, 09:45 AM   #8
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Posts: 482
Default

Ah damn, my mistake. I forgot to close Cubase, and the CMC-CH was triggered by Cubase. No wonder it all worked...

Okay, next try...
_Stevie_ is online now   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 06:35 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2018, vBulletin Solutions Inc.