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.
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(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
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.
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.
Bank syntax¶
ClyphX Pro allows targeting of parameters by bank, e.g SEL / DEV(1) B2 P1
to target the first parameter of the second bank.
This is not recognised in zcx.
Instead, you would use the parameter number (or name) directly (P9
for the above example).