Audio Daemon is a perl module to daemonize various players and support a single UDP interace for different players.
Version: 0.99Audio Daemon is a perl module to daemonize various players and support a single UDP interace for different players. Currently you can set up a server for MPG123, Xmms and an icecast stream (using libshout).
Operating System: Linux
Audio::Daemon is made of two parts, the client and server.
The Client (Audio::Daemon::Client) remains the same across the board no matter what server you are communicating with, with a few exceptions noted in the pods.
The Server currently can be configured to be MPG123, Xmms or an Icecast (libshout) stream. Neither the Client nor the Servers need to be run as root and I strongly advise against it.
Requires Audio::Play::MPG123 an optionally Audio::Mixer for volume control. It automatically spawns mpg123 in the background so there is no need to prestart it.
Requires the Xmms and MP3::Info perl module and xmms installed. I'd suggest getting the latest version of the Xmms perl module. It uses the volume and random feature built into xmms and if it doesn't find an xmms running it will try to spawn its own copy. Bear in mind that
xmms MUST HAVE an X display to export to, and that xmms must be running as the same user Audio::Daemon::Xmms is.
This wasn't easy to do. It requires MP3::Info and libshout to be installed (http://developer.icecast.org/libshout/) as well as a functioning icecast server. The timing here is pretty critical so I recomend being careful not to be polling the server too much. Be sure to read the icecast docs as I'm still confused on how I got this part to work.