Quando ho il nome del brano tra virgolette, aggiunge con successo la traccia alla playlist "talk". Vedi esempio:
tell application "iTunes"
duplicate track "Big Ruby Conf 2013 Keynote by Jim Weirich-vIHdhaF2R2w.mp3" to playlist "talks"
end tell
Ma quello che voglio fare è passare un argomento da linea di comando per la traccia che voglio aggiungere alla mia playlist, in questo modo:
on run argv
tell application "iTunes"
duplicate track argv to playlist "talks"
end tell
end run
Quando lo faccio ottengo questo errore:
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)
So che passare gli argomenti della riga di comando funziona perché ho scritto qualcosa di semplice per testarlo:
on run arg
log "hello: " & arg
end run
Quando lo eseguo con questo comando:
osascript log_test.scpt "Blake"
Ottengo questo risultato:
hello: Blake
Qualche idea sul modo corretto di passare un nome di traccia come argomento da linea di comando?
risposte:
2 per risposta № 1Devi fare riferimento a un elemento di argv, che è una lista:
on run argv
tell application "iTunes"
duplicate track (first item of argv) to playlist "talks"
end tell
end run