Reply To: Migrating iTunes playlists


@mpuckett wrote:

First off THANKS Ron for all the work you have done. Awesome job. I’ve been trying to get free of iTunes for some time now and this is the first implementation of daap that works well enough to do so that I have found thus far.

Now my question… is it possible to migrate my playlists from iTunes? My Library is about 5000 songs and 25GB and I have about 100 playlists, about half of which are smart. I plan to now migrate my entire library from my Mac running iTunes to my Linux box running Firefly and I want to retain my playlists. I put the .xml file in my mp3 directory and it found it and put it into the db and exported the playlists, but due to path name changes of course no songs were found. What is the recommended way to fix this? Run the .xml file through a sed script and replace the pathnames? Replicate the Mac path on the Linux box? How are the smart lists handled, will I need to toss these and re-implement on Firefly? If I correct the song pathnames, will the playlists be imported correctly?

My setup is a Linux box running FC1 with Apple’s mDNS responder. I also have Ubuntu 6.06 with Avahi that I am migrating over to. I first brought up the stable version and transferred some .mp3’s and .aac’s and these worked perfectly serving to a Windows iTunes, the Mac iTunes, and my Roku M1000. I then pulled down the latest nightly and rebuilt and and was able to do .ogg transcoding and web streaming to all three clients perfectly. I haven’t yet tested .flac transcoding but I’m confident that will work just as well.

Once again, kudos to you on some great software!


The path stuff it should find on its own, so long as:

1. The file names are stored as UTF-8 on the hard drive. This should be the default if you are using samba 3 or better (which I imagine you are).

2. The file system is a mirror of the existing layout.

Once you have that, put the “iTunes Music Library.xml” file in the directory directly above the music. So, for example, if you have a layout like:

+- Ministry
+- The Mind is a Terrible Thing to Taste
+- Metallica
+- Motorhead

then the “Music” folder is a good place to put it, as it is above all the music. Don’t put it off to the side or anything, but it right above all the music, but still inside the music directory.

It searches from the point of the playlist down.

So if your file path was:

c:someplace elsemusicministrythe mind is a terrible thing to taste1 – thieves.mp3

And you put the xml file in the Music share on your server (which might correspond to /mnt/mp3/music, then the server will try:

/mnt/mp3/music/01 – thieves.mp3
/mnt/mp3/music/the mind is a terrible thing to taste/01 – thieves.mp3
/mnt/mp3/music/ministry/the mind is a terrible thing to taste/01 – thieves.mp3

and finally find it. See, it keeps walking backwards on the “old” path (converting slashes) and looks for that under the directory where the xml file is.

So it tries pretty hard to find it.

So that’s the long explanation.


— Ron