iTunes Art Importer 0.9.3
On March 31st, Thomas Gehrke's iTunes Art Importer stopped functioning due to the termination of Amazon's 3.0 Web Services. Many moons later, I discovered the problem when I tried to use it and decided that I could probably fix it. Armed with Reflector for .NET and Amazon's new ECS 4.0 toolkit, I was able to repair the code.
Thus began the hunt for anyone who worked for YVG Software (in particular Thomas Gehrke). Sounds more impressive than it was; Google made this very easy. A quick email to Thomas Gehrke obtained the permission to distribute my change (Thanks Thomas!), so I pulled a copy of the old page (it has a lot of useful information) from the WayBack Machine and put it here. The only real changes are to the software requirements and the links. Everything from here down is left in it's original state.
Garett Harnish - July 16th, 2008
I really like using iTunes for Windows, but one feature that I wish it had that other, similar pieces of software have is the option to automatically import album art. With the release of the iTunes COM for Windows SDK, I thought to take matters into my own hands.
With the iTunes SDK and the Amazon.com Web Service I set out to write my first VB.NET application. And while it is apparent that this is a work in progress, it is very usable.
Install the iTunes Art Importer and start it up. You should see something very similar to this:
When you start up the Importer, iTunes will also start up. If you already had iTunes running that is not a problem. The best way I've found to use the Importer is to select all the tracks for a single album in iTunes...
...and click the search button in the Importer (denoted by the magnifying glass). It will then query Amazon.com for albums that match. If multipe albums are found, the best match will be automatically selected. (I've done a number of things to try to "tune" the selection process. Feedback in this area is particularly appreciated.)
When the correct album is selected and the album art is displayed on the left, click the Import button (it's the one next to the Search button <s>). If multiple tracks are selected in iTunes you will see the following message:
Confirming the update will result in the updating of the selected tracks in iTunes.
That pretty much covers the basics. You will, however, note that there are options shown on the window that I've not covered. Here is a quick rundown of each option and how it effects the search and import process.
Auto-import best guess
If you are feeling particularly brave and think that the Importer does a pretty good job of automatically selecting the right track, you might check this box to have the import done without intervention. In testing, I selected my entire library and let it run overnight. I did need to do a tiny bit of cleanup since it is not 100% correct all the time, but....
A few items to note regarding this option:
Replace album art
If album art exists in a track, the Importer will leave it alone. Checking this option will cause the Importer to remove the existing album artwork prior to importing a newer image.
Number of pages on Amazon.com to search
The Amazon web service only returns 10 items per page. The Importer only displays items returned that have an associated image (otherwise there would not be anything to import). So it's quite possible that dozens of albums could be returned with the desired album showing up further down the list.
The higher the number, the better your chances for finding what you are looking for, but the longer the search will take. Amazon requires a 1 second delay between requests and I'm enforcing that behind the scenes. I have attempted to tweak the searches so the number of pages returned is minimal, thus making most searches pretty fast. Feel free to tweak this setting and give me feedback.
Override automatic search criteria with...
The Importer uses the album and artist names to query Amazon.com. However, because album and artist names alone might result in too many or too few hits you may enter your own search criteria in the associated text box. This is intended to give you as much flexibility as possible.
I'd like to thank Joshua Hutson and Tim McNeely for allowing me to bug them with my requests for testing.