MPD server

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.

If you have any questions, please ask.

Ian

Sweeet! I love mpd! Also, I believe you mean fastor as hivestor has been dead for a few weeks now. Is this correct?

It is set up to use FaStor for the time being. HiveStor will be revived in the next week or two thanks to the generous donation of 4x 1TB SATA drives from Ian.
I want to get a CPU/Motherboard/RAM with at least 4 gigs of RAM that has Gigabit ethernet onboard. Something like:
http://www.newegg.com/Product/Product.aspx?Item=N82E16813128561
and
http://www.newegg.com/Product/Product.aspx?Item=N82E16820231310
grand total ~$102

-D

You say potato, and I say potato. :slight_smile:

It’s connected to storage somewhere at the hive…

Ian

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

Clean up:
cd …
rm -rf ./shairport

Nice. Thanks Ryan!
-D

Kick ass.

Thanks, Ryan!

Is there a way to kick a device off? Say, for instance, Shadoxx hides a laptop in a locked locker streaming a looping dubstep playlist to it…

That’s never happened before. :smiley:

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

Is this a call for a new official Hive13 rule of, “All dubstep must be consentual”?

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.