Finally was annoyed of always having to update my iTunes db with the new music I add so I looked for a new solution. I now have a DAAP media server, called MT-DAAPD (Project Site), running on my Linux File Server. So far it’s working as it should but I noticed that on iTunes end, it sort of sucks. I like how when iTunes has local files, it sorts all the music into Albums using Album art and whatnot but using a media server doesn’t do that. It just shows up a giant list of every song in alphabetical order of artist which is very hard to navigate. It’s not all bad because iTunes is smart enough to order it by album in the artist sort. What I mean by that is if I have two artists, Ex. Arcade Fire and Silversun Pickups. What it will do is first sort the two bands out in alphabetical order. Than it will sort the albums out for the artist in alphabetical order within the artist. Anyway, now my next step is to find out how I could do how a local DB for iTunes handles files for the server, if that makes any sense.

I had a problem at first trying to get it all setup. Ubuntu refused to let it start throwing up errors and such saying my avahi-daemon (mDNSresponder) (Project Site) was not using the howl layer for some reason and the sqllite3 database could not start. Tried recompiling newer version of avahi-daemon from source but all I got was missing dependencies which I could not install since I have 8.04 LTS. I ended up finding a nice little compile attribute that will compile MT-DAAPD that made it work.

This would be:

./configure --enable-avahi

As soon as I did that and did the usual:

make
make install

and it worked perfect. Than I found the next problem. For some reason the init.d scripts did not want it to start. At all. It would say it would start but it just wouldn’t. So I did the next best thing, made my own. I opened nano and made:

#!/bin/sh
exec mt-daapd

I than saved it in the /etc/init.d directory as mt-daapd.sh. Ran:

update-rc.d mt-daapd.sh defaults

and everything worked after that. Now it up and running for the time being. I will rewrite the script at some point that will enable to be used at different runlevels and support the start|stop|restart commands.

That’s all I got for now. I hope this helps someone.