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…") display ...

Get iPod and iTunes Hacks now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.