I decided to share and track the progress of my humble music-playing set-up, christened "Metal Up Your Ass!". This isn't what I would call a jukebox - it's more of a software project than hardware. The main hardware component is an NFC reader. This came about because I wanted the the quickest and easiest way possible to play my albums, preferably one which didn't involve sitting down at a keyboard and mouse, hence the NFC interface. I started out with the idea of doing a touch-screen interface, but it seemed like more complexity and/or expense than it was worth, and once I hit on the idea of using NFC, NFC appealed more to me anyway.
I wrote the server using the
BASS music library, compiled and running on a CentOS server. The NFC reader is an Ada Fruit thing attached to an Arduino. I had never programmed with either BASS or for Arduino before, but they were pretty easy to pick up.
I have about 1000 digitized albums, so they aren't all going to be NFC-enabled, and there's only so much functionality you're going to get out of NFC stickers and a handful of push-buttons, so I came up with two software interfaces as well. One is web-based. I have a main page which lists links to artist pages, and then this is what part of an artist's page looks like:

In this example, clicking on the green button next to "Black Sabbath - 1975.07.00 - Sabotage" would play the whole album. The "(tag NFC)" link appears under every album, and when clicked, this tell the server that the next NFC tag it reads should be associated with this album (instead of trying to look up the album based on the NFC tag). Instead of writing to the NFC tags, the server associates NFC tags with albums by maintaining an internal database of tag IDs-to-Albums (NFC tags come out-of-the-box with unique IDs). Once all of my albums have their tags associated with them, this option will be removed from all of the artists pages.
In addition to the "play me now" green button that albums have, individual songs also have an "add me to the playlist" plus-sign button. This "plus" button appends the selected song to the current playlist. The green button wipes out the current playlist and immediately plays the selected song. I've really come to prefer this method of browsing my collection over any other interface I've used with other music players.
The second software interface is a non-browser-based, bare-bones GUI. It also serves as the display for what the server's doing. Yes, I know it's not visually appealing. It's more of a proof-of-concept for now, but on the other hand, my visual design skills are so crappy that the end product probably won't look much better, whatever form it takes:

This interface allows searching by title, artists, date, and album. Right now it runs on my every-day PC, but I recently lucked into a cheap decent-sized TV, which I plan to use as an all-in-one billboard for the basement , which will display track information such as above, and also be integrated into my MAME front-end to display controls and whatever else I can think of later.
The NFC reader is connected via USB cable to the Centos server, and that PC's audio-out goes into my stereo receiver. Right now the NFC reader is housed in a granola bar box wrapped in construction paper with the words "Place Metal Here!" scrawled on it, so, visually, it's in a sorrier state than my software interface. My plan is to build a simple box just big enough to house the reader, an encoder, and to attach four or five buttons to. I considered some fancier music-related housing for it, like a (fake/toy) boom box or turntable or speaker, but in the end, I thought it best to not try to make it look like something it isn't, and to embrace the fact that its the object that reads NFC stickers. I am tentatively planning to put the cover to
A Real Dead One on it. The only other housing in contention would be a model tank. This was suggested by a friend who is aware of my previous life as a tank-killer, and although he did not know the name of my project at the time, the idea of a tank fits so well with the name of my project that it kills me that I can't imagine any way that five push-buttons mounted onto a tank is going to look natural. If Metallica hadn't provided me with the "Metal up your ass" slogan to swipe, I think I would be using a model truck and call it "The Rolling Truck Stones Thing."
I will be adding buttons for "next song", "previous song", "pause", and "stop". I'm on the fence about a "start the playlist over from the beginning" button. I have an auto-bookmark feature which keeps track of the last song played in an album/playlist when it gets replaced with another playlist, so being able to easily restart from the beginning would be more useful in this project than in other music-playing programs. All push-button functionality is duplicated in the GUI client, which includes other functions like volume control and randomizing the playlist.
The NFC stickers will be going onto CD covers. I did already own all my music on CD, but those CDs have been collecting dust for a couple years as I've only been playing mp3 and flac files. I'm not sure if I would have went the NFC route if I didn't already own the nearly-perfect vehicles to stick the tags on.