I've spent a good amount of time since the last update improving the JamPi to the point where I can take it on stage and be reasonably confident it's going to work properly. This includes:

Painted SquishBox

The interface usually seems to start up less than 10 seconds after powering on. Tapping the stompbuttons scrolls through the patches defined in the config file. Holding a button for ~2 seconds opens a menu that allows updating/saving patches, connecting midi controllers, turning wifi on/off, and safely shutting the Pi down. The config file allows the user to set both global and per-patch settings for soundfont -> channel assignments, fluidsynth settings, and MIDI router rules.

Wifi access is important, because if I can't ssh into the Pi to fix bugs I have to open the box, remove the Pi, and connect it to a screen and keyboard. At home the Pi will always connect to my home network. Elsewhere, I had the Pi set itself as a wireless access point on boot, if my home network wasn't available. This turned out to be a bit unreliable, and perhaps a bit insecure, so I decided that a better move was to create a hotspot on my phone or laptop, and set up the Pi to connect to that when available.

I'm seeing more potential in this project than when I started it. It's not just a little sound module I can change presets on with my feet - it's sort of like the "brain" of a ROMpler synth that I can tweak the interface for as I desire. I could eventually add things like the ability to play MIDI files or loop notes, and I can mess with things like the network and MIDI configuration to make that work the way I want too.