I’ve added an mpd server that will stream music to the speakers and other devices and accouterment that are out in the general/meeting area of the hive.
Right now, it pulls the two .mp3 files that we have sitting on hivestor, but, it can also stream music (right now, we’re streaming soma.fm’s Illinois street lounge) until we get a bigger collection in place.
I am working on writing up documentation (including instructions on how to use the web interface) for this tonight, and I’ll put it on the wiki as soon as it’s done.
All -
The mpd server is now available as an Apple AirPlay target. When connected to the hive13 internal network, iOS devices and other compatible software should see an ‘mpd’ option in their AirPlay menus.
Audio device access on the mpd server is mutually exclusive at the moment. New devices cannot connect until the currently playing device relinquishes control. I consider this an acceptable state of affairs, but do let me know if you encounter any difficulties related to this change.
Ian -
For your reference, the setup sequence was as follows.
Install prerequisites, download, and build:
apt-get install build-essential libssl-dev libcrypt-openssl-rsa-perl libao-dev libio-socket-inet6-perl libwww-perl avahi-utils pkg-config
perl -MCPAN -e “install Net::SDP”
git clone https://github.com/abrasive/shairport.git shairport
cd shairport
make
Test:
./shairport.pl -a TestPort
Verify that an iOS device or iTunes instance can send audio to the server.
Install and configure init.d scripts:
make install
cp shairport.init.sample /etc/init.d/shairport
Edit /etc/init.d/shairport. Change $NAME variable to ‘mpd’.
update-rc.d shairport defaults
/etc/init.d/shairport start
Yeah, it’s called blacklisting the MAC addresses of anyone who would commit such crimes against humanity. It would take all of about 30 seconds to do. Hell, I could even do it remotely if need be.
-D
Oh course you are assuming nobody would go through the trivial task of changing the MAC address…
Now AirPlay is basically just a proprietary version of RTSP and RTSP is TCP based at least. So some firewalling options are possible, If it was UDP based then I’m afraid you would be out of luck.
I actually like dubstep when working on code… I say we maintain that the server only takes one AirPlay device at a time and we just let people duke it out on the network for King of the Hill MPD status.