Really interested in your project and will bill one in the next week but have some questions and some upgrade requests.
I have been playing Keyboards for 40 years and Midi guitar for the last 30 and would like to build your unit as a stomp box to use with my midi guitar rig.
First are the switches just standard momentary switches?
Second would like to have a 16X2 display saying patch name. This could be done two way either use the first 16 char of the subdirectory name or have a file in the patch folder with the name in it one line or two and and use a blinking cursor at the end of the line symbolising that it is loading and no cursor when it is loaded.
Third what midi codes does your software understand besides midi note on off events ? Program change This message sent when the patch number changes. Pitch Bend Change This message is sent to indicate a change in the pitch bender (wheel or lever, typically). The pitch bender is measured by a fourteen bit value. On a Midi guitar this happens when you bend the string. Main Volume as the controller on the guitar has a Volume knob to change the volume in real time value 1-127.
Fourth multiple samples being played at the same time or Combi Mode. I gave this some thought and read your other message on this topic. First can the Pi 2 handle playing multiple Samples on multiple Midi channels at the same time? If It can I would Have a toggle switch that shorts a pin that you can read that you are in combi mode and not shorted not in combi mode. if you are in combi mode look in the subdirectory after Combi/ in sample mode you look in Sample/ subdirectory. in the Combi subdirectory first you would have the combi number name directory just as you do for the samples subdirectory. then inside the combi directory (for example 01 Piano-Strings) your have all the samples with the same naming convention as you do now but with one change at the end of the name is a number corresponding with the midi channel that that sample is triggered by, so in this example all the piano sample would end with 01 and String samples end with 03 and all other Midi channels would be ignored. Use either subdirectory name for the name on the screen on line 2 output " loading "and then remove the the text when done. Don’t think the unit needs to build combi patches as that is better done on the studio computer system not live.
Fifth when you are loading a sample or a combi write the subdirectory out to a file so when you power up it will load the last sample or combi or when the combi toggle is activated or deactivated it load the last sample or cobi not to always start with the first one.
Six as I plan to put this in a metal slant case how much ventilation do I need and do I need a fan as it i will be running for up to 6 hours straight for a long night gig .
Seven the other mods I will make on the back of the case is 2 quarter inch jack outs and Two XLR Jacks outs.
And last I would not add any effects to the software as Reverb can kill cpu and just run the output jacks into what ever effects you need.