O'Reilly logo

iPod and iTunes Hacks by Hadley Stern

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Hack #81. Remove Dead Tracks

Automatically delete the tracks in iTunes whose files are no longer available.

Sometimes, you'll see tracks listed in iTunes with an exclamation point (!) next to their names. These are so-called dead tracks: tracks whose files iTunes cannot locate because the files either are missing or have been deleted. In any case, you can eliminate them all from your iTunes library and playlists with this AppleScript hack.

Wow, over 3,000 results!

Figure 5-11. Wow, over 3,000 results!

The Code

This script examines each file track in the main library and checks if its locationproperty is missing value.If it is, the track is removed from iTunes.

   tell application "iTunes"

     -- initialize some variables
     set lib to library playlist 1
     set allUPNames to name of user playlists
     set prog to 500
     set delTracks to 0
     set checkedTracks to 0
     set ddMessage to ""

     set fixed indexing to true

     -- go through library tracks backwards
     repeat with t from (count of file tracks of lib) to 1 by -1

       set aTrack to file track t of lib
       try
         if aTrack's location is missing value then
           delete aTrack
           set delTracks to delTracks + 1
         end if
       end try
       set checkedTracks to checkedTracks + 1

       if frontmost and ¬
         (prog is not 0) and ¬
         (checkedTracks mod prog) is 0 then

         if delTracks is not 0 then ¬ set ddMessage to (delTracks & " dead tracks removed…") ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required