Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Fetch iTunes album artwork without iTunes running

Tags:

cocoa

itunes

In a Cocoa application, I'm looking for a solution to retrieve album artwork from iTunes without requiring iTunes itself to be launched and running in the background.

The usual and perhaps only solution, Scripting Bridge, and inherently AppleScript, will launch iTunes prior to executing any commands.

Album artwork is the only information which cannot be obtained from parsing iTunes Library.xml. iTunes obfuscates the storage of artwork in the following manner, for a given track: ~/{Library Path}/Album Artwork/Cache/D989408F65D05F99/04/13/04/D989408F65D05F99-EB5B7A9086F4B4D4.itc.

Anyone know of a technique to obtain album art without launching iTunes? I could always go a different route, such as using Amazon's data service, but I'd prefer a local iTunes-based solution.

like image 257
Sean Patrick Murphy Avatar asked Sep 16 '09 13:09

Sean Patrick Murphy


1 Answers

The filenames are an amalgam of the library ID (D989408F65D05F99) and the track's ID (EB5B7A9086F4B4D4). The directory structure comes from the library ID and the last three digits of the track's ID converted to decimal, ie 4D4 becomes 04, 13, 04.

The .itc files seem to have a RIFF/chunked type structure. There is a bit on the structure of the files here.

like image 146
sbooth Avatar answered Nov 29 '22 23:11

sbooth