Fermeture iTunes avec AppleScript

IPuck

Membre enregistré
10 Août 2012
9
0
Bonjour à tous,

Je suis nouveau sur le forum et total débutant avec Applescript.

Je souhaite que mon iMac - OS X 10.5.8 - joue quelques notes personalisées à l'ouverture de ma session (je sais, c'est idiot mais bon...)

J'utilise le script suivant avec une application Automator qui s'ouvre automatiquement en début de session:


on run {input, parameters}
tell application "iTunes"
play track "569462"
end tell
return input
end run



Le problème est que le son est joué mais que la fenêtre iTunes s'ouvre sur l'écran.

Première question: est il possible de modifier le code pour que le son soit joué sans que la fenêtre iTunes soit visible?
Deuxième question: si l'ouverture de cette fenêtre ne peut pas être évitée, comment modifier le script pour qu'elle se ferme automatiquement à la fin du son? J'ai essayé d'insérer "tell application "iTunes" to quit" mais alors le son n'est pas joué (d'accord, la fenêtre n'apparaît plus mais ce n'est pas vraiment le but recherché...)

Merci d'avance pour votre aide.
 
Dans le Terminal, si tu as tapes man afplay, puis entrée pour validée, tu as quelque chose autre que No manual entry for afplay ?
Si oui, tu peux lancer un script shell avec afplay ./cheminDeMaMusique/MaMusique.extension au démarrage de ta session.
 
Bonjour Larme,

Merci de cette réponse très rapide.

Après avoir tapé:
man afplay
dans le terminal, j'obtiens:

-bash: manafplay: command not found

Ca ne me semble pas l'idéal...
Y a t-il autre chose à faire?

Bonne journée.
 
1) si je tape
manafplay
j'obtiens
-bash: manafplay: command not found


2) si je tape
man afplay
j'obtiens
AFPLAY(1) BSD General Commands Manual AFPLAY(1)

NAME
afplay -- Audio File Play

SYNOPSIS
afplay [-h] audiofile

DESCRIPTION
Audio File Play plays an audio file to the default audio output

OPTIONS
-h print help text

Darwin February 13, 2007 Darwin
(END)
 
Oui, sûrement... mais comme je l'ai écrit dans mon premier post, je suis total débutant (voir même pire si ça existe) avec AppleScript. Tout ce que je connais c'est le basique de chez basique en VBA, souvenir de l' époque maudite où je n'avais pas encore utilisé un Mac.
Je vais essayer de m' en sortir avec cela et je te tiens au courant :)
 
Bon, alors j'ai pas mal cherché, mais ce n'est pas très productif et je patauge un maximum.

D'abord, le chemin de mon morceau (durée = 5 secondes) est: /Users/LOLO/Music/iTunes/iTunes Music/Music/Unknown Artist/Unknown Album/569462main_eagle_has_landed.mp3
(je le trouve par "obtenir des informations" grâce à un clic droit sur le morceau dans iTunes)

Si je tape dans l'éditeur de scripts:
do shell script "afplay./Users/LOLO/Music/iTunes/iTunes Music /Music/Unknown Artist/Unknown Album/569462main_eagle_has_landed.mp3"
la réponse est, si je clique sur l'icône exécuter:
Erreur d’AppleScript sh: afplay./Users/LOLO/Music/iTunes/iTunes: No such file or directory

Si je rajoute & après.mp3 (j'ai vu que certains font ça, mais je ne sais absolument pas pourquoi..), je n' ai plus de message d'erreur, mais il ne se passe rien du tout, même si je l' enregistre sous forme d' application.

Et si je tape
on run {input, parameters}
tell application "Terminal"
do shell script "afplay./Users/LOLO/Music/iTunes/iTunes Music /Music/Unknown Artist/Unknown Album/569462main_eagle_has_landed.mp3&"
end tell
return input
end run

a) dans automator, il ne se passe rien, mais sans message d' erreur
b) dans l'éditeur de script, j'ai Erreur d’AppleScript (null)

Est ce que je peux avoir un peu d'aide pour m'en sortir?
Merci beaucoup
 
Alors...
Le &, c'est pour avoir la main toujours sur le Terminal et pouvoir ainsi continuer de taper des commandes...

Vire le « . » devant le /Users, car ton chemin n'est pas vraiment relatif (en bref, en fonction de là où tu es), et testes dans le Terminal.
Ah oui, je viens de trouver...
L'espace est conter comme la fin d'un argument/option. Du coup, mets le iTunes Music entre guillemet ("iTunes Music") ou un \ devant un espace.
 
Dans le terminal, ça donne ça:

imac-de-lolo:~ LOLO$ do shell script "afplay/Users/LOLO/Music/iTunes/iTunes Music /Music/Unknown Artist/Unknown Album/569462main_eagle_has_landed.mp3&"
-bash: syntax error near unexpected token `do'
 
Tapes dans le Terminal :
afplay/Users/LOLO/Music/iTunes/"iTunes Music"/Music/"Unknown Artist"/Unknown Album/569462main_eagle_has_landed.mp3

Attention, y'avait un espace en trop avant un /...
Le Shell est sensible aux espaces !
 
J'ai mis des guillemets devant iTunes

imac-de-lolo:~ LOLO$ do shell script "afplay/Users/LOLO/Music/iTunes/"iTunes Music"/Music/Unknown Artist/Unknown Album/569462main_eagle_has_landed.mp3&"
-bash: syntax error near unexpected token `do'


et ailleurs
imac-de-lolo:~ LOLO$ do shell script "afplay/Users/LOLO/Music/iTunes/"iTunes Music"/Music/"Unknown Artist"/"Unknown Album"/569462main_eagle_has_landed.mp3&"
-bash: syntax error near unexpected token `do'

mais j' ai toujours le même message

---------- Nouveau message ajouté à 23h25 ---------- Le message précédent a été envoyé à 23h18 ----------

Là, je retombe sur le message: Unknown: No such file or directory

imac-de-lolo:~ LOLO$ afplay/Users/LOLO/Music/iTunes/"iTunes Music"/Music/"Unknown Artist"/Unknown Album/569462main_eagle_has_landed.mp3
-bash: afplay/Users/LOLO/Music/iTunes/iTunes Music/Music/Unknown Artist/Unknown: No such file or directory
 
Génial, ça marche dans le terminal !

Mais comment dois je faire pour que ce code se lance tout seul à l' ouverture de ma session ? ( comme avec Automator dans ma version initiale)
 
:up: :up: :up:

Ca y est, tout fonctionne, super...
Je propose la médaille d' or de la patience avec les débutants pour Larme
Merci encore...