Encoder Reference¶
Encoder mapping in zcx aims to emulate the Encoder Bindings feature from the ClyphX Pro Bindings optional accessory.
Configuration¶
Encoder mappings are configured in encoders.yaml, within your _config folder.
An encoder config looks like this:
Just like with buttons or pads, we can dynamically rebind parameters based on the active mode(s).
When using this feature, the special key default applies when no other (more specific) binding is applicable.
Mapping targets¶
Mapping targets are provided as a string in ClyphX Pro syntax. Template strings may be used within these strings.
With some exceptions, the available targets are the same as ClyphX Pro bindings. As such, nativeKONTROL's examples are reproduced below:
VOL¶
Applies to: Any track's volume control.
Example: SEL/VOL
PAN¶
Applies to: Any track's pan control.
Example: 2/PAN
SEND z¶
Applies to: Any particular send on any track, where z is the send letter.
You may also use a zero-indexed number in place of the letter.
Example: SEL/SEND F
PANL / PANR¶
Applies to: Any track's left or right pan position when using split-stereo panning.
Example: "my cool track"/PANL
SELP¶
Applies to: The last parameter in Live that was clicked on with your mouse.
Example: SELP
DEV(d) CS¶
Applies to: The Chain Selector of any Rack on any Track where d specifies the Device.
Example: 1/DEV(SEL) CS
DEV(d) Pp¶
Applies to: Device Best-of-Bank parameter of any Device on any Track where d specifies the Device and p specifies the number of the parameter or Macro in the case of Racks.
Example: 1/DEV(SEL) P4
DEV(d) Bb Pp¶
Applies to: Device Best-of-Bank parameter of any Device on any Track where d specifies the Device, b specifies the bank number, and p specifies the number of the parameter or Macro in the case of Racks.
When targeting an unknown device, e.g. the selected device, this option may provide more logical mappings than the above option
Example: 1/DEV(SEL) B1 P4
DEV(x.y) PAN¶
Applies to: A particular chain's pan control, targeted with ClyphX Pro rack dot notation.
Example: 1/DEV(2.3) PAN
DEV(x.y) SEND z¶
Applies to: A particular send letter z of a particular chain y, targeted with ClyphX Pro rack dot notation.
Example: 1/DEV(1.4) SEND A
DEV(x.y) VOL¶
Applies to: A particular chain's volume control, targeted with ClyphX Pro rack dot notation.
Example: 1/DEV(1.1) VOL
XFADER¶
Applies to: Main (master) track's crossfader.
Example: XFADER
NONE¶
Sometimes you may want an encoder to be unbound, perhaps for a certain mode.
Using NONE (in uppercase) as the mapping target will stop zcx logging a "failure" when this encoder attempts to bind.
Alternatively:
- Delete the definition for this encoder
- Set the preference log_failed_encoder_bindings to
false.
Targeting the session ring¶
With a special syntax, we can dynamically target a track at a particular position of the session ring. We can use any valid track target with this syntax:
Note: this syntax is zero-indexed, i.e. RING(0) means the first track of the session ring.
Encoder groups¶
We can group encoders to apply common definitions to them. See Template Reference for details.
Additional options¶
The following options may be configured on each encoder.
sensitivity¶
Override the default sensitivity of the encoder.
Though most encoders have a default of 1.0, certain encoders may have a different default.
unbind_on_fail¶
With the example binding SEL / VOL, enc_1 will control the volume of the selected track.
Let's say the selected track is an audio track, guitar.
enc_1 will, obviously, control the volume of guitar.
If we navigate to a blank MIDI track (which does not have a volume parameter), by default zcx will unbind this encoder until we select another track with a volume parameter.
By setting unbind_on_fail: false for this control, enc_1 would remain bound to the last valid parameter, until a new target is valid, i.e, we select another audio or instrument track.
Manually rebinding encoders¶
You can use the zcx user action to manually rebind encoders.
Limitations¶
FIRST, LAST, and SEL keyword¶
When using ClyphX Pro rack dot notation, the FIRST, LAST, and SEL keywords are not recognised.
This may be added in a future release.