Cantabile now supports bi-directional bindings making it easy to setup control surfaces with motorized faders and LED rings.

Traditionally in Cantabile, bindings let you setup connections between a MIDI controller (fader or knob) and a parameter such that moving the controller updates that parameter.  Cantabile Performer also supports bindings in the opposite direction where changing a parameter in Cantabile will send a MIDI event back to the controller. These "reverse bindings" can be used to update external equipment like motorized faders or feedback LED rings.

To get this working, previously required configuring two bindings... one from the control surface to the parameter and a second from the parameter to the control surface.  This was tedious and caused jitter with some motorized faders as the feedback events interfered with the smooth moving of the fader.

To simplify and improve these kinds of bindings, Cantabile Performer now supports bi-directional bindings.  All you need to do now is configure the binding from the control surface to the parameter and enable bi-directional mode.

Enabling Bi-Directional Bindings

Enabling bi-directional mode on a binding is simple.  Just click the bi-directional button on the binding slot.

A simple binding with bi-directional mode enabled


Not all bindings support bi-directional mode and the following restrictions apply:

  • The source must be a MIDI source (ie: a MIDI input port)
  • The source and target objects must have the same (or similar, see here) name
  • The target must not be a MIDI target
  • Not all MIDI event types are supported. Specifically, events that trigger an action (eg: Controller - Button) are not supported.
  • The source side of the binding must have a specific channel selected (ie: Omni channel bindings aren't supported)

If the bi-directional mode can't be enabled, the button will display an error icon and the tooltip will include a message explaining the issue:

A bi-directional binding in error state.

Full vs Half Modes

Bindings can be configured as either "disabled", "half" or "full" bi-directional:

  • Disabled - the binding operates in the forward, source to target direction only.
  • Half Mode - the reverse binding is suppressed when the forward binding is changing the target value. This can be used with motorized faders if the fader jitters or doesn't move smoothly due to feedback from the reverse binding.
  • Full Mode - the reverse binding is always active and is typically used with LED rings.
Non-bidi, forward only binding
Half bi-directional mode
Full bi-directional mode


Bi-directional bindings are available in build 3681 and later.  

Currently this should be considered an experimental feature, but feedback so far has been that they work well, but keen for more feedback... let me know what you think.

Banner image Yaeltex V2.