iTunes replacement

A relatively simple request from Catherine (please sync my iTunes library with reality) caused me to go off in an orgy of python development yesterday. Basically I’m fed up with fighting iTunes every time I want to do something trivial sounding (merge duplicates, rescan a directory for new songs, update ID3 tags from disk, etc). I spent most of yesterday writing hacky python code, and I am most of the way to a solution I prefer.

I’ve got a script which imports my playback history from iTunes (that XML file iTunes exports) into MySQL. I also have a python web server which serves songs over HTTP and uses a flash player and some javascript to record which songs are played fully, versus which songs are skipped. I use that information to decide which songs I like and should therefore be synced to my iPods.

Next steps — iPod syncing, play lists, some sort of business logic for song selection.

The code is at