O'Reilly logo

iPod and iTunes Hacks by Hadley Stern

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Hack #79. AMG EZ Search

Use info from the selected or playing track to search the All Music Guide web site.

You're tapping your toes to an iTunes song when suddenly you realize you need to know more information. This AppleScript hack puts artist and album information one click away by sending data on the song you are listening to the venerable music information site, All Music Guide (AMG) at http://www.allmusic.com, via Safari.

The Code

This script gets the name, artist,and albumproperties of the selected or playing iTunes track and then asks the user to select one of the properties to use as the basis of a search of the AMG. The script then creates a search URL, which it sends to the Safari browser to open:

   -- determine selection
   tell application "iTunes"
     if selection is not {} then
       set sel to item 1 of selection
     else
       if player state is not stopped then set sel to current track
     end if

     -- get artist, album and name properties
     try
       set myTags to ¬
         {get artist of sel, get album of sel, get name of sel}

     on error
       display dialog "No track selected or playing." ¬
         buttons {"Cancel"} default button 1 with icon 0 ¬
         giving up after 15
     end try

   end tell

   -- select a tag to search AMG
   set myOpt to ¬
     (choose from list myTags with prompt "Search AMG for…" ¬ without multiple selections allowed) as string if myOpt is "false" then return repeat with prefix from 1 to 3 if myOpt is item prefix of myTags ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required