Les nouveautés d’iTunes 11.0.3 ne sont pas que cosmétiques : certaines propriétés des appareils AirPlay sont désormais accessibles en AppleScript (sur Mac uniquement). À l’aide d’un script, on peut maintenant savoir si une borne est active, disponible ou protégée et si elle prend en charge uniquement l’audio ou aussi la vidéo. Ces informations connues, on peut alors se connecter à une ou plusieurs bornes AirPlay ou s’en déconnecter et en régler le volume.
Doug Adams, grand spécialiste des scripts iTunes, propose un script simple pour lister les appareils AirPlay et s’y connecter, ici présenté dans une version modifiée :
tell application "iTunes"
set adlistbrut to (get AirPlay devices)
set adlist to (get name of AirPlay devices)
set adchoice to choose from list adlist with prompt "Choisir un
ou des appareil(s) :" with multiple selections allowed
if adchoice is false then return
set adselect to {}
repeat with i from 1 to length of adlist
if item i of adlist is in adchoice then set end of adselect
to item i of adlistbrut
end repeat
set current AirPlay devices to adselect
end tell
On peut imaginer améliorer des scripts existants en y ajoutant la prise en compte d’AirPlay, ou créer de tous nouveaux scripts spécialement conçus pour le sans-fil : nous avons par exemple imaginé passer du son de l’ordinateur au son d’un système AirPlay selon que l’on soit devant l’écran ou pas. Pour ce faire, nous allons d’abord récupérer le nom des appareils AirPlay à portée :
tell application "iTunes"
get name of AirPlay devices
end tell
Le résultat est une liste, ici limitée à un appareil en plus de l’ordinateur :
{"Ordinateur", "Freebox Server"}
On ne peut malheureusement utiliser directement le nom des appareils, il faut récupérer leur identifiant :
tell application "iTunes"
get AirPlay devices
end tell
Le résultat est à nouveau une liste, que l’on peut faire correspondre à la précédente :
{AirPlay device id 26 of application "iTunes", AirPlay device id
116829 of application "iTunes",}
On peut dès lors réaliser deux scripts, un pour faire passer le son par l’ordinateur… :
tell application "iTunes"
set current AirPlay devices to AirPlay device id 26
end tell
…et un autre pour le faire passer par notre système AirPlay :
tell application "iTunes"
set current AirPlay devices to AirPlay device id 116829
end tell
Le plus simple pour scripter la présence devant l’ordinateur est d’utiliser EventScripts : il va déclencher les scripts selon que l’iPhone glissé dans notre poche soit à portée du Bluetooth de l’ordinateur ou pas. Il faut activer le suivi des appareils Bluetooth :
Puis lier un « événement » au déclenchement du script : dans notre exemple, la perte du Bluetooth qui correspond à l’éloignement de l’ordinateur va activer AirPlay.
Ce n’est bien sûr qu’un exemple, qui est d’ailleurs limité par la trop grande portée du Bluetooth. Mais un exemple qui permet d’entrevoir les possibilités ouvertes par cet ajout d’AirPlay au dictionnaire AppleScript d’iTunes.