Reset Lit Button State Upon Rackspace Exit

Seeking advice for the best way to address this minor issue.

I use a Korg nanoKONTROL2 which has assignable buttons (e.g. Mute). Some of my rackspaces have 4 layers of sounds. Each layer can be muted via a widget mapped to an assigned button.

If I mute some of the layers, then switch to rackspace with only one sound the muted buttons on the Korg nanoKONTROL2 stay in a lit state. Ideally, I’d like the buttons to be reset when leaving the rackspace as opposed to (re)setting a value on rackspace activation. Is there another way to reset the button state upon rackspace exit - perhaps use scripting to accomplish this? Is there an option outside of using a script?

Thanks

Doesn’t the nanocontrol support midi feedback? This is activated in GP using the sync button in the widget options. That way the nanocontrol buttons will always be in sync with the widgets when you change rackspaces.

I saw this earlier post. Is it the same thing you’re trying to solve?

I think the problem is, that in a different Rackspace not all widgets of the previous Rackspace are mapped to the MIDI Controller:
Therefore the MIDI Controller stays selected.

I would just add the widgets to every rackspace. There’s ways to arrange things to get close to hiding the widget, if that’s a concern.

That could work - and will work.
Another option could be a Gig Script like this


var m : ControlChangeMessage

// Called when you switch to another rackspace
On Rackspace(oldRackspaceIndex : integer, newRackspaceIndex : integer)
 // For each MIDI Controller Button send the correct CC message
 SendNowToMidiOutDevice("IAC-Treiber Bus 1", m)
End
1 Like

Yes… the issue is not all rackspaces use the same buttons. Therefore, buttons will stay lit if they don’t exist in the rackspace I switch to.
I think Gig Performer is adding an option to add widgets but have them hidden from the display? If so, I could add hidden buttons and reset state.
Thanks for the script. I will experiment.

@pianopaul Where would that script reside? It looks like a global script as opposed to a script that goes in a specific rackspace?

It is a gig script

Thanks - I see the documentation now that there are different types of scripts.

Think this is my last question - the On Rackspace callback function - is the function executed after the new rackspace has been activated and its respective widgets initialized, or, is it called prior to the new rackspace activation?

To be honest, I do not know.