13.2. Using terms from
You know about references to objects. In Chapter 10 and 11, I discussed references to Finder and iTunes objects in detail. For example, the following tell statement asks iTunes to give you a reference to the first track of your library:
tell application "iTunes" to set track1 to first track of first library playlist
This stores the following reference in the variable track1 (your id numbers will be different):
file track id 1138 of library playlist id 1103 of source id 34 of application "iTunes"
This is a complete reference to the specified track. With this reference stored in your variable, you can subsequently look for some information about that track. For example, if you want the artist's name you could write the following:
get artist of track1
If you execute this statement outside of a tell block, you get an error. Why? Because AppleScript doesn't know what an artist is. An artist is a property of a track, and it's defined in the iTunes dictionary. Because you're not executing the previous statement inside a tell block, that dictionary is not consulted when Script Editor compiles your program. Because the reference includes a reference to iTunes, iTunes will be given this statement to execute. The fact that iTunes wasn't consulted at compile time to resolve the term artist results in an error when you execute the statement.
You can tell something's amiss from the color that Script Editor gives to the word artist after compilation: it's green, meaning ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access