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.

  • Reinstalé mi MacBook Pro, vuelva a sincronizar con problemas de iPad
  • ¿Cómo me suscribo al podcast en iTunes de forma remota?
  • ¿Recreando la biblioteca de iTunes desde un file .itdb?
  • ¿Cómo puedo eliminar la label explícita de una canción?
  • Verifique que las inputs en iTunes estén realmente en el disco
  • ¿Dónde almacena iTunes la información y las preferences de la suscripción a Podcast?
  • 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.

  • En iTunes Store, ¿cómo puedes ver el nombre completo?
  • ¿Cómo informo de una estación de radio de spam / falsa en la list de radio por Internet de iTunes?
  • iTunes: mover files de iTunes (autogestionado)
  • "Reorganización" de iTunes espontánea y no deseada
  • Las canciones de iTunes Match no aparecen en el iPhone
  • Archivos de música que aparecen en el iPhone, pero no en la biblioteca de iTunes. Cómo deshacerse de ellos
  • 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).