I decided I wanted to do this a couple of nights ago and now I've come up with a method, it's not really complicated but can be rather time-consuming depending on how large your library is.
I have around 800 albums with attached album art and it took at least an hour, granted most of that time is spent watching your computer doing all the work for you.
The process requires you to download some free applications (links supplied) and you also need a new-ish version of Photoshop (I use CS3) although I'll show you an alternate way of getting basically the same results with Google's free digital photo organizer, Picasa2.
So, for Windows only at the moment, but I'm sure some Mac user can come up with an easier and cooler way to do this. Damn you, I'm switching soon anyway.
More advanced users can check out Step 7 right away for a quick rundown.
Step 1: Locating Your ITunes Album Art
There's several ways to go about this; you can import the covers automatically from the iTunes Store or you can painstakingly do it by hand for every album.
- By hand
I imported all mine into iTunes by hand, partly because I'm kinda picky and want them all the same size but mostly because I listen to weird electronic music that's just not available in the iTunes Store, forcing me to find the cover art from Discogs.com, Google image search and elsewhere.
Anyway, I will assume you have at least some album art in iTunes (the more the better) and move on.
So let's locate the images on your computer.
The problem, and the one thing that makes this instructable even worth sharing to begin with, is that the images are not readable by Photoshop as is and that they're all spread out into hundreds of strangely nested folders with strange names.
Therefore, we need to decode them and copy them all into one place.
The default folder for your artwork should be in "My Documents\My Music\iTunes\Album Artwork\Local"
If you can't find it there just do a search for the folder "album artwork" on your C: drive.
If you navigate around a bit from here you'll notice that it's very messy, so we have to find all the *.itc files (those are actually just renamed png images with some extra header data) that are thrown around in the myriad of folders and copy them into a new folder so that we can manipulate them without destroying your iTunes setup.
From the Local folder, click Search in your Explorer bar (CTRL-F) and search for any file that has "itc" in it's file name and after a while you should be presented with a list of all the cover art files.
Now, make a new folder somewhere else, maybe on your desktop, Select All the files (CTRL-A) and copy them into your newly made folder.
Make sure you copy the files, don't just move them or you will mess up your iTunes library!
Step 2: Converting the Files Into a Readable Format
Download Bitmaprip (Portable, 24KB ZIP)
Put the application from inside the zip file into the same folder as your itc files. This makes it easier for later but you can put it wherever you want if you know what you're doing.
Open up a command prompt - click on the Start Menu, choose Run, type in "cmd" without the quotation marks and click OK.
Navigate to your folder with the itc files and Bitmaprip inside.
- Beginners Guides: WindowsXP Command Prompt
In the command prompt, type:
copy /b * test.tes
This will combine all the files into one, named test.tes, you'll see why in the next step.
In the command prompt, type:
Have a look inside your folder and finally you can see the decoded album art!
As for why Apple has chosen to hide the images so well there are many theories but we'll leave that for some other time.
You can now close down the command prompt and delete all the itc files, if you wish.
Step 3: Removing Duplicates
Download and install Duplicate File Finder (Installer, 1MB EXE)
Open Duplicate File Finder and click the check box next to the folder containing your images, leave the other settings untouched and click "Start Search".
Once the search is done, first click the fourth button from the left and then the recycle bin to the right of it, see attached pictures.
Confirm the deletion and exit Duplicate File Finder.
Did I mention I was a bit anal retentive? :)
Step 4: Scaling the Album Art to the Same Size
I scaled mine to 200 by 200 pixels from the start but chances are there will still be some images with other dimensions and that will mess up the evenness of our final result.
Download and install Fotosizer (Installer, 1MB EXE)
When you install make sure you deselect the option to install the toolbar
The application is fine except for that.
Click Add Folder and locate your images, enter a custom size in the Width and Height boxes (I set mine to 200 x 200), uncheck the Maintain Aspect Ratio check box and finally select a Destination Folder, preferably a new and different one than the one with the unscaled images.
Click Start and wait, this should be pretty quick.
You can now close down Fotosizer and delete the old folder, if you wish.
This can also be done in Photoshop with Actions, if you know how. I just feel I can't spend even more time explaining how that beast works.
Step 5: Assembling the Poster in Photoshop
In order for the poster to end up symmetric we need to have a nice and even amount of images so if you have, say, 317 files in your scaled images folder, just delete 17 of them so that you have 300 left.
Or, if you have for example 355, you can delete 5 and let your finished poster be 25 down and 14 across. Experiment.
Open up Photoshop and make sure you have Pixels selected in Preferences->Units&Rulers-;>Rulers.
Go into the File menu and click Automate->Contact Sheet.
Click the Browse button and locate your folder with the scaled images.
Let Units be set to Pixels and then try figuring out the math. In my attached example the scaled images are 200 by 200 pixels and there's 50 of them, so I figured I try out an oblong poster.
10 rows times 200 pixels is 2000 pixels so the Width should be 2000.
5 rows times 200 pixels is 1000 pixels so the Height should be 1000.
5 times 10 is 50, so all the images will fit on one page, as you can see to the right in the dialog box where it says "Page 1 of 1".
Once you get a hang of it it won't need to be so difficult.
Now just press OK and leave the computer alone for a bit.
This example took around two minutes for me to render but once you start using several hundreds of covers the wait will be longer.
I can recommend assembling smaller chunks at the time if you have more than 400 of them and then putting them all together once the composition is done.
Hopefully you'll end up with something like the enclosed example, only larger.
Step 6: Assembling the Poster in Picasa2
Download and install Google's Picasa2 (Installer, 5MB EXE)
Import your scaled images folder into Picasa2.
- Picasa Help
With the folder selected in the left pane, click the menu Create->Picture Collage, choose Picture Grid, click Create, wait a bit and you're done.
You end up with a square image that you can open up in Photoshop and crop/resize if need be.
Step 7: Summary and Some Final Thoughts
1. Copy all the itc-files from My Music\iTunes\Album Artwork\Local
2. Pipe all the files into one via copy /b * test.tes (/b is for binary copy)
3. Extract the png's using Bitmaprip
4. Remove duplicates with, for example, Duplicate File Finder
5. Scale all the images to the same size with for example Fotosizer or Photoshop Actions.
6. Use the Contact Sheet function in Photoshop or Picasa2 to assemble the images into a poster.
Wow. Such a long and convoluted walkthrough for something that should be so easy.
I'm pretty sure there are easier methods or maybe someone will just write a simple Python, ImageMagick or whatever script that does all this in no time.
But hopefully someone got some use out of this, if so I would love to see some examples of your finished results, be it a photo of your printed poster or maybe just a desktop wallpaper.
You can of course apply this technique to something else, like your collection of Russian propaganda art, or use the images to make a photo mosaic.
That's it, thanks and feel free to ask any questions or comment if I left something out.