Page 1 of 1

VoltageSwitch and Perform / MIDI assign

Posted: Tue Aug 16, 2022 10:21 am
by Waverley Instruments
Howdy VM developers. Discovered something new today that I thought might be worth sharing as it needed a workaround to be applied for a few of my modules.

When controlling a VoltageSwitch via Perform Assign or MIDI controller, value changes are continuous vs. discrete, i.e. they will map to a knob, not a button on the Perform panel. I guess this makes sense as a VoltageSwitch can have multiple states.

However, in the case of 2-state switches, it means that from the Perform panel, 100% knob value is on, and anything less than 100% is off. But... if you use a MIDI controller switch assign, a single press (down/up) simply flicks the switch on and off - not ideal, and not what a user would expect.

It would be nice if you could set a VoltageSwitch to "discrete" instead of "continuous" mode, with the default being continuous so as not to break any existing code. Multiple clicks / taps could simply cycle through the states as I think a mouse click currently works. And of course, for a 2-state switch, you get the desired on/off click behaviour in "discrete" mode.

Also, somewhat intriguingly, the number of switch states seems to be inferred by the skin unless I'm missing something! :shock:

Anyhoo, the workaround for the behaviour I want for a 2-state VoltageSwitch that can be assigned to a button controller is to overlay a transparent VoltageToggle so the toggle essentially flips the underlying switch. Just to be clear (no pun intended) it's now the toggle that gets mapped / perform-assigned, not the switch ;)

Hope this helps, or if anyone has other ideas / insights, please do let us know.

Thanks, -Rob @ WI

Re: VoltageSwitch and Perform / MIDI assign

Posted: Tue Aug 16, 2022 1:49 pm
by ColinP
Agreed.

Although if you use a toggle istead of a two state switch then Perform Assign maps to a button and MIDI Learn can use a keypress and everything works fine so the lesson I take is to only use switches when more than two states are required.