What do you do when you’re at a place where the sound system is connected to one of the local computers, and you want to play your own music?
I guess the way civilized people do this is via UPnP, but it never worked for me. Here in the third world, most people don’t have a UPnP client, and when you want to listen to music, the last thing you want is to install something (be the death of the party).
Edna is the easiest way I know to HiFiJack (actually, WiFiJack) a sound system. If the client box can browse the web and play m3u playlists of http streams, we’re in business.
Edna is a simple web server (python script) that lets clients browse one or more folders, and click on auto-generated m3u play lists for playing folders (recursively or flat, ordered or shuffled). Even when you want to play a single track, the link is to an m3u play list with a single song in it (see bottom left of screen-shot).
It can also play existing play lists inside the folder (i.e. convert local paths to urls), and (if you allocate the memory for it in your edna.conf) let people download whole folders as zip files (in the spirit of kopimism). It also shows thumbnails of image files (album art).
It may seem a bit old fashioned to browse track according to file system instead of [unknown] album and [unknown] artist, but IMHO it’s not so bad having more control over what you listen to ;).
You can fork Edna here (or simply download the zip). It’s my rogue fork of the original project by Greg Stein. I’ve changed a few things (e.g. made the sort case insenstive), so it’s not an exact mirror.
If you fork it, there are lots of nice vanity schticks you could add to it. After all, the html templates are so 90s, anything you do would look better :). Don’t know about you, but I truly believe that having your own customized media server is the zef thing to do (especially if you don’t have a car for your velvet dice and bobbing-head dog). It’s the perfect procrastination project for people with more important things to do.
A note for Android clients: although it’s not common to have an Android phone or tablet as the client connected to the speakers, one can never know (be prepared and all that). Now for some reason, Android doesn’t play streaming m3u files out of the box (embarrassingly enough, iPhone does). The cure is an app with the misleading name ServeStream (which is a streaming audio client). It’s also recommended because it lets you listen to shoutcast radio stations (i.e. the free world).