setActiveControlSet not working

Setting the active control set via the LUA API doesn’t work as expected. Calling pages.setActiveControlSet (3) I’d expect it to activate control set 3. However, it stays at control set 1, instead.

Have a look at the sample project here: Electra One App
Just upload it to the E1 and note which control set gets activated. For a brief moment, you can see that the control set changes to set 3 but quickly after that changes back to set 1.

1 Like

are you currently on the page where you are changing the controlSet?

I seem to remember that I had to explicitly change to the page, then do the setActiveControlSet() to have it work.

NOTE - some of the calls had bugs in them back in old OS versions (or didn’t work as I expected), so I either had workarounds or stopped using them and did something different. So my memory/suggestions may be not current. Just had to throw that caveat in there.

1 Like

this is a little bit tricky. You are calling the function in the Lua setup phase. The controller firmware does not have any page active yet at that moment. Therefore, the control set will be picked according to the Page configuration, when the page is displayed at later stage.

I am not necessarily saying that this is the only way to go. Just stating why it does not work. If the function is called from any callback it will work. What are you trying to achieve? If you wanted to set the control set dynamically for a page, you could use pages.onChange() callback. That one is called when users changes the page. It is not called when the initial page is displayed, but that is something easy to change.

I am open to any other ideas. Thanks!

Makes sense.

What I’m trying to achieve is the following:

  • have the first 24 controls as buttons used for browsing a selected plugin’s parameters (hence binding physical knobs to these controls isn’t useful)
  • have the last 12 controls always mapped to the physical knobs

I’d also be great if I could disable the automatic control set on touching a control on a per preset or per page basis, optimally via lua.

1 Like