Hi there.
Well I been sitting here and try to control some "program change" on a hardware I've made a controlsurface to on the MD. And it'works fine in a sence, it takes some remebering since te page contains more than 127 buttons and some sliders.(Buttongroups) And it takes a little bit of time to load.(Which is not a big problem)
So here's a short explanation of the current layout:
I made 3 buttons(Just to test, I actually gonna need 8) to control the high bank selection(The cc used is 21) this like a buttongroup so theres a slider connected.
I also made 127 buttons(CC=53) control of the low bank selection also as a button group so once again a slider.
(I guess I could use the 14-bit feature here instead with only one slider for both)
Then due to lack of space I made a slider for program selection(In my case CC=86) 1-100 value.
And I put in a channelselect slider with 8 buttons to be able to send everyting to different midichannels. (And to the midi dude that tend to comment my questions, yes only 8ch this time. =) )
This is one solution to the problem that can be made with current tools in MD:
I can make one single page like the one above and make a buttongroup that correlates? to the hardware "bank and programs" for that specific bank. And instead of just numbering the buttons, put a label to each and every one so I know what it does. Then I do this 998 more times (If in fact I had programmed all the "Banks" in that specific harware. =/ ) Ok to be fare I just have to do it... let's see... 26 time then.
Yes and friend of order will say, dude what's the problem ju just have 26 banks make a button group... Yep, but I don't use the banks 1-26 I use 1-9, 30-35, 40-42, 50-56 & 99 and some 600-603.... Why? Well I have to have some kind of structure in programming the other device, and that's why. And I tend to reprogram and expand it as time expires. =)
Ok now the suggestion: To make a new controller much like the one we use in programming the others. The programming wheel? Since there already seem to be a connection to different values for the same controller depending on other selections, I guess the programming technology is already there.
How it should work? Well I guess there are a lot of people out there who would as I like to actually be able to name banks and programselections. So if the left wheel is the bankselektor(or any controller) with possibility to label each selection, and the right would be programchange(or any controller) also self labeled, and also in relation to the bank select.
Explanation on the relationship: the list showing in the right wheel depends on what's selected in the left.
How?: This would be possible if you can import/load and export/save a file with the proper database matrix.
And furtermore in how it should send the messages when selected is kind of a apply/send button. In this way you can prepare for the next program change without actually executing it on the fly if you are in a live situation, and the database would also contain the right controllervalues for that specific combination.
And here comes the benefits: This would open the possibility to write a file externally in any kind of program that can generate/save to a database files. Since there are no support for sysexdump(And I don't see how it ever would be, since you have to have a translator for every apparatus that has sysexdump I guess, or you can build one in in this kind of controller perhaps =).) This makes it possible to actually label your bank/program changes effectively without a sysex dump. And share with others with the same apparatus. And personally this is the one controller I could use in every apparatus I wan't to control myself, not only cause I'm getting old and have a bad memory...
//Sigge