[Applescript] préécoute et iTunes

two

Membre actif
6 Novembre 2005
895
291
Namur
Bonjour,
pour gérer ma musique en soirée j'utilise iTunes avec une borne airport express et, en complément (pour pallier l'absence de préecoute sur iTunes), un applescript lancant la lecture de la sélection dans playsound (un petit lecteur sans interface).

j'utilise ce script et ce soft sans aucun souci depuis 2007 et ce malgré les évolutions de notre OS. Depuis le passage à Lion et son mode plein écran, un petit "bug" à fait son apparition : lorsque itunes est en mode plein écran, le script me fait revenir au bureau 1 à chaque utilisation. Comment faire pour que le script et/ou playsound restent bien en arrière plan?

Le script en question :
Bloc de code:
set soundFile to ""
tell application "iTunes"
    set soundFile to location of item 1 of selection
end tell
tell application "Play Sound"
    play soundFile with priority immediate
end tell
 
Je me réponds en partie, le problème persiste, mais...

J'ai écrit le script avant léopard... et depuis Léopard le script shell afplay rend l'utilisation de playsound inutile...

donc nouveau script :
Bloc de code:
on run
    set soundFile to ""
    tell application "iTunes"
        set soundFile to location of item 1 of selection
    end tell
    set file_path to quoted form of (POSIX path of (soundFile as alias))
    try
        do shell script "killall afplay"
    on error
        do shell script ("afplay " & file_path & " -t 60 > /dev/null 2>&1 &")
    end try
    tell application "iTunes" to set frontmost to true
end run

la dernière ligne me fait revenir automatiquement sur itunes ...
mais ce n'est pas encore cela... si je dois utiliser cette ligne c'est parce que le script m’emmène bien sur le premier bureau.
Auriez vous une solution plus élégante qu'un aller retour par le premier bureau?