I wanted to have an arcade cab that could also play music. Aha! I thought I needed some jukebox software. However, ultimately I decided to use no jukebox application at all.
Jukebox software like DWjukebox and others are great for arcade cabs, but here is a key limitation: once you have the right music queued up, you probably want to play a game. So you have to quit out the jukebox application, losing the music you just started, to load the game!!! Obviously this isn't an issue with a dedicated jukebox, but is annoying with an arcade cab.
Instead, I went with a few free software tools including MP3tag, MPlayer, Nircmd and MameWAH (almost any front end capable of launching games will do).
Use
MP3tag to "curate" the collection (getting the tags right, like artist/album/title etc) and, once done, use it to generate playlists. Generate your playlists into multiple "romsets", like "Albums", "Singles", whatever you want. You can use MP3tag to download media info from online libraries. It works for all kinds of music formats afaik. This "curating" will likely consume much of your time, but you will need to do it regardless, even if you use jukebox software.
Use
MPlayer to run the playlists from command line. MPlayer is a free open source highly customisable and compilable media player that can be run from command line and importantly (by default) has no GUI or any control interface at all. It uses very little memory and does not impact on most games performance, even when running both MPlayer and MAME on a pentium 4. Launch MPlayer with a batch file that takes one parameter, the playlist ("MPlayer.bat").
I use the
Nircmd free windows command line utility to kill any MPlayer processes early if desired. Set this up in a batch file "kill.bat". Create a shortcut to the batch file (desktop will do) and edit the properties so you can launch kill.bat with a keyboard hotkey combo (I use CTRL-ALT-2, which corresponds to default P1 buttons 1&2 and P2 start). You would also call kill.bat before starting a new playlist.
For those interested in keyboard combos, you need no special software, it is available for vanilla Windows shortcuts/properties. I also have CTRL-ALT-1 setup to launch the frontend.
Finally, setup your favourite frontend to run Mplayer (via batch file) with your playlists as parameters. For the frontend, you can treat sets of playlists like "romsets" and individual playlists as "romnames". With multiple playlist "romsets" you can have multiple music lists (e.g. collections, albums, singles, genres, years, etc.) to choose from via the front end.
After choosing your music playlist, you can then go to your games lists, play pretty much whatever you want, and the music will continue in the background. If you decide the music is too much, you want it to stop, just hit CRTL-ALT-2 to kill the process.
I just quickly hammered this post out - if these ideas excite people, I'll add extra details soon like the batch files I used, how to generate the playlists, and sample command lines for the frontend. There is a lot of flexibility, with the software tools used, to customise for your own needs.