Keyboard: Since I'm going to use this setup 'wearable', headless and thus without conventional interface I needed some way to control what was playing and at what level. To this end, I've soldered together a small circuitboad with 6 switches. The switches are wired to a common +3.3V and connected to GPIO pins on the Raspberry Pi. The resistors you see in the picture are pull-down resistors that make for a smooth transition between 0 and 1. To process the states for the given GPIO pins, I use the RPIO library (See also the links) This library allows the developer to utilise a callback mechanism, triggering functions that in turn execute commands. Maybe more on that when I put the code on GIT...
Hey! I think your project is exactly what I'm looking for as my first big project. I'd like to put a RPi inside an old radio I refinished. I have an external USB HD with tons of old timey tunes. If I understand correctly, looking at your main.py, you set up your switches/GPIOs and pass they're state to a dependancy(?) that plays the audio? Does the USB HD need to be "mounted"? thanks