How to do this at the instrument rack level? At the song level, I can click on the resume/suspend light associated with the rack and set up a binding with a controller button. But I want to be able to create the binding at the rack level so I don’t have to recreate the binding for every song which contains the rack. I can’t seem to find the right combination of variables at the rack binding level to achieve this.
what exactly is it that you want to do? I suspect you want to create a binding inside a rack so that when it receives a controller, either through Rack MIDI In or directly from an external controller, it “turns itself off” - correct?
Unfortunately, there is no way to do exactly that - enabling / disabling racks only works from song level.
But there is an alternative - provided your computer is powerful enough to keep all loaded plugins active and idling at the same time: simply create a binding that switches the MIDI route inside the rack (from Rack: MIDI In to the instrument inside the rack) on and off. To do this, you’ll need to give the route a name (select the route and press F2 or select Edit–>Rename). Once you’ve named it, you can use it as a target for a binding (MyRoute/Enabled).
The advantage of this approach is that it allows notes to ring out gracefully (and even overlap) when you switch from one rack to the other Cantabile keeps track of pending Note-Off commands so you don’t get stuck notes.
I use this approach in most of my songs to avoid any nasty hiccups or delays from deactivating and re-activating racks. Switching routes on and off (AKA “the @Neil_Durant approach”) is the smoothest way of switching between racks. But of course your PC needs to be powerful enough to keep all plugins activated at the same time.
I’m pretty sure my laptop is up to the task. This is what my Piano rack input ports look like. What to do next?
Hmmmm, that’s a bit tricky, since you’re already switching routes on and off (probably state-driven) to select the instrument to use. So any simple “toggle” binding on these routes would mess up your instrument selection instead of muting the rack.
A way around this could be to use a simple embedded racks inside your piano rack that does the switching between your two pianos instead of the two input routes:
The embedded rack “Input Switcher” simply connects its MIDI input to its MIDI output - a simple pipe. But now you have a new route from Input Switcher to your piano plugins. Enable state behavior for “Target Object” for that route and you can use that to switch between your pianos. Now you can use a binding on the route from Rack:MIDI In to the MIDI Switcher rack (I gave it the name “RackInRoute”) to toggle that route on or off (I used a button with CC81 as an example):
All that fiddling with an embedded rack is not necessary with a rack with just one instrument, but as you see, It can be made to work - Cantabile is a pretty cool toolbox!
That’s getting pretty complicated. Your first suggestion for disabling the input will work for me if I use just one Rack:Midi In, and switch between plugins states by making the Destination state-dependent. Does that make sense?
Absolutely - I was thinking around too many corners