/ / applescript ajoute une chanson à la liste de lecture iTunes via la ligne de commande - macos, ligne de commande, applescript, itunes

applescript ajoute la chanson à la liste de lecture iTunes via la ligne de commande - macos, ligne de commande, applescript, itunes

Quand je cite le nom de la piste entre guillemets, il ajoute la piste à la liste de lecture "parle". Voir exemple:

tell application "iTunes"
duplicate track "Big Ruby Conf 2013 Keynote by Jim Weirich-vIHdhaF2R2w.mp3" to      playlist "talks"
end tell

Mais ce que je veux faire est de passer un argument de ligne de commande pour la piste que je veux ajouter à ma liste de lecture, comme suit:

on run argv
tell application "iTunes"
duplicate track argv to playlist "talks"
end tell
end run

Quand je fais cela, j'obtiens cette erreur:

osascript add_track_to_talks.scpt  "Big Ruby Conf 2013 Keynote by Jim Weirich-vIHdhaF2R2w.mp3"
add_track_to_talks.scpt: execution error: iTunes got an error: A descriptor type    mismatch occurred. (-10001)

Je sais que passer des arguments en ligne de commande fonctionne parce que j'ai écrit quelque chose de simple pour le tester:

on run arg
log "hello: " & arg
end run

Quand je le lance avec cette commande:

osascript log_test.scpt "Blake"

Je reçois cette sortie:

hello: Blake

Des idées sur la bonne façon de passer un nom de piste en argument de ligne de commande?

Réponses:

2 pour la réponse № 1

Vous devez référencer un élément d'argv, qui est une liste:

on run argv
tell application "iTunes"
duplicate track (first item of argv) to playlist "talks"
end tell
end run