Well I've spent the weekend doing some tinkering. I've added a rotary encoder and made it work to skip tracks, and it has a push button function which I have set to play/pause. The software side was easier than I expected - easier than getting it mounted! The shaft from the original encoder was really long so I had to unmount the small bit of sub-fascia, cut it down to size so it clears the button PCB, and then mount it with stand-offs so the knob sits the same distance out. After much fiddling, it's sorted!
I also wired in the 'display mode' button and fiddled with the Python code to get it to switch between screen layouts.
Below is a link to a quick demo video I uploaded:
Software-wise, I originally started with Moode Audio's built-in rotary encoder function which is designed to operate the volume. I managed to change it to instead do the prev/next track commands, but I felt that it was quite inefficient, so i disabled this and wrote a separate Python script which reads the encoder and uses it to call the mpc command line commands to do prev/next. It doesn't need to be ultra-responsive like a volume control. I then spent a while tweaking the delays and debounce to get rid of the erratic response of the encoder. It works like a charm now though.
If anyone has any other improvement
delta key suggestions I'm all ears!