<control>:setSlot doesn't move a control to the current page

According to the docs (Preset Lua extension | Electra One Documentation), the function <control>:setSlot (slot) should do the following:

Moves given control to a preset slot on the current page. 

This doesn’t seem to be the case over here (E1 mkII, v3.4). The following preset demonstrates the problem: Electra One App

Just start the preset. The script should move the fader control from page two to the current page (page 1 is the startup page) to slot 1. Moving to slot 1 works but the control does not appear on the current page! Check page 2 or the debugger to verify that the control stays on page 2.

I’ve always taken that command to just manipulate controls on the same page.
I think I tried moving controls from page to page way back when I was first playing around and it didn’t work.

There may have been a comment from Martin about that on the forum.
Otherwise, it would be a great way to have a ‘parking lot’ page of controls that are needed from time to time and then just move them to the current page when needed.

That would be easier/cleaner than trying to dynamically reconfigure a control (change min/max/range/name/type/color/etc)

@martin if setSlot would work across different pages, this would be an alternative/intermediate way to implement different preset views (as mentioned in an earlier message)

I’m building a generic synth plugin preset that is controlled from a custom DAW plugin. Since I want it to support any VST, I have to be able to show up to 36 faders, up to 36 buttons, up to 36 any other supported controls or a mix of these with a total of 36 visible controls.

Therefore, I instantiate every control type 36 times on a dedicated page. So 36 faders on page 1, 36 buttons on page 2, and so on.

I’m looking for a way to move a control from page 2 to page 1 at runtime, so I can configure the controls depending on what synth is opened in my DAW. Is there a way to do that with E1’s LUA API?

I will, as the first step, make it possible to move controls between the pages. That should be fairly easy to implement. And that would work on both mk1 and mk2. Even though the “parking lot” page idea sounds simple, it brings quite some troubles on both, the controller and the editor side.

Next to that I am going to try to enable dynamic creation of controls. That means that instead of using a pool of existing controls and reconfiguring them, one would create them on the fly. It should be fairly easy to do on mk2, possibly impossible on mk1.

3 Likes

That sounds great, I’m really looking forward to this!

Will it be possible to change the list elements of a list control?