May 17 2013 - 12:33 pm

More Airplay stuff

Earlier, I posted a way to hardcode the Airplay devices in a script. But if you only have one computer, AirPort Express, or Apple TV kind of Airplay device you can forego using the name property and do something like this, which sets my lone Apple TV as the current Airplay device:

tell application "iTunes"

set current AirPlay devices to (get AirPlay devices whose kind is Apple TV)

end tell

Even though there is only a single item result from Airplay devices whose kind is Apple TV, it’s returned as a list which is what current AirPlay devices takes.

The other kind values, AirPlay device and unknown, are too generic to use this way—unless you know you only have one of them.

May 16 2013 - 5:22 pm

Hardcode Airplay Device Speakers

Correspondent Matt Stevens sent the following, which illustrates how to hard code your Airplay device names:

tell application "iTunes"

set computerSpeaker to (first AirPlay device whose name = "Computer")

set kitchenSpeaker to (first AirPlay device whose name = "Kitchen")

set current AirPlay devices to {computerSpeaker, kitchenSpeaker}

end tell

The current AirPlay devices application property accepts a list—even if the list is only one item.

May 16 2013 - 4:25 pm

Airplay device properties

These are the new Airplay device properties accessible via AppleScript:

active (boolean, r/o) : is the device currently being played to?
available (boolean, r/o) : is the device currently available?
kind (computer/AirPort Express/Apple TV/AirPlay device/unknown, r/o) : the kind of the device
network address (text, r/o) : the network (MAC) address of the device
protected (boolean, r/o) : is the device password- or passcode-protected?
selected (boolean) : is the device currently selected?
supports audio (boolean, r/o) : does the device support audio playback?
supports video (boolean, r/o) : does the device support video playback?
sound volume (integer) : the output volume for the device (0 = minimum, 100 = maximum)

Notice that all the properties are read-only (r/o) except for selected and sound volume, meaning only those two properties can be changed; the others can only be polled.

May 16 2013 - 3:54 pm

Basic Airplay script

This is a pretty basic use of the new Airplay stuff. Select and set your Airplay devices:

tell application "iTunes"

set apNames to (get name of AirPlay devices)

set apDevices to (get AirPlay devices)

set rez to choose from list apNames with prompt "Select Airplay:" with multiple selections allowed

if rez is false then return

set apPlays to {}

repeat with i from 1 to length of apNames

if item i of apNames is in rez then set end of apPlays to item i of apDevices

end repeat

set current AirPlay devices to apPlays

end tell

Site contents © 2001 - 2019 (that's right: 2001) Doug Adams and weblished by Doug Adams. Contact support AT dougscripts DOT com. About.
All rights reserved. Privacy.
AppleScript, iTunes, iPod, iPad, and iPhone are registered trademarks of Apple Inc. This site has no direct affiliation with Apple, Inc.
The one who says "it cannot be done" should not interrupt the one doing it.