🔥 Lifetime deal! Get Control Surface Studio for Just £67 👉 Click Here To Get It
Time left... mailtimers.com
⚠️ Lifetime licenses are ending soon, get yours before they're gone ⚠️
Your shopping cart is empty.

2.8 Mode Selector Issues

Submitted by scottzant on Wed, 07/12/2023 - 18:28
Control Surface Studio User

I have a successfully working Xone K2 Controller/Script combo for various mappings under the pre-installed "mode 1".
I'm looking to expand to further modes and subsequent mode selection between them.
I have hit a roadblock.

I have the pre-installed mode 1 and mode 2 "enabled" on the "Modes" tab.

I have created my first mode 2 mapping by duplicating the "Device Parameter" I am using for Endless encoder 1 (in mode 1)
Changing this duplicated mapping to mode 2 and to a different "Device parameter number" from it's mode 1 setting.

I have created 2 "Mode Selectors" and have assigned one to "mode 1 and one to "mode 2".
Both are set to "scroll".
Both are assigned to the same Controller input (Endless encoder 5).

Install the script, restart Live try Endless encoder 5 but the Mode selector is not changing anything.
(All Mode 1 mappings still work)

As previously stated, controller is working great for various mappings in mode 1.
"Nothing to display currently" in error log.

Any suggestions appreciated.

Topic Category: 

18 Responses


Control Surface Studio User

Hi scottzant,
Can you try out if it works when you use a push button instead of an endless encoder? And also try with the 'Select Mode' instead of 'Scroll'.
Ableton notifies you at the bottom of your window (black text on yellow background) when a mode is activated.
Let us know if any of those work. We can help further from there.

Control Surface Studio User

Thanks for the prompt reply, Wim.

I now have two Mode Selector.s

Mode 1- "mode 1" selected under Mapping Name and notes "Modes" section
"Select Mode" enabled
"Mode to select" set to mode 2
"Controller Input" set to Button 34
Mode 2- "mode 2" under Mapping Name and notes "Modes" section
"Select Mode" enabled
"Mode to select" set to mode 1
"Controller Input" set to Button 33

Is this a correct routing for attempting to alternate between two Modes?

I'm only receiving a yellow message at the bottom pane upon opening the project and it lists "mode 1"

Control Surface Studio User

Hi scottzant,
I am a bit confused about your last question, for now to me it seems that you did not grasp the coding system yet. That is not a problem though; to get your scripting started, I can wholeheartedly recommend https://www.youtube.com/@remotify/videos This page has helped me a lot!
Especially watch the video 'How to use Modes in Control Surface Studio'. And then of course 'Control Surface Studio 2.8: Total User Interface rebuild' because the videos were made with versions prior to 2.8
I think everything will make more sense when you try it out while watching these videos :-)
Let us know how it fares.
Happy scripting!

Control Surface Studio User

Hi Wim,
I'm sure it's me but I think I have a decent grasp.
I have watched these vids a multitude of times and have tried as much as I could before reaching out.

I have a successfully running script, just an inability to expand on it by adding modes to it and switching between them.

I still might have explained things poorly so if its ok I'll just attach some pics of what I currently have running.

Control Surface Studio User

Hi scottzant,
Sorry, didn't mean to offend you, it is very late over here, so my brain is a bit mushy..
You seem to do just fine!! Looking at the pics, all seems well to me. Sorry, not able to help you right now. Should be something simple though!
Tomorrow I have a long day at work. I'll take a look at it with a fresh head on Saturday! Hopefully, you or somebody else here will have it figured out already! Otherwise, till soon!

Control Surface Studio User

No offense at all, Wim!
I'm so grateful you've taken the time to correspond.
Happy to hear that things look ok according to what you see thus far.

Control Surface Studio User

Hi scottzant,
So I have had a look with a fresher mind now. The K2 is a 'special' beast because it hosts latching layers. The Controller Template from CSS is based on using Latching Layer option 5 (all controls). See page 12 of the K2 manual.
That means that button 33 is being used as the 'Layer' button for the K2. When you press button 33, the K2 will toggle between the 3 layers it has. And although you could make a mapping for that button, it will also shift to the next layer, which is (I presume) not desired.
I made a quick script with buttons 34 and 35 (press encoders next to the 'Layer' button), those should definitely work!
Hope this helps somehow!

Control Surface Studio User

