Skip to content

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:

encoders.yaml
enc_1:
  binding: >
    SEL / VOL

Just like with buttons or pads, we can dynamically rebind parameters based on the active mode(s).

encoders.yaml
enc_1:
  binding:
      default: >
        SEL / VOL
      __shift: >
        SEL / PAN

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:

enc_1:
  binding: >
    RING(0) / VOL
  __shift: >
    RING(0) / PAN

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ΒΆ

enc_1:
  binding: >
    SEL / VOL
  unbind_on_fail: false

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).