Search code examples
node.jsmidi

Set the LED ring value of the Behringer X-Touch Mini encoders


For DAW automation I want to use Behringers X-Touch Mini encoders (the knobs) to drive different behaviours depending on the state of the buttons below - i.e. if the first button is active then it should modify a channel's gain, if the second button is active it should modify a channel's send to reverb. I do have a easymidi node.js program in place to receive and send MIDI commands from/to the X-Touch (Standard Mode, according to the documentation).

To do so i need to switch the values that are displayed on an encoder depending on the buttons below. This is where I am facing a problem: It seems that the MIDI commands for LED Ring Remote Control (Value Change) do only affect the LEDs itself, not the internally stored value and become obsolete as soon as you turn the knob again.

One example:

  • turn the first encoder fully to the right - the last LED will light up - that will emit MIDI commands with 127 as value
  • then set the LED of that encoder to the first LED using the MIDI command CC 9 with value 1 (first LED on)
  • the first LED will light up
  • then slightly turn the encoder knob to the left: the last LED will light up again and will send high values starting with 127

For my intended application it is, therefore, not possible to switch the encoder from one parameter to another, because it would always keep its internal value, regardless of how i set the LEDs

Any thoughts?


Solution

  • It turned out that @CL. 's comment was pointing into the right direction. Sending back the same signal that was sent out when turning the knob (CC controller: 1, value: [0-127], channel: 10) to the same channel (10) works fine, i.e. sets the LED along with the internal value.

    However, if you use channel 0 instead of channel 10 it would do what is documented, which is setting the controller mode. This is probably because channel 0 (or 1 if you start counting from 1) is what they call the GLOBAL CH in the documentation.

    Would be great if all that was documented somewhere - but maybe that is so much common midi knowledge that most already know about this...