I tried that many times. Unfortunately, it always reverts back to 127 turning Bypass ON (VST OFF) and 0 turning Bypass OFF (VST ON).
I only mentioned because it was something I used to use - mabye there is a toggle bypass action that will work. I'm not saying you won't hit a roadblock somewhere but I was able to do it at the time to build an "amp switcher" with a MIDI footswitch... I'm probably overlooking some detail.
__________________ Music is what feelings sound like.
I only mentioned because it was something I used to use - mabye there is a toggle bypass action that will work. I'm not saying you won't hit a roadblock somewhere but I was able to do it at the time to build an "amp switcher" with a MIDI footswitch... I'm probably overlooking some detail.
Ah yes I see why it works for you. Notice that in the Lodigy panel you have programed the switch to send 127 each time you click it (that is both V1 and V2 are set to send 127). And you also set the CC Mode to Toggle in the Learn settings.
So for example when you engage the switch 8 times it sends:
First time: Toggle On (send the V1 127)
Second time: Toggle Off
Third time: Toggle On (send the V2 127)
Fourth time: Toggle Off
Fifth time: Toggle On (send the V1 127)
Sixth time: Toggle Off
Seventh time: Toggle On (send the V2 127)
Eighth time: Toggle Off
I cannot program my controller. It send 127 on the first click and 0 on the second click. If I set the CC Mode to Toggle I would get:
First time: Toggle On (send the 127) Bypass VST
Second time: Toggle Off Does nothing to my VST
Third time: Toggle On (send the 0) UnBypass VST
Fourth time: Toggle Off Does nothing to my VST
Fifth time: Toggle On (send the 127) Bypass VST
Sixth time: Toggle Off Does nothing to my VST
Seventh time: Toggle On (send the 0) Unbypass VST
Eighth time: Toggle Off Does nothing to my VST
Thanks for the video though. I wish it helped me out.
Oh this looks very cool and may solve another issue I have been trying to sort out.
Why did I assume inverting the midi message would be easy to find in LBX Stripper. Nothing in Reaper is ever simple...
I've literally spent two weeks trying to get my midi controllers to work and I now have helper programs and scripts and all sorts of voodoo strewn across my screen and system. But it still doesn't work. And some point I am just gonna say fuck it and go drop some cash on Logic and be done with it.
So frustrating to spend more time on forums, programing in two different scripting languages, installing programs and watching silent youTube tutorials rather than you know... recording music.
reaper really needs some fine control over learned mid: invert, scaling, min/max, etc
You might want to try ReaLearn. It has been created for exactly this reason (and others).
Quote:
Originally Posted by politicalEconomist
Right now activating the switch sends 127 (and led comes on) which activates the bypass and actually turns the VST OFF.
I would like to make the behavior the opposite so that when the switch is turned on and the controller sends 127 the VST is un-bypassed.
With ReaLearn you can achieve it like this:
1. Add ReaLearn VSTi (preferably on the input FX chain of the track which contains the VST)
2. Add a mapping and MIDI-learn both source (= press of the switch) and target (= VST bypass parameter)
3. Edit the mapping and click "Reverse" checkbox in the lower section
Slightly more detailled instructions are available on the website in section "Docs". Hope this helps.
By the way: Another option is to use the "Wet" parameter which REAPER offers for every FX.
You might want to try ReaLearn. It has been created for exactly this reason (and others).
With ReaLearn you can achieve it like this:
1. Add ReaLearn VSTi (preferably on the input FX chain of the track which contains the VST)
2. Add a mapping and MIDI-learn both source (= press of the switch) and target (= VST bypass parameter)
3. Edit the mapping and click "Reverse" checkbox in the lower section
Slightly more detailled instructions are available on the website in section "Docs". Hope this helps.
By the way: Another option is to use the "Wet" parameter which REAPER offers for every FX.
OK! This looks promising. I'll try it out as soon as I get home.
I thought about using Wet, but I can't remember if I tried it. Would Wet=0 be "true bypass" for lack of a better term?
Also: Thanks to all of you for being so helpful and sorry about the general "Everything in Reaper takes forever" rant yesterday. It was not directed at anyone in particular. I know its the nature of the beast with this type of approach to software. I am an R and R Studio user by day and it is a similar situation (very powerful but steep learning curves everywhere outside the basic functionality). It just gets to you after a long day when once again you have to go scouring the internet for a simple question.
All that said, I do wish the fine folks who make Reaper would put more time into usability, aesthetics (which all go hand in hand), and a unified "package" system with standards and verification for community generated additions (like what Project R and many other software projects do). Maybe they are and we will see it in 6.
Last edited by politicalEconomist; 06-21-2018 at 06:17 AM.
Reason: clarity
I thought about using Wet, but I can't remember if I tried it. Would Wet=0 be "true bypass" for lack of a better term?
It's not a bad idea, but it won't stop the plug from processing, so it'll keep using CPU and you might have some "tails" come through when you unbypass. A lot of FX that wouldn't matter at all, but delays and reverbs could be an issue, and of course a synth might be holding a note or in the middle of a decay or...just about anything. You'd kind of have to try it and see if it's actually an issue for you specifically. Note that bypass is going to be the opposite. If you bypass in the middle of a "tail", it's going to cut right off, and may well sound like a click or pop in the process.
If you're willing to use Link instead of Learn - use track level MIDI message rather than global Control Path messages - it's easy. There's scaling and offset and everything built right in there. Set the scale to -100% and you're rocking.
It's not a bad idea, but it won't stop the plug from processing, so it'll keep using CPU and you might have some "tails" come through when you unbypass. A lot of FX that wouldn't matter at all, but delays and reverbs could be an issue, and of course a synth might be holding a note or in the middle of a decay or...just about anything. You'd kind of have to try it and see if it's actually an issue for you specifically. Note that bypass is going to be the opposite. If you bypass in the middle of a "tail", it's going to cut right off, and may well sound like a click or pop in the process.
If you're willing to use Link instead of Learn - use track level MIDI message rather than global Control Path messages - it's easy. There's scaling and offset and everything built right in there. Set the scale to -100% and you're rocking.
SUCESS! Thank You!
Link was the solution. I would never in a million years have stumbled across that.
I spoke too soon. My search continues... sigh.
Last edited by politicalEconomist; 06-21-2018 at 04:27 PM.
Reason: I was wrong
You might want to try ReaLearn. It has been created for exactly this reason (and others).
With ReaLearn you can achieve it like this:
1. Add ReaLearn VSTi (preferably on the input FX chain of the track which contains the VST)
2. Add a mapping and MIDI-learn both source (= press of the switch) and target (= VST bypass parameter)
3. Edit the mapping and click "Reverse" checkbox in the lower section
Slightly more detailled instructions are available on the website in section "Docs". Hope this helps.
By the way: Another option is to use the "Wet" parameter which REAPER offers for every FX.
For some reason ReaLearn will not MIDI-learn the source. Even if I edit it manually to what I know the Channel and CC # is, it still won't work.
The strange thing is if I just use "Learn" under Parm directly on the FX it sees the controller and learns the correct Chanel and Message.
Why can some things in Reaper see my controller and somethings not see it. In fact ReaLearn does not seem to receive messages from any of my MIDI controllers. Even through other places in Reaper receives them just fine.
Anyone know why that would be the case?
Last edited by politicalEconomist; 06-21-2018 at 06:14 PM.
What's the issue? Why does this not work for you? What's it doing/not?
Using "Link" does not seem to allow me to control the plug-in via Midi.
In my Midi Monitor I can see that the controller is sending on Channel 3, Control Change 28. When I was using "Learn" for the Bypass parameter Reaper enters "MIDI Chan 3 CC 28".
However if I use "Parameter Modulation/Link" for Bypass and then select "Link from Midi or FX parameter" then on the button below I choose "MIDI -> CC -> 28" and "Channel -> 3" and the button then says "MIDI: Chan 3 28" pressing the switch on the controller does nothing. I still see that its working in my Midi Monitor, but it does nothing to the plug-in.
Last edited by politicalEconomist; 06-22-2018 at 05:54 AM.
Reason: Clarity
For some reason ReaLearn will not MIDI-learn the source. Even if I edit it manually to what I know the Channel and CC # is, it still won't work.
The strange thing is if I just use "Learn" under Parm directly on the FX it sees the controller and learns the correct Chanel and Message.
Why can some things in Reaper see my controller and somethings not see it. In fact ReaLearn does not seem to receive messages from any of my MIDI controllers. Even through other places in Reaper receives them just fine.
Anyone know why that would be the case?
ReaLearn is an effect, so you have to explicitly pipe MIDI into it just like you would a VST instrument (unlike Reaper's native "MIDI/OSC Learn", which will "listen" to any controller you have set to "Enable input for control messages" in Preferences/MIDI Devices).
Have you set the track's input to your controller, record armed the track and can you see MIDI activity in the meter (indicated by a thin red moving line when you press the button)? You should put ReaLearn first in the FX chain as well, since not all FX pass through MIDI messages by default.
Alternately, here is a JSFX that does nothing, with a slider you can MIDI/OSC Learn your button to and then inversely link to your Bypass parameter through "Parameter Modulation/MIDI Link". Copy into a text editor and save as dummy.jsfx in your Reaper/Effects folder.
Using "Link" does not seem to allow me to control the plug-in via Midi.
...
Ah! Like I said, this works on track MIDI, not Control Path MIDI. That means, you need your controller enabled for MIDI input (not just enabled for control) AND you need to set up a track with that controller as a MIDI input AND that track needs to be Record Armed and enabled for Monitoring AND if you don't want to do that on the track you're trying to control, you need to send it to that VSTi track.
Now if you want to record the automation, you will be recording it as CC data in a MIDI item on that armed track, not using any of the automation modes, and it won't show up as envelopes, though there are ways to translate it if you want to go that way. You will definitely want to make sure that your plugin isn't going to do something else with that CC on that channel.
It may seem complicated, but it works well, and there are several benefits, not the least of which being that it will actually work the way you want once you get it set up.
Edit - p.n ninja'd me, but it seems we're describing basically the same issue.
Yes exactly. MIDI link and ReaLearn both rely on normal track MIDI. Which has the added benefit that you can choose from which particular controller you want to receive the MIDI. That's impossible with "Enable input for control messages", which throws everything into one pot. MIDI link and ReaLearn will work just fine for your use case as soon as you choose your controller as track input.
ReaLearn is an effect, so you have to explicitly pipe MIDI into it just like you would a VST instrument (unlike Reaper's native "MIDI/OSC Learn", which will "listen" to any controller you have set to "Enable input for control messages" in Preferences/MIDI Devices).
Have you set the track's input to your controller, record armed the track and can you see MIDI activity in the meter (indicated by a thin red moving line when you press the button)? You should put ReaLearn first in the FX chain as well, since not all FX pass through MIDI messages by default.
Alternately, here is a JSFX that does nothing, with a slider you can MIDI/OSC Learn your button to and then inversely link to your Bypass parameter through "Parameter Modulation/MIDI Link". Copy into a text editor and save as dummy.jsfx in your Reaper/Effects folder.
Code:
desc:dummy slider
slider1:1<0,1,0.001>whatever
Quote:
Originally Posted by ashcat_lt
Ah! Like I said, this works on track MIDI, not Control Path MIDI. That means, you need your controller enabled for MIDI input (not just enabled for control) AND you need to set up a track with that controller as a MIDI input AND that track needs to be Record Armed and enabled for Monitoring AND if you don't want to do that on the track you're trying to control, you need to send it to that VSTi track.
Now if you want to record the automation, you will be recording it as CC data in a MIDI item on that armed track, not using any of the automation modes, and it won't show up as envelopes, though there are ways to translate it if you want to go that way. You will definitely want to make sure that your plugin isn't going to do something else with that CC on that channel.
It may seem complicated, but it works well, and there are several benefits, not the least of which being that it will actually work the way you want once you get it set up.
Edit - p.n ninja'd me, but it seems we're describing basically the same issue.
Quote:
Originally Posted by helgoboss
Yes exactly. MIDI link and ReaLearn both rely on normal track MIDI. Which has the added benefit that you can choose from which particular controller you want to receive the MIDI. That's impossible with "Enable input for control messages", which throws everything into one pot. MIDI link and ReaLearn will work just fine for your use case as soon as you choose your controller as track input.
Thanks! I think I am close to cracking this.
It sounds like all three of you are saying the same thing. I am not sure I know how to use "Track Midi" versus "Control Path Midi". Is there information in the documentation for the native Midi Link functionality or in ReaLearn that explains this? Is there a tutorial video? Preferably not one of the silent movies that seem so popular in Reaperdom. It makes sense that it is more powerful having it track based, but I am not sure how I would have stumbled upon this on my own.
( Now I don't want to go on a rant...but... )
It seems to me if Learn-ing am Midi Command works one way in certain parts of Reaper it should work the same way throughout the program and in extensions. That allows new users to use what they learn in one context to solve problems in other contexts. Its this sort of usability issue that I wish the Reaper Devs would prioritize more. There is a Rube Goldberg Machine feel to using Reaper that makes it very difficult for new users. I would imagine this "duct tape, twine and chewing gum" feel also makes life difficult for those creating extensions and tutorials. For example: After I finally cracked using OSC bot to simply translate one OSC message into Midi, I thought about making a tutorial that explained every step from zero to a working solution. But I gave up on even doing that, because it is so incredibly complicated that just explaining it in a way that a newbie could follow would have taken a very long time. Usability is not just about things "looking good" or even being "easy" for new users. Its also about helping the entire software ecosystem grow.
Last edited by politicalEconomist; 06-22-2018 at 06:24 AM.
Reason: Clarity
I can control the FX, but now with input on the track set to Midi my guitar no longer comes through. Can a track not use ReaLearn via midi input and receive input from an instrument?
Here is what I did for any future forum spelunkers with a similar issue. I have two questions after my description.
1) I set the input on the track to Input:MIDI -> Interface -> Channel 3 (the one my controller is on)
2) When I click the switch a small red box flashes in the meter for that track.
3) TRYING LINK:
After selecting the Bypass button on the FX I choose:
Params -> Parameter Modulation/Link -> Link from Midi or FX parameter -> click on (none) button -> MIDI -> CC -> 28
Then:
Channel -> 3.
The button then reads "MIDI: Chan 3 28"
Pressing the switch on the controller lights up the meter but it does nothing to the FX.
4) TRYING ReaLearn:
I add ReaLearn on the input FX chain of the track which contains the VST I want to control.
I add a mapping and ReaLearn now will learn the source "CC value, Channel 3, CC number 28"
It learns the target of "bypass" on the correct VST FX.
I choose EDIT and elect the "Reverse" box.
IT WORKS... I can switch the effect on and off and the LED on my controller now coresponds to the FX being ON.
BUT: Now I can't play the guitar through the track because the track input is from the Midi controller. So I won the battle but lost the war.
Q1) How do I use a controller with ReaLearn and have audio input form my interface on the same track?
Q2) Using "Parameter Modulation/Link -> Link from Midi or FX parameter" seem simpler and would not take over my input. Any idea why it would not work , but ReaLearn does.
I believe ReaLearn can target effects not on the same track. Try putting it on its own track and piping midi in then using its built in learn capabilities to control the bypass on your guitar track.
I believe ReaLearn can target effects not on the same track. Try putting it on its own track and piping midi in then using its built in learn capabilities to control the bypass on your guitar track.
1) Your username is awesome!
2) Thank you for trying to help me.
3) I am not sure what you mean by "putting it on its own track and piping midi in" from one track to another. How do you do that?
4) I thought the whole point of using the "Track Midi Control" and not "Control Path Midi" is to keep everything isolated on the same track.
5) All of the instructions and documentation for ReaLearn say to put it first on the FX chain on the track you want to control. If thats the ideal use, why would using the plug-in basically preclude you from using any other input on the track. Surely there has to be something I am missing.
Q1) How do I use a controller with ReaLearn and have audio input form my interface on the same track?
You can't have both audio and midi as input on a given track at the same time, so you will need a second track for one or the other, also record armed and monitor enabled. Turn off Master/Parent send and create an explicit send to the other other track.
Quote:
Q2) Using "Parameter Modulation/Link -> Link from Midi or FX parameter" seem simpler and would not take over my input. Any idea why it would not work , but ReaLearn does.
I'd have to see it to be sure, but I suspect the "Baseline" parameter in the PM/Link window defaulted to the center. Pull that all the way down. I think that will help.
Edit - No. The problem is more likely that the Baseline is already all the way down, but when you set Scale to -100%, it is trying to go down from the Baseline, so you need to move that slider all the way up/to the right.
4) I thought the whole point of using the "Track Midi Control" and not "Control Path Midi" is to keep everything isolated on the same track.
The point of "Track MIDI control" for me is that you can choose which MIDI input device controls which parameters. This makes sense as soon as you connect multiple MIDI controllers.
Quote:
Originally Posted by politicalEconomist
5) All of the instructions and documentation for ReaLearn say to put it first on the FX chain on the track you want to control. If thats the ideal use, why would using the plug-in basically preclude you from using any other input on the track. Surely there has to be something I am missing.
That's just one way of setting it up and it makes most sense if you have a MIDI track anyway. But you can also have a central ReaLearn track with MIDI input from which you can control parameters on arbitrary other tracks (e.g. audio tracks). ReaLearn doesn't care on which track the target parameter is.
I think the key point to understanding all of this is to understand how REAPER's routing works (sends/receives, track MIDI path vs. control MIDI path etc.). Both MIDI link and ReaLearn just "make use" of these concepts.
Quote:
Originally Posted by politicalEconomist
Q2) Using "Parameter Modulation/Link -> Link from Midi or FX parameter" seem simpler and would not take over my input. Any idea why it would not work , but ReaLearn does.
The point of "Track MIDI control" for me is that you can choose which MIDI input device controls which parameters. This makes sense as soon as you connect multiple MIDI controllers.
That's just one way of setting it up and it makes most sense if you have a MIDI track anyway. But you can also have a central ReaLearn track with MIDI input from which you can control parameters on arbitrary other tracks (e.g. audio tracks). ReaLearn doesn't care on which track the target parameter is.
I think the key point to understanding all of this is to understand how REAPER's routing works (sends/receives, track MIDI path vs. control MIDI path etc.). Both MIDI link and ReaLearn just "make use" of these concepts.
AFAIK MIDI link also takes over your track input.
You are correct about MIDI Link.
preferred.nomenclature help me sort out things. I am good to go now.
$20 donation coming your way. Thanks for all the hard work on the plug-in!
was just looking into this and find a simple way that may or not work for you
the action: SWS/S&M Toggle FX1 bypass for selected tracks
and you can do a hot key that is a midi note.... hopefully one that is not played as a sound by whatever...
clearly there are some conditions... like 'for selected tracks'....
but there is on to toggle bypass for FX on tracks by the number of the track
so for example I put an FX on track 3, say an EQ and have a vsti noise from track 1 running through that FX via a send
so then I can toggle the bypass of just the FX on track 3
a bit more complicated than I'd love but it works
NOTE: seems to be a bug in reaper while doing this... the FX being bypassed will bypass in the slot on the TCP and MCP but the check box for bypass on the plugin GUI [reaEQ] does NOT reflect the
state of the bypass.... guess we have to point that out to SWS and DEV's