Remote Script for Behringer X-Touch
Re: Remote Script for Behringer X-Touch
...and if someone unscrews the device to replace the LEDs, all that remains is to swap only one pair of colors: LOOP and MASTER. )))
But what do you think about the placement of buttons OVERDUB, SCRUB, G.SOLO and TO ARRN in the last sketch? Don't you like this arrangement?
But what do you think about the placement of buttons OVERDUB, SCRUB, G.SOLO and TO ARRN in the last sketch? Don't you like this arrangement?
Last edited by gregjar on Thu Sep 04, 2025 11:21 pm, edited 1 time in total.
Re: Remote Script for Behringer X-Touch
Oops, I missed those, I was focusing on the Gray Section! I like how all red LEDs are used for recording-related things (Automation Arm, Capture, Punch In & Out and Overdub).
But those specific swaps may be technically complicated to code. I'll look into it and if I find a way, I may make it a separate option from FLIP<>MASTER, so users can have Master Select where they want it without the other button shuffles.
(If Overlay Layout is off, users would then have the separate option FLIP<>MASTER. If Overlay Layout is on, that option disappears because it is part of Overlay Layout anyway. I already added the code for conditional visibility of settings.)
But those specific swaps may be technically complicated to code. I'll look into it and if I find a way, I may make it a separate option from FLIP<>MASTER, so users can have Master Select where they want it without the other button shuffles.
(If Overlay Layout is off, users would then have the separate option FLIP<>MASTER. If Overlay Layout is on, that option disappears because it is part of Overlay Layout anyway. I already added the code for conditional visibility of settings.)
Re: Remote Script for Behringer X-Touch
The first part – Gray Section and MASTER/FLIP, with a setting to switch MASTER/FLIP – is done. Not uploaded yet, but it works.
The second part – a setting to rearrange the Overdub, Scrub, G.Solo and To Arrn functions for Overlay Layout – can probably be done technically. But I think we shouldn't move Scrub.
Scrub is really part of the navigation group (Jog Wheel and arrows). All of its functions need to be as close to the Jog Wheel as possible.
- It works in conjunction with ZOOM to fire and stop clips selected with the Jog Wheel or Arrows in Session view.
- Holding it will (pending an update of Live) modify the Jog Wheel's functionality in Arrangement view.
- It's part of the settings menu (restore defaults), along with the Jog Wheel, Arrows and Zoom button.
A proposal would be to swap Scrub and Overdub in your sketch. Overdub would then be on the SOLO button, in the row with Punch In/Out and the Metronome: all functions related to recording. It would be right above Record, of which it is a variant.
Downside, of course, is that it would be one more LED to swap if you want Overdub to be red.
The second part – a setting to rearrange the Overdub, Scrub, G.Solo and To Arrn functions for Overlay Layout – can probably be done technically. But I think we shouldn't move Scrub.
Scrub is really part of the navigation group (Jog Wheel and arrows). All of its functions need to be as close to the Jog Wheel as possible.
- It works in conjunction with ZOOM to fire and stop clips selected with the Jog Wheel or Arrows in Session view.
- Holding it will (pending an update of Live) modify the Jog Wheel's functionality in Arrangement view.
- It's part of the settings menu (restore defaults), along with the Jog Wheel, Arrows and Zoom button.
A proposal would be to swap Scrub and Overdub in your sketch. Overdub would then be on the SOLO button, in the row with Punch In/Out and the Metronome: all functions related to recording. It would be right above Record, of which it is a variant.
Downside, of course, is that it would be one more LED to swap if you want Overdub to be red.
Re: Remote Script for Behringer X-Touch
Sketch No7 (Scrub and Overdub swapped)
This is Alternative layout. Which of layout variants should we leave as default? I want to depict it for evaluation as well.
PS On the last page you gave me advice on how to swap SCRUB and OVERDUB (on TRIM). It worked great! Personally, I didn't find any negative aspects, only button location was changed... But you know better.
This is Alternative layout. Which of layout variants should we leave as default? I want to depict it for evaluation as well.
PS On the last page you gave me advice on how to swap SCRUB and OVERDUB (on TRIM). It worked great! Personally, I didn't find any negative aspects, only button location was changed... But you know better.
Last edited by gregjar on Thu Sep 04, 2025 11:21 pm, edited 2 times in total.
Re: Remote Script for Behringer X-Touch
Version 7 is excellent for me. (I have to think of what users in general would want, and I personally would also miss having the SCRUB button next to the Jog Wheel.)
I've just uploaded a new version with:
- The Gray Section rearranged (not optional, I think we should push through on this: having the New Track buttons grouped is just better with or without overlay.)
- FLIP is still Flip Faders by default, GLOBAL VIEW is now Select Master Track, but those two can be swapped in the settings (change FLIP:STDRD to FLIP:RVRSE).
- The rest of the buttons are unchanged by default, but there is an option to switch them to the layout according to Sketch No7, to be used with the overlay (change LYOUT:STDRD to LYOUT:OVRLY).
- With this option enabled, FLIP and MASTER are always swapped (like on the overlay), so that option disappears.
Extra:
- The metronome button now blinks in time with the song (used to be simply set to "blinking", which used the X-Touch's standard rhythm). On by default but can still be disabled in the settings.
For depicting the default layout: there, SOLO functions as solo, CANCEL functions as back to arrangement, TRIM is overdub, FLIP is flip and GLOBAL VIEW is master select. Those are the only differences I think.
I've just uploaded a new version with:
- The Gray Section rearranged (not optional, I think we should push through on this: having the New Track buttons grouped is just better with or without overlay.)
- FLIP is still Flip Faders by default, GLOBAL VIEW is now Select Master Track, but those two can be swapped in the settings (change FLIP:STDRD to FLIP:RVRSE).
- The rest of the buttons are unchanged by default, but there is an option to switch them to the layout according to Sketch No7, to be used with the overlay (change LYOUT:STDRD to LYOUT:OVRLY).
- With this option enabled, FLIP and MASTER are always swapped (like on the overlay), so that option disappears.
Extra:
- The metronome button now blinks in time with the song (used to be simply set to "blinking", which used the X-Touch's standard rhythm). On by default but can still be disabled in the settings.
For depicting the default layout: there, SOLO functions as solo, CANCEL functions as back to arrangement, TRIM is overdub, FLIP is flip and GLOBAL VIEW is master select. Those are the only differences I think.
Re: Remote Script for Behringer X-Touch
At the moment, our summary of the button layouts is as follows:
X-Touch Default Layout and X-Touch Alternative Layout.
Renamed FLIP to FADERS/ENCODERS in Alternative Layout to match other labels.
You can place it on GitHub for illustration, visual orientation always helps.
In the end, the difference was not very big. )) Basically, the game is made only by one swapping of FLIP and MASTER. )))
Are You sure that the Gray Section is not too radical for Default?..
X-Touch Default Layout and X-Touch Alternative Layout.
Renamed FLIP to FADERS/ENCODERS in Alternative Layout to match other labels.
You can place it on GitHub for illustration, visual orientation always helps.
In the end, the difference was not very big. )) Basically, the game is made only by one swapping of FLIP and MASTER. )))
Are You sure that the Gray Section is not too radical for Default?..
Last edited by gregjar on Sat Sep 06, 2025 10:37 pm, edited 7 times in total.
Re: Remote Script for Behringer X-Touch
So far I've noticed two small oddities:
1) After Ableton launching for the first time switching of SESSION/ARRANGEMENT two presses are required. Switching with TAB always works with the first time. Is this a bug or a feature?
2) After turning off Ableton, the PAN button staying to lit (or what was lighted in the Encoder Assign row before turning off). This didn't happen before.
1) After Ableton launching for the first time switching of SESSION/ARRANGEMENT two presses are required. Switching with TAB always works with the first time. Is this a bug or a feature?
2) After turning off Ableton, the PAN button staying to lit (or what was lighted in the Encoder Assign row before turning off). This didn't happen before.
Re: Remote Script for Behringer X-Touch
I've noticed the PAN button staying lit too, but I sometimes connect my X-Touches (one main and two extenders) via network MIDI, which can occasionally drop messages, so things staying lit didn't surprise me.
But in this case I know why it's happening – I now handle the Assignment buttons as a separate group, which therefore also needs to be turned off separately at shutdown. I just fixed it in the code through the GitHub website, can't test right now but it should work.
I think Session/Arrangement sometimes already required two presses before, when it was GLOBAL VIEW. In the code, nothing has changed. Could have something to do with having the second window open? Live's "is_view_visible" code seems to get confused by that.
About the Gray Section rearrangement, the way it's been filled up until now was always a bit haphazard and random (A new function! This button is still free!). Now is a chance to fix that, and it's tempting to take it. But I'd like to ask for Kik07L's opinion, who has been testing the script in the wild. I don't know if they've had time to keep up with the recent changes, though (betas are always risky for actual mixing gigs).
But in this case I know why it's happening – I now handle the Assignment buttons as a separate group, which therefore also needs to be turned off separately at shutdown. I just fixed it in the code through the GitHub website, can't test right now but it should work.
I think Session/Arrangement sometimes already required two presses before, when it was GLOBAL VIEW. In the code, nothing has changed. Could have something to do with having the second window open? Live's "is_view_visible" code seems to get confused by that.
About the Gray Section rearrangement, the way it's been filled up until now was always a bit haphazard and random (A new function! This button is still free!). Now is a chance to fix that, and it's tempting to take it. But I'd like to ask for Kik07L's opinion, who has been testing the script in the wild. I don't know if they've had time to keep up with the recent changes, though (betas are always risky for actual mixing gigs).
Re: Remote Script for Behringer X-Touch
In the new build the LEDs go out, and yes, the double click definitely happens only when a second window is open.
With double click. To make the logic uniform, it is necessary that when Session in main window is on, the SESSION/ARRANGEMENT LED is not lit, and is lit when Arrangement in the main window. Now when Ableton starts with one window, it has SESSION LED on. When Ableton starts with the second window enabled, it has SESSION LED off, BUT after a pressing cycle the logic becomes inverted - the LED is lit when Session is in the main window. Something is wrong, please take a look.
With double click. To make the logic uniform, it is necessary that when Session in main window is on, the SESSION/ARRANGEMENT LED is not lit, and is lit when Arrangement in the main window. Now when Ableton starts with one window, it has SESSION LED on. When Ableton starts with the second window enabled, it has SESSION LED off, BUT after a pressing cycle the logic becomes inverted - the LED is lit when Session is in the main window. Something is wrong, please take a look.
Re: Remote Script for Behringer X-Touch
I'll take a look tonight if I can make it more intuitive.
The thing is with two windows, you could be looking at Session in your main window but (without knowing it) have the focus on Arrangement in the second window. Live knows which view is focused, but I'm not sure it can report which one is in the main window.
The thing is with two windows, you could be looking at Session in your main window but (without knowing it) have the focus on Arrangement in the second window. Live knows which view is focused, but I'm not sure it can report which one is in the main window.
Re: Remote Script for Behringer X-Touch
● The button's LED lights up when Session is "visible in the main window": that's how it's always been coded, very straightforward.
● However, the question is what Live considers the main window. If you (1) click inside the second window to focus on it, and then (2) swap between Session and Arranger using Tab, the second window seems to become the main window, and the button's LED reflects the visibility of Session there.
● A bit of added confusion comes from the fact that at a certain moment during startup, the second window seems to steal focus by itself. This has two consequences:
Of course, this will never be a problem for those who don't use the second window. For them, the button simply works. But it's a bit confusing for us who do.
In any case, whenever the button LED no longer reflects the Session visibility in the actual main window (after the click + tab situation), pressing the button once or twice brings it back to normal.
● However, the question is what Live considers the main window. If you (1) click inside the second window to focus on it, and then (2) swap between Session and Arranger using Tab, the second window seems to become the main window, and the button's LED reflects the visibility of Session there.
● A bit of added confusion comes from the fact that at a certain moment during startup, the second window seems to steal focus by itself. This has two consequences:
- The LED goes out
- If you happen to press Tab at that moment, with the focus on the second window, the above switch between main and second happens.
Of course, this will never be a problem for those who don't use the second window. For them, the button simply works. But it's a bit confusing for us who do.
In any case, whenever the button LED no longer reflects the Session visibility in the actual main window (after the click + tab situation), pressing the button once or twice brings it back to normal.
Re: Remote Script for Behringer X-Touch
OK, let it be. But it seems to me that the SESSION/ARRANGEMENT LED should not be lit when the Session window is active. Then the LED light is consistent with the logic of the buttons nearby.
I mean, we need to invert:
to
I see in the documentation an addition that determines whether the second window is open: main_window_only=True/False, but I find it very inconvenient to figure out all this. (
Okay, there is no perfection in the world.
PS By the way, LEDs in X-Touch are SMD 1206. You need to have skills to solder them. There is no quick replacement.
I mean, we need to invert:
Code: Select all
def __update_session_arranger_button_led(self):
if self.application().view.is_view_visible(u'Session'):
self.send_button_led(SID_SOFTWARE_MIDI_TRACKS, BUTTON_STATE_ON)
else:
self.send_button_led(SID_SOFTWARE_MIDI_TRACKS, BUTTON_STATE_OFF)Code: Select all
def __update_session_arranger_button_led(self):
if self.application().view.is_view_visible(u'Session'):
self.send_button_led(SID_SOFTWARE_MIDI_TRACKS, BUTTON_STATE_OFF)
else:
self.send_button_led(SID_SOFTWARE_MIDI_TRACKS, BUTTON_STATE_ON)Okay, there is no perfection in the world.
PS By the way, LEDs in X-Touch are SMD 1206. You need to have skills to solder them. There is no quick replacement.
Re: Remote Script for Behringer X-Touch
Yeah, so self.application().view.is_view_visible() has the optional argument "main_window_only", but by default (if you don't specify it) it's already set to "main_window_only=True" anyway. So that doesn't make any difference, since Live can still secretly decide that the second window is now the main window.
(Also, if you use "self.application().view.is_view_visible(u'Session', main_window_only=False)" with the second window open, the result will always be True, since the Session view is always visible in one of the windows.)
I could swap them, but I have to check: doesn't SESSION/ARRANGEMENT behave in the same way as CLIP/DEVICE next to it? Both are lit when the top label on your overlay (Session view and Clip details, respectively) is active.
Yikes, that's tiny. Okay... I'll probably need some debugging parameters in option.txt anyway. Latest version has one at the bottom (only availably by editing options.txt) that activates your preferred layout, including SCRUB as overdub button, so you can have your own overlay made like that. Don't tell anyone!
Re: Remote Script for Behringer X-Touch
Never and to no-one.
Very, very grateful.
It seems that the three left LEDs "with slashes" are dark (not lit) when FADERS / SESSION / CLIP are selected.
And when ENCODERS (MASTER) / ARRANGEMENT / DEVICE are selected, they all light up. It's a little different now.
Re: Remote Script for Behringer X-Touch
Okay so FLIP currently behaves like it should, right? It lights up in the flipped state (when volume is controlled by the rotary encoders and their own parameter is controlled by the faders). That's the only button of the three that can't be messed up by the second screen situation.
And I'll make sure the other two light up when their bottom option on the overlay is active (Arrangement and Device, respectively). That way, all three follow the same logic: bottom option = ON.
(Correct me if I got that wrong.)
Bear in mind that to test them, you should ideally turn off the second screen, because that can confuse things. We're setting the basic behavior here, without Live secretly deciding the second window is your main screen.
Anyway, I revised the condition for LED = ON for both those buttons and for me, they now work like I described above. I can't upload a new version immediately but it will be solved.