Sunday, November 05, 2006

Music Player Daemon

so i got two computers setup in my room - my laptop and my desktop. why? because i can. i use synergy1 to control both computers with one keyboard and one mouse. this is pretty convenient. i have like 3 each of keyboards and mice in the room, but not having to set one down and pick the other up is nice. i use nfs to access the desktop's much larger hard drive from the laptop. i like to do most interactive work on the laptop because the screen is a lot better2. but the speakers3 on the desktop are better. so, i found the mpd program4.

i was just looking for a sound player to replace the crappy xmms which has been a mainstay the linux community for years, but was recently black listed by the gentoo maintainers because of > 30 bugs or something. i found some really good players, but what go my attention was mpd, the music player daemon5. the player itself runs in the background with no gui or any such thing. gui clients can connect to it. the upshot of this is that i can now control the player from my laptop, but the desktop does all the actual work of playing the music. the files are stored on the desktop, decoded on the desktop, and play from the desktop speakers.

this software allows for some pretty cool setups. you could build a dedicated music server connected to some really nice speakers that would be accessible to anyone on the network. you could probably hack a slu2 (can you add audio output to these - i suppose you could) or other network storage device or any of a number of embedded devices. this thing's job would be to play music and nothing else. it could contain its own storage on which to hold all the music or access it from another server through nfs or smb6





1. synergy - you can google it if you haven't been paying attention to me in the last 2 years. I have blogged it a couple of times.

2. the desktop has a really crappy 14" monitor that I got from Good Will for 6.99. I know exactly how much it was because the price is still written on top in black crayon. I think I got it in Orlando or Atlanta.

3. they're just some crappy computer speakers, but they're way better than the crappy built-in laptop speakers. I can't easily connect external speakers to the laptop because the first thing I did when I bought it was to break the headphone jack. I have a usb soundcard that works with my laptop, but it's a pain in the butt to use it and switch back and forth. plus I don't like having all kinds of wires and things coming out of my laptop - that's how the headphone jack got broken in the first place.

4. mpd - google it

5. a daemon is a program that runs in the background (server) and usually allows other programs (clients) to connect to it. It's a pretty common design and the unix/linux/open-source community employs it frequently. clients can generally connect from a local machine or a networked machine.

6. wtf is smb you ask? it's the windows file sharing protocol. the open source software to access it is called samba. yes, you can access it from linux or pretty much any other os because samba is open source and can be made to run on pretty much any os. i don't bother with it myself because i don't use any windows systems and windows file sharing has always been a real pain in the ass. i've tried to get file sharing working between two win xp computers with no success - then seen an mcse attempt the same on the same systems with no success. windows just sucks like that. i got nfs working, no problem, and i got an ftp server running, no problem. i can't say that these setups are exactly easy, but they're at least possible which is more than i can say for smb. i think the two computers were running two different versions of xp and i firmly believe that in that particular situation it was simply not possible to get file sharing to work.

1 Comments:

Blogger phil said...

it's really cool. i can open a client on each computer and any changes in one immediately show up in the other - playlist, repeat, random, volume, whatever. it's cool.

6:00 AM  

Post a Comment

<< Home