An idea on handling switches

Spun off from this thread Using Aux Switches - #31 by moley6knipe - I wonder, given the extra power of the MC6 Prod, if this might work as a (very) flexible solution for managing external switches (albeit, would be a breaking change I guess). The idea is to set switch behaviour globally, but be able to override it per bank and using messages:

Change Omniports from current list:
image
…to this…

  • Expression
  • External Switch
  • MIDI Out - Standard
  • MIDI Out - Tip Active
  • MIDI Out - Ring Active
  • MIDI Out - Type B
  • Ext Omniport Relay Interface

When user selects External Switch they can set Tip, Ring, Tip+Ring as normal, but add a note to the GUI like: These settings are used for each bank, unless over-ridden at a bank level

…thereafter two ways this could be done…


OPTION 1

In each bank, add an “Ext Switch” link just below Exp 1-4:
image

When clicked, user would see an “External switch settings” screen (like a slimmed down Expression presets screen). That would allow user to set Tip, Ring, Tip+Ring behaviour at a Bank level, this time with an added (and default) Tip, Ring, Tip+Ring setting of “Use global setting”.

For maximum points, a new Utility message (available within presets and bank messages) to allow setting of Tip, Ring, Tip+Ring with a “Select bank number” option would be good - though, it would be incumbent on the user to revert any changes made with this message as/if required.


OPTION 2

Simpler (I guess - no GUI change). DON’T add “Ext Switch” link just below Exp 1-4.

Instead make every bank inherit Tip, Ring, Tip+Ring function from Global UNLESS user adds a (new) “Change switch functions” Message at a Bank level. Allows for varying Tip, Ring, Tip+Ring switch behaviour per bank (optional, as and if required) when entering and exiting the bank, and of course can be ignored using the standard function in e.g. preset level bank jump messages.


So, “simple” is “set switch behaviour in Global, and every bank uses that without needing further programming”.
Advanced is “set switch behaviour in Global, and then choose which switches in which banks to vary away from the behaviour”.

There was an ask for the function to change the fixed switch custom parameters (i.e. change what Tip, Ring, T+R does) which we thought was good to add. I guess this should be in line with option 2 and would be “relatively” easier to do.

Option 1 works too if we can have new presets for each of the Tip, Ring, Tip+Ring function but it gets more complicated since there are 4 omniports. Possibly something for the future.

1 Like

Yeah - for me the key thing is: give just the one, configurable, external switch option at a global level and use that unless something at a bank and/or preset level over-rides it