More binding questions, I'm afraid

Hi all,

Once again, I’m trying to do weird stuff with my bindings and controller keyboard lights…

I’ve set up UVI Workstaion with their B5 organ in it. Works great. I’ve set up an overdrive effect and bound the drive, gain and bypass switch to buttons on my controller. All smiles!
Now, I want to be able to bind the state of the switches in UVI to the lights. However, when I try, I get this…

So it seems that the link between Cantabile and these host automation parameters is only 1 way…
Does anyone know how I’d do this, short of sending a sysex message for everything, with the possibilty that it’ll all get out of sync. It’d also be great to be able to have this reverse binding (in the organ world) for things like the perc switch etc.

Anyone have any thoughts?

Cheers as always, I’m hoping to be finished with this project by the end of the week, then I’ll leave you all alone…


I’ve managed to set up bindings from a plugin to midi outputs, if I’m understanding that’s you want?
I think it might be the target that’s causing the problem.
I don’t have cantabile in front of me right now so can’t say much more.

Yes, that’s kind of what I want, but not to a MIDI output, to change a rack state. I have done it with Cantabile’s buttons (plugin bypass etc), but for some reason, it won’t let me do it with plugin automation parameters.

Cheers for the answer @mmichaelc


Have you tried using Indexed instead of PG as the target? I wonder if it does the same thing.

Yes, same invalid binding with indexed states…


@mmichaelc, could you share a screenshot of how you got that to work?



This is what I have, with plugin parameters bound to a rack output port.

An example using bypass:

In your case, is Channel light 2 a plugin? Or rack?
I think the problem is the type of the source and destination aren’t compatible.

Thanks @mmichaelc,

I think you may be right, Channel Light 2 is an embedded rack who’s states turn a light on an off. It’s a shame though, I’d have thought that if you can read the state of a button/switch/do dad in a plug-in, you’d be able to bind it to something…

@brad? Am I wrong?

Cheers as always.


The problem with the binding is the original post is as follows:

  • The “Bypass” binding source is a floating point number parameter value, but it probably only has values of 0 (off) and (1) on (although Cantabile can’t know this - well technically it might, but doesn’t change the actual problem)
  • The “Select State by Program” is a command target.

Now… this binding will fire when the Bypass parameter changes value in either direction ie: both when the plugin is bypassed and unbypassed so the binding target would be invoked in both cases, which is probably not what you want.

The only solution I can think of for this might be: if your target rack only has two states, you could use state 0 as off and state 1 as on and then use the “Load State Scaled” binding target.

1 Like

Thanks for the answer as always, @brad, but I’m not sure that’s what I’m trying to do. If I use Cantabile’s bypass as a binding source, that works great. I can use the select state by index and change colours from one to the other, depending on the state of the bypass. So whatever the type of parameter value, this works.

I’m trying to use the state of a button inside the plugin to do the same thing. (Something like, in the case of the organ rack in my song, the state of the percussion switch)

I could use a binding to the button push to do the light switching but without setting the rack to a default setting every time I loaded it, it would quickly get out of sync with the actual setting of the plugin…

I hope I’m making some sort of sense here…


Yes, that’s because the Running/Suspended binding source is a boolean value and Cantabile allows mapping a boolean to one or two values for a state by index binding.

Unfortunately it doesn’t provide similar mapping of floating point values to arbitrary integer indicies - except by the LoadStateScaled binding target.

Aah, ok.

I was thinking of the bindings as an If… then… sort of instruction rather than a mapping thing. But surely the state of a switch in a plugin is a boolean value? (ie on/off)

Anyhow, thanks for the reply as always.


Yes it is for this particular parameter, but Cantabile doesn’t know that - so it needs to know how to map that floating point value to the binding target. Assuming it’s boolean isn’t a safe assumption.

Aah, ok.