Sustain would be an obvious one but I would suggest a rather than considering the traditional foot pedal alone, we also give consideration to a hold button on the panels, so we can use another i/o to output to drive a LED.
Three I/O in all . . .
MIDI Panic ?? ? ? ?
We would then use webconf settings to choose between a momentary sustain function or a flip flop style (one press on, one press off) and polarity.
The initial Akai MPK-2 did have a front panel switch but replaced it with a sustain switch and I found that a bit of a loss…
Other than that unless you want to implement a subset of the transport control buttons ( Motor 61 has them).
I think we will add to too many configuration and building complications if we over spec this interface and if we do anything else (MIDI PC shot boxes , multiple encoder panels, transport control boxes, latest xmas wiz bang ), we do them as standardized i/o components on the bus exactly like the existing AIO (All In One)
Just an suggestion - one button as PANIC? Short push = All notes off, Bold = All sounds off? Panic is just … panic!!! and in live situation no one start thinking which button press is now required. As bonus this leaves one expander input free for future use (i have dream that one button can be user “programmable” for his/her needs via midirouter commands).
Can’t see any point differentiating between two options in Webconfig. MCP23017_ENCODERS and MCP23017_EXTRA. If additional switches not installed, then all works on “old way”. Just add MCP23017_ENCODERS those new switch gpios (106, 107, 114 and 115) and everything works. As switches are NO (normally open) contacts, then without installed switches nothing changes on encoder input register bit 6 and 7, when new zynswitces are installed, then additional options just work (extra panic button and foot switch for now). Old way panic via CTRL_1 still works, right?
Of course you are right … but perhaps some code in the UI depends on the selected wiring layout … i’m not sure yet, so i prefer to maintain 2 separated wiring layouts by now …
Anyway, a bold click is quite easy to do. Simply click, hold a little bit (0.3 s > t > 2 s) and release.
I have configured long click also as “All Sounds Off”, so any click/hold/release action where hold time is more than 0.3 s will do the “All Sounds Off”. A short click (momentary), will cause the “All Notes Off”.
I’m thinking about it, but the real problem is the “long click” action. I could make that switches with no “long” action associated behaves as you say, but i’m afraid that this can be confusing. Some switches working different than others … uhmmmm …
I have got still an idea for “midi-learnable” pedal from normal sustain pedal? For example for mapping in MOD-UI pedals switches (1. click value 0-63, 2. click for 127 = ON/OFF)