Slashdot Mirror


Rolling Your Own Jukebox System?

Nurgled asks: "I've been tasked with implementing a client-server jukebox-like system using normal bits of PC equipment. The general idea is to have a central server with all of the music available and then one or more clients which have a kiosk-type interface for browsing the available music and enqueueing it on the central server, all connected to a normal ethernet network. It's important that none of the kiosks should be able to perform any operation other than enqueue new tracks, but it would also be handy if there was a separate administrative console where tracks can be skipped, which would then be available to the venue owners. The kiosks don't have very fancy hardware and most don't have touch-screens, so ideally it should support both mouse and keyboard-based operation. Is there any software already out there that can do this, or am I going to have to write my own? I'd prefer an integrated solution, but I also wouldn't mind separate client and server software as long as I can tweak both to make them work together. Any ideas?"

6 of 48 comments (clear)

  1. Streamsicle by lou2ser · · Score: 3, Informative

    Sounds like you need Streamsicle.

    Its open source, runs on Win32 or Linux, and is still being devoloped.

    http://streamsicle.com/

  2. Grind by coaxial · · Score: 4, Informative

    I've already done this. Grind is a web based jukebox that supports playback of a wide range of media formats (mp3, ogg, wav, and flac to name a few). It has a small install footprint (no database overkill, just Apache, Perl, and some mediaplayers). It supports playback of internet streams as well.

    It is beta software because more metainformation in media files needs to be supported, along with perfecting its automatic installation proceedure. That said, I use it almost daily with no problems at all.

    The main feature that sets Grind apart from other jukebox software is that it supports intellegent autoqueuing. Grind monitors what songs, artists, and albums you frequently listen to, and which songs you frequently skip. The user can then set Grind basically in autopilot (autodj?) mode and it will automatically play songs from your favorite and similar artists. There may be another open source project that does that, but I've yet to find one.

  3. SlimServer by babbage · · Score: 4, Informative

    Just use SlimServer and be done with it. Read about it here, but to repeat the main features:

    • It's available under the GPL, so you can do what you want with it.
    • It's written in Perl, so you can run it on anything (Linux, OSX, Windows, etc)
    • It provides a configurable web interface to the central music library.

    It's intended to be the interface software for the same company's Squeezebox network audio player, which explains why they're willing to give it away under the GPL -- they make their money of the hardware. That also explains some of the unusual design decisions that went into SlimServer, namely, that unlike some other network streaming setups (Apache::MP3, iTunes DAAP streaming, etc) which let each client listen to their own selections, the SlimServer architecture allows multiple clients to have a say over the one stream that's being used centrally. For a management interface to a central home audio system, or for the system described in this article, that design decision is a perfect fit.

    Really, give it a try. I tried setting it up on a LAN for coworkers to listen to mp3s on their headphones, and while everyone liked the interface a lot, it was annoying that everyone listened to the same thing. But if you want to provide a way for everyone to set what is being played on a central system, this is exactly the way to do it.

  4. Re:XBox works best by illumin8 · · Score: 2, Informative

    You can also find USB to Xbox adapters on the net.

    Microsoft will send you one for free if you pay for shipping and handling: linky.

    --
    "When the president does it, that means it's not illegal." - Richard M. Nixon
  5. Tunez by complete+loony · · Score: 2, Informative

    here. Everyone can vote, admins can skip songs, and it's a web interface, so the client will run on anything.
    We use tunez at our LAN's so anyone can pick a song to play.

    --
    09F91102 no, 455FE104 nope, F190A1E8 uh-uh, 7A5F8A09 that's not it, C87294CE no. Ah! 452F6E403CDF10714E41DFAA257D313F.
  6. Re:What about old school? by Blorgo · · Score: 3, Informative

    12 volt dedicated lines to the booths, firing the same solenoids that the buttons on the front of the box would. Not really a FIFO queue.

    Older Rowe and Seeburg boxes had a mechanical queue. Jukebox idle, you choose A1 and D1. A1 starts playing. If nothing else happens, it will play D1. But if I choose C1 (while A1 is playing), C1 will play before D1, because the mechanical scanner comes to it first.

    When I put in my money and choose C1, a 9-notched mechanical thingie, about the length of a toothpick, will be pushed in to the first notch, for position C1. When song A1 finishes, it scans the 'next thing to play' mechanical queue, and plays the first thing it comes to. In my example, it plays C1 (and the notched thingie goes back to the 0 position) and then goes on to song D1.

    The 9-notch thing means that a song can be chosen 9 times but no more - and that the scanner will scan the rest of the jukebox queue first. If I had chosen C1 twice (and nothing else selected), song order would be A1, C1, D1, C1. If I had put in lots of coins and chosen C1 twenty times, it would only play 9 times.

    Details differ on different brands, of course. Slightly newer ones (in the late 1970s) started storing the playlist in a true FIFO queue electronically.