Eliminar todas las canciones de una list de reproducción de iTunes determinada con Applescript

Estoy trabajando en un script para administrar mi list de reproducción "queue" en iTunes y quería una forma fácil y rápida de eliminar rápidamente todas las canciones en esa list de reproducción.

AppleScript me pareció la mejor opción y creé un pequeño script ejecutable con un atajo de keyboard. Sin embargo, parece que no funciona.

  • Haz que iTunes deje de pedirme mi nombre de usuario y contraseña
  • iBooks: ¿cómo sincronizar solo PDF?
  • Las teclas multimedia de iTunes no funcionan en Mac OS X El Capitan
  • Compartir fotos desde iTunes
  • ¿Cómo agregar todas las canciones de la list de reproducción de música de Apple a mi música a la vez?
  • iTunes U aparece en la list de canciones
  • Esta es la parte relevante:

    tell application "iTunes" repeat with t in tracks of playlist "queue" tell playlist "queue" to delete t end repeat end tell 

    El problema es que no todas las pistas se eliminan, solo una parte de ellas. Ejecutando el script varias veces, finalmente, elimina todas las pistas en la list de reproducción.

  • protector de pantalla iTunes-cover no se muestra
  • ¿Cómo restaurar datos de aplicaciones individuales desde iCloud manteniendo todas las otras aplicaciones instaladas y nuevos datos creados desde la última copy de security de iCloud?
  • Agregar un file de canción a iTunes a través de la línea de command sin reproducir el file
  • iTunes no reconoce mi iPhone después de actualizar a Lion
  • ¿es posible organizar aplicaciones por múltiples niveles de carpetas?
  • iTunes Store no reconoce la biblioteca de iTunes
  • 3 Solutions collect form web for “Eliminar todas las canciones de una list de reproducción de iTunes determinada con Applescript”

    He tenido exactamente el mismo problema. Cada vez hay más errores de AppleScript en cada versión de OS X.

    Si solo desea eliminar todas las pistas de una list de reproducción, las expresiones únicas como esta no parecen omitir ninguna pista y también son más rápidas:

     tell application "iTunes" delete tracks of playlist "untitled playlist" end tell 

    Si solo necesita eliminar algunas pistas, algo como esto podría funcionar:

     tell application "iTunes" repeat set tr to tracks of playlist "untitled playlist" if tr is {} then exit repeat repeat with t in tr delete t end repeat end repeat end tell 

    El problema es que no todas las pistas se eliminan, solo una parte de ellas.

    Como está borrando las pistas mientras las itera, puede confundirse. Termina con aproximadamente la mitad del número de pistas, por lo que parece que se está eliminando las demás.

    tell playlist "queue" to delete t

    Para el logging, se ignora la tell playlist "queue" to play, por lo que esto equivale a simplemente decir delete t .

    @ user495470 la respuesta es buena, pero esto también funciona para mí:

     tell application "iTunes" delete of (every track of playlist "tmpList") end tell 

    Tenga en count que estos ejemplos solo eliminan la canción de la list de reproducción, y no del disco.

    Esto me ha funcionado para hacer ambas cosas:

     tell application "iTunes" set tr to tracks of playlist "a" repeat with t in tr set a to location of t set f to POSIX path of a delete t do shell script "rm " & quoted form of f end repeat end tell 
    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).