Skip to Content
Beginning AppleScript®
book

Beginning AppleScript®

by Stephen G. Kochan
December 2004
Beginner
600 pages
13h 42m
English
Wrox
Content preview from Beginning AppleScript®

A.11. Chapter 11

A.11.1. Exercise 1 solution

set trackName to text returned of (display dialog "Type in some characters from the
        song name" default answer "")

tell application "iTunes"
    set trackList to search first library playlist for trackName only songs
    if (count trackList) is 1 then
        set trackToPlay to item 1 of trackList
    else if (count trackList) > 1 then
      -- make a list of track names, artists and albums for the user to choose from

        set trackChoiceList to {}

        repeat with aTrack in trackList
            set end of trackChoiceList to name of aTrack & " -- " & artist of ¬
                 aTrack & " -- " & album of aTrack
        end repeat

        choose from list trackChoiceList with prompt "Pick one:"
        set resultList to result

              if resultList is false then -- User canceled?
            return
        else
            set trackSelected to item 1 of resultList
        end if

      -- now find the selected track from the list

        repeat with i from 1 to (count trackList)
            if trackSelected = (item i of trackChoiceList) then
                set trackToPlay to item i of trackList
                exit repeat
            end if
        end repeat
    else -- no matching tracks
        display dialog "I couldn't find any tracks containing " & trackName & ¬
                " in their titles" with icon note buttons {"OK"} default button 1
        return
    end if

    --  finally, play the track

    play trackToPlay -- AppleScript doesn't wait for the song to finish!

    display dialog "Playing  " & name of trackToPlay buttons {"OK"} with icon ¬
           note default button 1 giving up after 3
end tell

A.11.2. Exercise 2 solution

Replace the line from the applet that reads

set trackList to search ...
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

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

AppleScript: The Missing Manual

AppleScript: The Missing Manual

Adam Goldstein
How to Develop a Great Digital Strategy

How to Develop a Great Digital Strategy

Jeanne W. Ross, Cynthia M. Beath, Ina M. Sebastian

Publisher Resources

ISBN: 9780764574009Purchase book