iTunes – Home and Office

So, here’s a quandary – I have iTunes installed at home, accessing my large music collection.  I have the same music collection at the office on a portable drive (I considered DAAP over the network, but didn’t want to suck bandwidth), also accessed by iTunes.  How do I keep the play lists in sync so that ratings, last played, play count etc is transferred home whenever I play my music at the office?

Initially I was looking at a complex solution, involving sync algorithms, web services, you name it, and then the solution hit me as simple yesterday.

Looking at the iTunes folder in C:Documents and SettingsusernameMy DocumentsMy Music (or C:UserusernameMy DocumentsMy Music on Vista) you should see at least a couple of files and directories:

iTunes Library.itl
iTunes Music Library.xml

The itl file is a binary file used by iTunes to keep track of your music collection and the xml file is a structured text file representing the same collection.  iTunes only uses the xml file if the itl file is damaged, otherwise the xml file is kept in sync with the itl file by iTunes.

Tip: if the location of your music collection changes and you want to edit your iTunes library in an xml editor, then make sure the itl file is present with 0 bytes in size (open it in notepad and delete all the contents before saving it).  Open the iTunes after making the edits to the xml file and iTunes will regenerate the itl file.  If the itl file is not present on the disk then iTunes will create a new version of both itl and xml file.

Back to the plot – synchronizing the library.  Anyone who has not heard of FolderShare should take a look at it – it’s free.  FolderShare provides a mechanism to keep two folders on separate machines (across the Internet) in sync.   So, the simple solution to the problem is to sync the iTunes folder containing the itl and xml files.  A few important points:

  • The music structure at home must be the same as the structure at the office.
  • iTunes references your music files by file path e.g file://localhost/M:/Music/Disturbed/Alive.mp3. The path must be identical in both locations.  The easiest way to accomplish this is to use the command “subst” to create a virtual drive at the root of your music collection (assuming your music collection is contained in one folder structure).
  • Avoid keeping your music files in the same folder structure as the itl and xml files, otherwise FolderShare will attempt to sync your music files as well as iTunes library, which may not be desirable (FolderShare has a hard limit of 10,000 files per sync library).
  • Make sure that you disable the option to let iTunes manage your music – This option copies all your music to the iTunes directory.
  • Avoid running iTunes at both locations at the same time – this may cause conflicts.

That’s about it [:)]