I've got an idea for something, and I'm trying to decide how it should work and whether or not it would be useful. While I was setting up mixer sliders to work with my newly acquired Matrix-1000 last night, the idea occurred to me that, as a complement to the Mixer window, it would be nice to have a button panel to send sysex to control parameters that are on/off or only allow a small number of values.
The idea: You have a window of buttons. Each button has an icon and a label. Associated with each button is a port, channel, and sysex string, or maybe any arbitrary string of MIDI data. If you click on the button, it sends the data string to that port and channel. This is useful, for instance, for selecting oscillator waveforms during patch editing. If you drag the button into a track, it inserts the data string into the track at that point. This might be useful for initial setup strings for instruments, such as assigning a controller to a parameter, or selecting a bank. (There are an awful lot of synths and effects running around with non-standard protocols for bank selection.)
Should the button have a way to enter a value paraemter? I can't decide. If so, it needs to have a default value associated with it. I'm thinking of something like a "spin" widget that appears in the button icon; it has a default value, but you can change it by typing in the box or clicking the arrows. The button only sends when the button icon itself is clicked. If we wanted it really fancy, there could be an option to associate text strings with each legal value for each button, and have them appear in a pulldown menu when an icon next to the button is clicked.
Feel free to add your two cents. This is just an idea I'm playing with, and I haven't made up my mind about a lot of it yet.