Bonjour, j'ai écrit un petit applescript qui me pose encore deux petits soucis...
Cet applescript me permet de vérifier régulièrement le genre du morceau en lecture et ce de manière a engendrer une action au plus tard 10 secondes après le changement de merceau si le changement est fait de manière manuelle et au moment du fondu enchainé si le morceau est lu jusqu'à la fin.
L'action, pour le moment, c'est l'affichage d'un bezel growl (do shell script "/usr/local/bin/growlnotify..."). Par la suite ce sera une intervention sur une application tierce.
Mon premier souci : quand je veux mettre fin à l'exécution du script autrement qu'en arrêtant la lecture sur iTunes; je ne peux le faire avec la fonction quitter et je suis obligé de passer par un forcer à quitter... Un remède docteur?
Mon second, un peu moins génant : la ligne suivante prends le genre du morceau suivant dans la liste de lecture.
Comment faire pour qu'il prenne le genre du premier morceau coché après celui en cours de lecture?
Le Try englobant une bonne partie du code est là pour ne pas afficher les messages d'erreurs quand le morceau en lecture est le dernier de la liste (à ce moment là mon script ne m'est de toute façon plus utilité).
infos qui peuvent être utiles: Mac OSX 10.6.3 - Itunes 9.1.1 - Editeur applescript 2.3
Bloc de code:
tell application "iTunes"
set mem_genre to "aa"
repeat while player state is not stopped
try
set genre_actuel to (get current track's genre)
set index_courant to (get index of current track)
set in_play to current playlist
if mem_genre is not genre_actuel then
do shell script "/usr/local/bin/growlnotify -a iTunes -m iTunesDMX! " & genre_actuel
set mem_genre to genre_actuel
else
set en_cours to ((current track's duration) - player position)
if (en_cours is less than 20) then
delay (en_cours - 8)
set genre_suivant to (genre of track (index_courant + 1) of in_play)
if genre_suivant is not genre_actuel then
do shell script "/usr/local/bin/growlnotify -a iTunes -m iTunesDMX " & genre_suivant
end if
set mem_genre to genre_suivant
end if
end if
delay 10
end try
end repeat
end tell
L'action, pour le moment, c'est l'affichage d'un bezel growl (do shell script "/usr/local/bin/growlnotify..."). Par la suite ce sera une intervention sur une application tierce.
Mon premier souci : quand je veux mettre fin à l'exécution du script autrement qu'en arrêtant la lecture sur iTunes; je ne peux le faire avec la fonction quitter et je suis obligé de passer par un forcer à quitter... Un remède docteur?
Mon second, un peu moins génant : la ligne suivante prends le genre du morceau suivant dans la liste de lecture.
Bloc de code:
set genre_suivant to (genre of track (index_courant + 1) of in_play)
Le Try englobant une bonne partie du code est là pour ne pas afficher les messages d'erreurs quand le morceau en lecture est le dernier de la liste (à ce moment là mon script ne m'est de toute façon plus utilité).
infos qui peuvent être utiles: Mac OSX 10.6.3 - Itunes 9.1.1 - Editeur applescript 2.3