HydraPlayer

The HydraPlayer Logo HydraPlayer is a SliMP3 emulator written in perl. The emulator can function on its own (stand alone mode), but it's mostly useful when run as a plugin within the SlimServer (v.6.5.5). When running in plugin mode, it can spawn multiple emulator sessions, one per detected Squeezebox controller. The players are synchronized with the controllers such that the Squeezebox controller is used for media selection, volume control, etc., and the player sessions are used to actually drive the speakers.

HydraPlayer uses Perl's POE module to manage player sessions and to spawn the Linux JACK audio daemon. JACK, in turn, relies on the Linux ALSA audio driver. Because JACK offers virtual patchbay functionality, HydraPlayer can do some tricks that the SlimServer cannot do on its own, for example, audio from external sources (i.e. a phonograph) can be routed to any room...

Please refer to the image at the bottom of this page for a graphical overview that depicts a 3 room HydraPlayer setup (also available in PDF). The diagram shows the problem that HydraPlayer solves. My home has speakers that are mounted in the walls and the speaker wires all run to a central location. When I first started to consider my options, I quickly discovered that most solutions for distributing audio this way are rather expensive, and rather proprietary (e.g.: Crestron)...

What I wanted was the excellent functionality provided by the SlimServer platform and the Squeezebox units, but I did not want to plug my speakers into the back of the Squeezebox. I wrote HydraPlayer and now I have an affordable and functional solution to my problem!

If you do not have speakers that you want to be driven by the SlimServer itself, then HydraPlayer is probably not going to do you much good... But if you do, and you would like to take a closer look, here are some download links:

hydraplayer.tgz - This is your one-stop-shop for everything.

directory index - Browse around and see what's in the archive...


The HydraPlayer 3 room diagram