Last Sunday, I spent some time tinkering with my Raspberry Pi 3, trying to get some sort of jukebox software up and running.
I finally settled on something called Volumio. It is a complete distribution that you install on the Pi and then it becomes a machine that plays many audio formats and that you can control from other devices, using a web interface.
And thanks to the Raspberry Pi 3's WiFi, I just need to connect the audio jack and the power cable, and then the little machine can hide under the table with the rest of cables and other devices I don't want to look at generally (NAS, modem, etc).
Volumio is installed by flashing a complete distribution onto a mini SD card. I had a small 4GB one roaming around so I used that. It's cool because I can just swap SD cards and boom! I have a completely new environment without destroying the previous one.
The "official stable" builds that you're directed to from their website won't work with the Pi 3. They get stuck at the colourful loading pattern. I found someone had had the same problem, and the solution was to flash another image for Volumio 2 RC2. I flashed this new version, which is very hard to locate unless you know that such a thing exists or read the forum, and the initial boot didn't show up the device on Bonjour, but after a reboot I could see it and start using it.
I configured it using the web interface, accessible at volumio.local. I told it to use WiFi (it worked!) and also to use my NAS music library (which also worked!). Then I shut it down again, moved everything out of my desk, and turned it on again to enjoy some music.
Apparently the initial Volumio front-end was built with PHP. Now they are rebuilding everything from scratch as Volumio 2, using Node.js, Socket.IO and Angular. I was excited about the node.js bit! But although there's plenty of documentation around, I felt like I couldn't understand where things were in the source, in the distribution, how to get a developer environment running, etc. Maybe it's because I came back from holidays on Saturday and I'm still pretty jetlagged and my brain is not very functional yet, but maybe it's also for the best: I surely don't need to contribute to yet another project.
Anyway, I have a working jukebox. It can even play modules! It's a bit basic at points (e.g. you cannot navigate by 'genre' or other MP3 metatags) but it is getting the job done so I'm happy.