/ / applescript aggiunge un brano alla playlist di iTunes tramite la riga di comando - macos, command-line, applescript, itunes

applescript aggiunge brani alla playlist di iTunes tramite la riga di comando - macos, command-line, applescript, itunes

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 № 1

Devi 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