Applescripts
Back to the front door...
   

One thing... alright, a number of things about iTunes bother me greatly (Apple - you make great hardware and OSes but the software is not the best). And the biggest one is the fact that it cannot monitor a directory / folder for changes to the music files and update your library. OK, if you let it manage your music then you are all good, but that only works if you buy stuff from iTunes (which I and a number of other folks do not). I have a rather large collection of music that I manage on a NAS so it can be accessed from multiple machines so having iTunes 'manage' it, is not an option.

If you are on Windows, you are in luck - there is a very cheap bit of software called iTunes Folder Watch and as a user of it, recommend it highly. I'm just frustrated that you have to buy a bit of software to do something that was being touted as new 9-10 years ago - monitoring of folders.

That still leaves two more bugs with iTunes:

  1. it puts the Artist and Title information into the Title field when importing your own music. The only way to fix that is to have iTunes reread the tags through the Get Info screen or script it for large libraries.
  2. it doesn't read genres properly (like Indie and Drum & Bass) when music is imported into the library.

I have iTunes on OSX to sync to my iPod so I had to revert to scripting. I started off at Doug's Applescript site which has a good script to remove dead tracks but it didn't do all I wanted. This led to me learning a bit of Applescript and updating his Super Remove Dead Tracks scripts.

Update tracks all-in-one

Download: updateallin1.zip - contains the .scptd file (Applescript) and required PERL files
Source code: updateallin1.scptd (copy this into Applescript Editor) | finddupes.pl (rename the TXT to PL) | findblankgenres.pl (rename the TXT to PL)

This script will:

Simply copy the files from the ZIP file above into /Users/<username>/Library/iTunes/Scripts/.

There are some supporting PERL scripts that are required for this to work (included in the download file) plus they in-turn need the MP3::Tag library installed, so don't forget to download that through CPAN first.