Cómo descargar la canción de iTunes (a través de iTunes Match) usando AppleScript

1

Estoy intentando averiguar cómo descargar el archivo para canciones de iTunes que aún no se han descargado en mi máquina local (y residen en iTunes Match Cloud) utilizando AppleScript o cualquier otra biblioteca.

Mi objetivo es tener un script que se ejecute localmente en un cron que descargue cualquier canción con calificación de 5 estrellas. Cuando transmito la mayor parte de mi música a través de iTunes Match, quiero una forma automatizada de descargar esas canciones de alta calificación.

Miré a mi alrededor y pensé que algo como esto funcionaría:

tell application "iTunes"
    activate
    set results to (every file track of playlist "Library" whose rating is 100)
    repeat with t in results
        download t
    end repeat
end tell

Aunque simplemente explota:

error "iTunes got an error: item 1 of
  {file track id 86657 of library playlist id 61224 of source id 66, .... } 
  doesn’t understand the “download” message."

Cualquier ayuda sería apreciada.

    
pregunta Kevin Jalbert 10.03.2017 - 15:46

1 respuesta

1
tell application "iTunes"
  set matchedSongs to tracks of library playlist 1 whose rating is 100 and cloud status is matched
  set uploadedSongs to tracks of library playlist 1 whose rating is 100 and cloud status is uploaded

  set results to matchedSongs & uploadedSongs

  repeat with aTrack in results
    if class of aTrack is shared track then
      try
        download aTrack
      end try
    end if
  end repeat
end tell

¡Esto hace el trabajo!

No pude averiguar cómo hacer una condición anidada en el whose , así que simplemente adquiero el conjunto de búsquedas de canciones emparejadas y subidas y las combiné.

Los try y if solo aseguran que descarguemos las pistas válidas si no existen localmente.

    
respondido por el Kevin Jalbert 13.03.2017 - 01:41

Lea otras preguntas en las etiquetas