Wireless music at home

Yesterday I assembled my new IKEA desk. It’s nice to have my computer again on a desk :). In Madrid I used to connect my computer audio output to my Hi-Fi system to be able to listen to my mp3/ogg/flac music on the living room with a long RCA audio wire. However that is not anymore possible in my new apartment. I though about some other solution to play my music. First I considered buying an Apple Airport Express: 130$. Then I realized that I already have a gadget with wireless and audio output: my Nokia 770 so let’s code it!.

  • First I need a music server: after some web crawling tangerine was the perfect piece of software, quick, easy and just works.
  • Then I needed some DAAP client code for the 770: python-daap looked great, so I could write a quick 770 python player.
  • I did some local testing on my computer and I had to hack python-daap to connect/disconnect after each request, because downloading more than one song was failing: ugly hack for python daap
  • Finally a quick and dirty test player in python for the 770, based on the Muine idea: Add — Play/Enqueue

So after ~200 lines of python I got it:

My Hi-Fi system with the 770 connected wih a jack2RCA wire


Main play window


Add Song window

Here are the files:

Currently DAAP server address is harcoded and stop button is not working, so there is lot of stuff to do:

  • add some Avahi python code to search for music servers
  • Make stop works
  • download next song 10 secs before playing it to avoid delays
  • Support for remote playlists (in client and tangerine)
  • Create real .deb packages with .desktop files so you don’t need to run it in a console with
    run-standalone.sh python2.4 ./n770.py
This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>