quicksilver/iTunes-qsplugin — pull request #12 by skurfer (2012-12-10 19:10:02+00:00)
Title: Updates (mostly for iTunes 11)

iTunes 11 tries to be more "cloud aware" or something, so it includes all purchased tracks in both the XML library and in Scripting Bridge search results. Since we can't do anything with tracks that aren't downloaded, we check for the `location` attribute in a couple of places. (In the future, we might add a "Download" action for these tracks, but that ability hasn't been exposed by Apple yet.)

iTunes DJ is gone, so I've removed it from the plug-in. And since that's the only thing we were keeping the AppleScript around for, guess what else is finally completely gone. Hooray! :-)

There are also some icon related improvements:

* Always use the album cover to represent an album (and not the first track, which could be a video) unless they are all videos. Kind of a mouthful and I couldn't do much better in the commit message, but hopefully you get the idea.
* Consider more than just an album's name when getting cover art. (So if you have 6 albums named "Greatest Hits" by different artists, they won't all have the same cover.)
* Figured out how to make some of the proxy objects show the icon for the object they refer to.

And finally, I increased the cache time for Random Track. Now that you see its icon in the first pane, I wanted to make sure it held onto that same object long enough for you to do something with it. (Less confusing.)

This still needs one more commit before merging, which is why I've been sitting on it, but I guess the code review can at least start. I'm just waiting for quicksilver/Quicksilver#1261 to be merged so I know which version of QS to require here. (That way, iTunes DJ support won't be yanked for iTunes 10 users, where it should still work.)