Remote Script for Behringer X-Touch
Re: Remote Script for Behringer X-Touch
As a side note, I did some experiments today outside of Live to see how fast I could in theory flip the scribble strips between two colors in order to "mix" them through persistence of vision.
Video and explanation:
https://www.reddit.com/r/Behringer/s/hGaj6GXEtr
The effect looked slightly better than I hoped, but at the maximum frequency that the X-Touch could reliably follow the flickering was still too noticeable to be usable.
And anyway, it's not something I could use from inside the script because I have no such fine-grained control over timing there and there's no way to reach the update frequency needed. But still, neat experiment I think.
Video and explanation:
https://www.reddit.com/r/Behringer/s/hGaj6GXEtr
The effect looked slightly better than I hoped, but at the maximum frequency that the X-Touch could reliably follow the flickering was still too noticeable to be usable.
And anyway, it's not something I could use from inside the script because I have no such fine-grained control over timing there and there's no way to reach the update frequency needed. But still, neat experiment I think.
Re: Remote Script for Behringer X-Touch
You are still pushing things forward - thanks RobrechtV for your continued work on the scipt!
Re: Remote Script for Behringer X-Touch
RobrechtV
1) twice?
2) By the way, does Ableton sync with active fader banks in your setup? (Some kind of auto-banking? - I would like it in both directions...)
1) twice?
Code: Select all
jog_wheel_switch_ids = (SID_JOG_CURSOR_UP,
SID_JOG_CURSOR_UP,Re: Remote Script for Behringer X-Touch
Haha, good catch! It's harmless but I've removed the duplicate for the next update.gregjar wrote: ↑Fri Sep 19, 2025 5:19 pmRobrechtV
1) twice?Code: Select all
jog_wheel_switch_ids = (SID_JOG_CURSOR_UP, SID_JOG_CURSOR_UP,
Hmm not sure what you mean. Like if you select a track in Live outside those associated with the X-Touch faders, the X-Touch automatically follows along?
I think I may be able do that, and I can also create a "session highlight" (the box you also see with controllers like Launchpads etc.) to take care of the other direction (bank on your X-Touch > Live window follows). All optional of course. Will just need some testing to see how it works in practice..
Thank you!
Re: Remote Script for Behringer X-Touch
Okay so for syncing the "banks" in both directions. It's now an option in the settings ("bank", on or off).
X-Touch > Live
When auto-banking is enabled, the script now has a "session box" that indicates the location of the X-Touch's fader bank in Live's mixer. As you bank left or right on the X-Touch, the session box follows along and Live's window scrolls with it.
Live > X-Touch
For the other direction, there's no way for the script to know which tracks are scrolled into view in Live's mixer window (also, you probably wouldn't want that: imagine scrolling left/right in the mixer with the X-Touch constantly trying to keep up). The only thing I can do is detect which track is selected. So when you click on a track outside of the X-Touch's current bank, it follows along.
- It still tries to adhere to the "banks" logic (multiples of the number of faders), so if you have one X-Touch unit (8 faders) and 20 tracks in your project, clicking on track 10 will make the X-Touch jump to tracks 9-16. However, if you click near the end (e.g., track 18), it will "right-align" to the last track, so 13-20.
- When you click on a Return Track, the X-Touch automatically switches to showing Returns.
Let's see if this implementation works!
For the user, nothing about color handling has changed except that there is now a shortcut to briefly go into color mixing mode – currently OPTION + READ/OFF, simply because those are next to each other, but I may change it later. Color mixing mode can in theory "show" over 80 different colors by alternating two or three of the basics (red/yellow = orange etc.).
One of the many obstacles is timing. Normally, Live gives the script an update frequency that is way too slow for something like this. In order to alternate the colors even remotely fast enough (up to the X-Touch's hardware limit), I have to run my own loop, meaning every other visual update is temporarily frozen – including Live's own (playhead, level meters...). Audio should be unaffected, but alternating colors requires a constant MIDI stream, so just to be on the safe side don't activate it in the middle of a live gig. (Also, I have no idea if rapidly turning the scribble strips LEDs on and off affects their lifespan: use at your own risk.)
For all those reasons, the effect only lasts for about two seconds (longer if you press the shortcut a few times in a row). It's intended as a quick "inspection" in case you have multiple tracks with similar colors that look identical on the X-Touch. Or as a "party trick", as I call it in the code. So don't get your hopes up too much – you have to squint a little for the effect to be somewhat convincing. But you know... I just had to give it a try.
X-Touch > Live
When auto-banking is enabled, the script now has a "session box" that indicates the location of the X-Touch's fader bank in Live's mixer. As you bank left or right on the X-Touch, the session box follows along and Live's window scrolls with it.
Live > X-Touch
For the other direction, there's no way for the script to know which tracks are scrolled into view in Live's mixer window (also, you probably wouldn't want that: imagine scrolling left/right in the mixer with the X-Touch constantly trying to keep up). The only thing I can do is detect which track is selected. So when you click on a track outside of the X-Touch's current bank, it follows along.
- It still tries to adhere to the "banks" logic (multiples of the number of faders), so if you have one X-Touch unit (8 faders) and 20 tracks in your project, clicking on track 10 will make the X-Touch jump to tracks 9-16. However, if you click near the end (e.g., track 18), it will "right-align" to the last track, so 13-20.
- When you click on a Return Track, the X-Touch automatically switches to showing Returns.
Let's see if this implementation works!
By the way, I got a little obsessed with the possibility to "mix" colors beyond the available 8 (or just 6 really) by rapidly flicking between them. So much so that had a stab at implementing it in the script, despite the many obstacles, since I wanted to overhaul color handling under the hood anyway.
For the user, nothing about color handling has changed except that there is now a shortcut to briefly go into color mixing mode – currently OPTION + READ/OFF, simply because those are next to each other, but I may change it later. Color mixing mode can in theory "show" over 80 different colors by alternating two or three of the basics (red/yellow = orange etc.).
One of the many obstacles is timing. Normally, Live gives the script an update frequency that is way too slow for something like this. In order to alternate the colors even remotely fast enough (up to the X-Touch's hardware limit), I have to run my own loop, meaning every other visual update is temporarily frozen – including Live's own (playhead, level meters...). Audio should be unaffected, but alternating colors requires a constant MIDI stream, so just to be on the safe side don't activate it in the middle of a live gig. (Also, I have no idea if rapidly turning the scribble strips LEDs on and off affects their lifespan: use at your own risk.)
For all those reasons, the effect only lasts for about two seconds (longer if you press the shortcut a few times in a row). It's intended as a quick "inspection" in case you have multiple tracks with similar colors that look identical on the X-Touch. Or as a "party trick", as I call it in the code. So don't get your hopes up too much – you have to squint a little for the effect to be somewhat convincing. But you know... I just had to give it a try.
Last edited by RobrechtV on Sun Sep 21, 2025 10:19 pm, edited 2 times in total.
Re: Remote Script for Behringer X-Touch
● I managed to increase the frame rate for the color mixing feature (the limitation to 50hz/20 ms interval turned out to be a bug of mine
). Try setting the interval to 14 ms ("cmint" in the settings menu): at that rate, it starts to look pretty convincingly like your tracks' actual colors. Shortcut for color mixing is still OPTION + READ/OFF for now, press it a couple of times to add to the duration.
I talked to Behringer support – who are great, by the way – and they said we won't damage the LEDs by rapidly cycling them. (Still: use at your own risk etc.)
Color mixing is still a separate, temporary mode because it needs to interrupt normal interaction to be able to control the LEDs fast enough. Live's own Options.txt has a setting to increase the display update frequency for control surface scripts, which would potentially enable color mixing within the script's normal operation cycle, but I'll have to test how much a higher update rate impacts performance. The default is officially 45 ms, but it's more like 110 in my tests, so it would have to come down quite a bit to hit 14 ms.
● There are now shortcuts to quickly sync bank positions (if auto banking is disabled): just press the FADER BANK or CHANNEL buttons simultaneously.
- FADER BANK L + R > syncs bank position from X-Touch to Live window.
- CHANNEL L + R > syncs bank position from Live to X-Touch (based on selected track).
I talked to Behringer support – who are great, by the way – and they said we won't damage the LEDs by rapidly cycling them. (Still: use at your own risk etc.)
Color mixing is still a separate, temporary mode because it needs to interrupt normal interaction to be able to control the LEDs fast enough. Live's own Options.txt has a setting to increase the display update frequency for control surface scripts, which would potentially enable color mixing within the script's normal operation cycle, but I'll have to test how much a higher update rate impacts performance. The default is officially 45 ms, but it's more like 110 in my tests, so it would have to come down quite a bit to hit 14 ms.
● There are now shortcuts to quickly sync bank positions (if auto banking is disabled): just press the FADER BANK or CHANNEL buttons simultaneously.
- FADER BANK L + R > syncs bank position from X-Touch to Live window.
- CHANNEL L + R > syncs bank position from Live to X-Touch (based on selected track).
Re: Remote Script for Behringer X-Touch
In the latest beta, color mix mode can now be integrated into normal operation by adding the line "-ControlSurfaceDisplayUpdateRate=10" to Live's own Options.txt file, which increases Live's update rate for control surfaces.
This removes the limitation of color mix mode freezing all visual updates, and therefore allows it to remain active during normal operation instead of being restricted to 2-second bursts.
The new shortcut is SHIFT + DISPLAY NAME/VALUE (the button next to the scribble strips).
(I've kept the old shortcut active for now.)
If the control surface update rate is fast enough for integrated color mix mode, the shortcut toggles the effect on/off. If not, it automatically reverts to a 2-second burst as before.
As a reminder: color mix mode rapidly cycles through the X-Touch's basic colors for a better approximation of Live's actual track colors (red/yellow = orange etc.). This way, it can show about 80 different colors instead of 8. The effect comes with flicker and you may not want to have it on constantly, but it helps to distinguish similarly colored tracks that would otherwise be matched to the same basic X-Touch color.

As mentioned above, Behringer support told me this will not damage the LEDs, but still: use at your own risk. Avoid if you are sensitive to flicker.
This removes the limitation of color mix mode freezing all visual updates, and therefore allows it to remain active during normal operation instead of being restricted to 2-second bursts.
The new shortcut is SHIFT + DISPLAY NAME/VALUE (the button next to the scribble strips).
(I've kept the old shortcut active for now.)
If the control surface update rate is fast enough for integrated color mix mode, the shortcut toggles the effect on/off. If not, it automatically reverts to a 2-second burst as before.
As a reminder: color mix mode rapidly cycles through the X-Touch's basic colors for a better approximation of Live's actual track colors (red/yellow = orange etc.). This way, it can show about 80 different colors instead of 8. The effect comes with flicker and you may not want to have it on constantly, but it helps to distinguish similarly colored tracks that would otherwise be matched to the same basic X-Touch color.

As mentioned above, Behringer support told me this will not damage the LEDs, but still: use at your own risk. Avoid if you are sensitive to flicker.
Re: Remote Script for Behringer X-Touch
Hi, I just discovered and installed the Kik07L script and I am super happy
Finally colors for the tracks on the x-touch
I noticed that there are many interesting settings and I would like to say a big thank you for this work.
But I have a small problem: the global settings menu does not open when I press shift + zoom. Is it normal ?
I’m on W11 (24H2), Live 12.2.5 and the firmare on the X-Touch is 1.23 1.07
I noticed that there are many interesting settings and I would like to say a big thank you for this work.
But I have a small problem: the global settings menu does not open when I press shift + zoom. Is it normal ?
I’m on W11 (24H2), Live 12.2.5 and the firmare on the X-Touch is 1.23 1.07
Re: Remote Script for Behringer X-Touch
Hi! Did you download the release version or the beta? Many new functions have been added since the latest release – I should really post a new one.
But for now you can just download the beta, everything there is working well.
Edit: I've finally released a new official version. All new features are now officially out of beta!
Edit: I've finally released a new official version. All new features are now officially out of beta!
Re: Remote Script for Behringer X-Touch
Hi, I was using the release version, and now I just installed the beta and have access to the global settings menu.
Thank you
Thank you
Re: Remote Script for Behringer X-Touch
Excellent!!
Enjoy! And thanks for reminding me to finally wrap all those new features up in a new release! 
Re: Remote Script for Behringer X-Touch
Yes I enjoy
Thx !
Thx !
Re: Remote Script for Behringer X-Touch
Hello, I spent a lot of time exploring the awesome possibilities
of the script and I have some questions :
- is it possible to change the behavior of the encoders so that they rotate at the same time as the buttons on the screen? It takes +- 2.5 turns with an encoder to go from 0 to 100% and it’s annoying.
-is it possible to set options so that the sends and plugin parameters are controllable with faders rather than encoders ?
-is it possible that when we press "plug-in" we directly reach the plugin that is already selected in live ? And change the plugin selection by pressing the left and right zoom buttons and/or turning the jogwheel ?
Thank you and sorry if my English is not perfect, I do my best
- is it possible to change the behavior of the encoders so that they rotate at the same time as the buttons on the screen? It takes +- 2.5 turns with an encoder to go from 0 to 100% and it’s annoying.
-is it possible to set options so that the sends and plugin parameters are controllable with faders rather than encoders ?
-is it possible that when we press "plug-in" we directly reach the plugin that is already selected in live ? And change the plugin selection by pressing the left and right zoom buttons and/or turning the jogwheel ?
Thank you and sorry if my English is not perfect, I do my best
Re: Remote Script for Behringer X-Touch
- Hm, I'll have a look when I have some time. The encoders send a MIDI signal (roughly at every tactile click) to simply indicate they've been turned to the left or to the right. So no actual value but a message to increment or decrement the associated parameter. I guess by incrementing with a bigger step value I could make the associated Live knob advance faster to try and match the rotation of the encoder. Maybe SHIFT + Rotate could then be used for slower, more precise control like it is now... (And there could be a global option to have it the other way around.) But I'll have to check if that's possible without unwanted side effects.
Edit: I forgot the encoders are handled directly by Live, the script just defines the MIDI mapping for the currently assigned parameters. That means it's a little more complicated to change their behavior, since I'd have to write my own handler for the encoders (both ways: control and LED ring feedback). I'll keep it in mind because it would be nice to have both coarse (faster) and fine control, but I can't promise anything.
Edit 2: Actually, the step size (in Live's own handling) seems to depend on the speed with which you turn the encoder. If you twist it really fast, it's possible to go from zero to full in one turn. If you twist it slowly, you get more granular control. So that's kind of already possible.
- You can always hit FLIP to switch the faders and encoders!
- I'll think about that one. The left/right buttons and jog wheel already have their global functions, I'd rather not hijack those, but there's also the left/right buttons in the Encoder Assign section (EQ and INST). Those are already used to page left or right if a plugin has more parameters than there are available encoders, but maybe with SHIFT they could move control to the next device... Again, this is off the top of my head, I'll have to check if it's at all possible.
Edit: I forgot the encoders are handled directly by Live, the script just defines the MIDI mapping for the currently assigned parameters. That means it's a little more complicated to change their behavior, since I'd have to write my own handler for the encoders (both ways: control and LED ring feedback). I'll keep it in mind because it would be nice to have both coarse (faster) and fine control, but I can't promise anything.
Edit 2: Actually, the step size (in Live's own handling) seems to depend on the speed with which you turn the encoder. If you twist it really fast, it's possible to go from zero to full in one turn. If you twist it slowly, you get more granular control. So that's kind of already possible.
- You can always hit FLIP to switch the faders and encoders!
- I'll think about that one. The left/right buttons and jog wheel already have their global functions, I'd rather not hijack those, but there's also the left/right buttons in the Encoder Assign section (EQ and INST). Those are already used to page left or right if a plugin has more parameters than there are available encoders, but maybe with SHIFT they could move control to the next device... Again, this is off the top of my head, I'll have to check if it's at all possible.