Your script works and now so does mine lol! (and it works in any of the Xone's Latching Layers)
I'm pretty sure files were not copying over properly because after shutting down Ableton and CSS copious amounts of times even my script is now working.

The Xone certainly is a unique beast!
I apologize for not mentioning it initially but I was choosing to operate under Latching Layer 1 (Latching Layers Off) since even Button 33 is programmable under that mode.
I appreciate you sharing a working script to further confirm I was on the right track.
Thank you again for your assistance, Wim!

Control Surface Studio User

You are very welcome!
Sometimes a reboot does the trick, anyways, glad it worked out :-)
Have a nice one!!

Control Surface Studio User

Not so fast! lol!
OK, I've barely been up for air since your reply.

If you recall my initial desire was to use an Endless Encoder through the 'scroll through modes" function, which is all still proving not to work.

I have also attempted to use "scroll through modes" with your working script, (which is a button assignment) but again, not working.

Do you know if this is simply a flaw of the hardware? or is it a flaw in me? ha!

Any chance you could please add on one more mode to the script you sent me and show me how you would cycle through 3+ modes? (whether it be button, knob, or Endless Encoder)
I have tried to implement the "Increment" custom command to no avail so far.

Many thanks

Control Surface Studio User

hi scottzant,
No problem, well, small problem but nothing that can not be fixed.

  1. Reading the manual, the endless encoders are in two’s complement binary encoding, which is not that easy to be recognized by CSS. However, there are some possibilities, Golden Frog has suggested a script that can be adapted (https://remotify.io/community/question/interpreting-relative-encoders#co...). Also, HDV has a solution that can be adapted to suit your need (https://remotify.io/community/question/how-do-we-get-relative-control-wo...).
  2. The scroll function with a button assignment won't work because a button only has an on/off function. However, I think you could assign a button to increment one mode at a time (which each press) and another button to decrease one mode with each press.
  3. When you assign the scroll function to a knob, it should work (like in the example hereunder (K2 Select 3 modes with knob (EXP).json).

Let us know if a knob suffices for now.

Control Surface Studio User

The first suggestions are over my head for now.

Sacrificing any knob for Mode Selection is the least ideal option for what I would like to do with this controller, as opposed to an Encoder or buttons.

I'd be totally happy to set up an "Increment/Decrement" button scenario like you describe under reply (2.) but I tried to set this up and unless I'm missing something the fact that each "Mode Selector" under it's "Select Mode" option, only allows you to select a single, individual mode or an option for "previous mode" but no option for "next mode" has me perplexed.
I've watched the videos on "Previous" and "Shift" modes as well and still can't make this happen.

AM I missing something?

Are you or anyone else you know of available for hire to make custom scripts? By this point I will gladly pay.

Although this is why I purchased CSS, I must simply not have the " programmers mind" as I've spent countless hours and am endlessly frustrated.

I know what i am looking to do and wouldn't have expected it to be such a difficult under taking.

Thank you for your continued help.

Control Surface Studio User

Hi scottzant,
Hereunder you can download the code for an "Increment/Decrement" mode selector on buttons 35 and 36 for 3 modes. (in each mode the buttons are set to select the previous or next mode).
If you need more info or decide you need more help, you can always ask John to get my mail address, as I don't know the site's policy on pm's.
Hope this already helps.

Control Surface Studio User

Hey Wim,
Still can't get the script you sent to work.

I imported your script and expectedly received a few red (routing) errors.
I created 3 modes and assigned each Mode Selector that you created (6 of them) to it's same exact number in both Fields 1 and 2 of each mode selector..
Does this look correct in the pics?
Red messages are gone, send over to Ableton, fresh restart, and both Buttons 35 and 36 will only launch "Mode 3.

upload files: 
Control Surface Studio User

pics 3 and 4

upload files: 
Control Surface Studio User

Ha yes I see, no problem, you got the buttons mixed up. (in your screenshot, in mode 1 btn35 and btn36 are both set to go to mode 1)
In my example, 'Button 35' acts as 'previous mode' and 'Button 36' acts as 'next mode'.
So when in mode 1, btn35 (previous mode) is set to go to mode 3 and btn36 (next mode) is set to go to mode 2.
When in mode 2, btn35 goes to mode 1 and btn36 goes to mode 3, and so on.
See screenshot hereunder.
Hope this helps!

Control Surface Studio User

Hallelujah, I finally get it!
I just could't connect the full logic of things until now.
Already added a 4th mode and tested it successfully.
Thanks again for all of your help, Wim!

Control Surface Studio User

You are welcome!
Glad it worked out, thanks for your feedback!