Understood, but what is important is how these control knobs are assigned to MIDI. There are generally two options:
- the controls are mapped to "increment"/"decrement" MIDI controllers, e.g. CC 96 to increment a value and CC 97 to decrement a value. This way, MIDI control gets around the problem of not knowing the actual state of the parameter controlled with an endless controller. In this case, your button will send one controller value when you turn right and another when you turn left.
- The controls are mapped to a "standard" cc like volume (CC 7) or expression (CC 11). In this case, your keyboard will "assume" an initial state of this controller (usually 0) and then add / subtract from that based on your rotating the knob. In this case the MIDI output will be a single controller value whenever you turn the knob, ranging from 0 to 127, depending where the value of the control stored in your keyboard currently is.
For case 1, I would create two "Controller (No Edge Button)" bindings, one from the "increment" controller to switch the repective rack/effect ON, the other from the "decrement" controller to switch the rack/effect OFF. Now, whenever you turn the knob right (no matter how far), the rack will turn on, when you turn it left, the rack will turn off.
For case 2, I would use a "Controller (Switch) binding to the "Running/Suspended" state of the respective rack - or bind it to the "enabled" parameter of the route to the rack, so the rack can stay active all the time - less chance of hiccups that way. But you'll have to give the route a name (via Edit->Rename), otherwise it will not be available as a binding. Now whenever you turn the knob far enough to the right for the value to exceed 64, the rack or route will turn on, whenever you turn the knob far enough to the left to go below 64, the rack / route will turn off.
@dave_dore --> using Controller (Switch) is the built-in way to implement your filter directly when binding to a binary value like Running/Suspended..