I recently decided it was time to update the artwork on for my personal collection. Much of my music had been ripped from CDs years ago and the most common size of of my existing artwork is 200x200. I am attempting to update my collection so that the artwork is at least 500x500 using up to 600x600 when I can find it.
The actions and search template I'm using can be found in the Fixing Artwork file available in the actions section of the forum.
My first step was writing an action to produce a log of all albums which have artwork less than 500x500. This is the Entire Library Poor Artwork action. The action is run in the Batch Processor Wizard and the root of my music collection is the source of the run.
The action was written so that it could be run multiple times and makes a couple of assumptions. First, I don't want to log any albums where I've already attempted to find artwork which meets my criteria and have failed. Secondly I assume that every track in an album has the same artwork. This is true for my collection.
In order to retain the fact that I've already searched for artwork, I utilize a User Defined Text Info item called ArtworkSearchDone. The value associated with the item is irrelevant but I store the date of the search there.
The first three steps in the Entire Library Poor Artwork action test if the ArtworkSearchDone item exists and if it does the action terminates:
Export value of User Defined Text Item ArtworkSearchDone
Exists User Defined Work field (test)
Test: if true, then exit
The last step performs the search once per set of files and logs the test track if the artwork is less than 500x500. The search template used does not really matter as the action is being run in the Batch Processor Wizard and the URLs are never issued.
Search for artwork (Google (500x500) 500x500 (once)
The run on my collection took 23 minutes, processing 37386 files in 3845 folders. My collection is kept off my Mac on a NAS drive.
Once the run completed, I saved the log file which identified a extremely large number of albums which had unsatisfactory artwork. I now had a record of what had to be fixed.
When I have some spare time I'm going through the saved log file processing an entry at a time. Each entry looks like:
Folder: /Volumes/Music/John Mayall/A Hard Road [Expanded]
Action: Entire Library Poor Artwork
Step: Search for artwork (Google (500x500)) 500x500 (once)
File: A Hard Road.mp3
Reason: 200x196 artwork smaller than 500x500
I select a folder path and copy it to the clipboard. In the example above that's /Volumes/Music/John Mayall/A Hard Road [Expanded]. I then right click in Yate's file list portion of the main window and select Open Path in Clipboard. This opens the folder's associated tracks in Yate.
I then simple run the Fix Artwork - Google action
Important: I only keep one artwork item in each of my files. DO NOT run the Fix Artwork - Google action if you want to retain more than one artwork item per file!!!!!!!
When the Yate Action Pending window is displayed, I browse the Google results to find my missing artwork. When I see something that looks good, I click on it to see the artwork at its full size. I then drag it into Yate. Now this is import. I dismiss the Yate Action Pending window by selecting Skip for all files and by clicking on the Skip Step button. If you don't do this the same condition will arise as the artwork has not yet actually been fixed. I always proceed with this method even if I couldn't find artwork. When the action terminates, saving the files if necessary, I either have better artwork or the ArtworkSearchDone item has been set to ensure that I don't bother looking at this album again.
I also set the Preferences-General When adding artwork scale down to option to 600x600 as that's the largest size I want for my artwork.
I'll briefly go over the steps in the Fix Artwork - Google action:
Link to iTunes
All my music is referenced from an iTunes library. The above step creates the linkage to the library so that if I get new artwork, iTunes is updated. If you do not reference your music from iTunes you can remove the above step.
Search for artwork (Google (600x600) (Show sizes) 500x500
The above step performs the search. I'm using a modified version of the built in Google template. The template has been included in the 'Fixing Artwork' file. It causes Google to display image sizes by default.
Rearrange artwork: size priority
The above step rearranges the artwork so that the 'largest' comes first.
The above step removes all artwork except for the first item.
Search for artwork Test 500x500
The above function checks to see if the remaining artwork item is at least 500x500 and sets the action's test state.
Test: if true, run action (Set ArtworkSearchDone) then continue
Test: if true, run action (Clr ArtworkSearchDone) the continue
If the artwork is not 500x500, the ArtworkSearchDone item is set otherwise it is cleared.
Save all modified files
Any files which have been modified are saved.
You can download the action here