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.

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.

  • ¿Cómo registrar un AppleScript como un posible browser web pnetworkingeterminado?
  • AppleScript para hacer que la image de vista previa se convierta en el maestro en la biblioteca de Aperture
  • ¿Cómo abrir un file usando Applescript?
  • Aleatorizar times de inicio de events ical
  • ¿Busca en la biblioteca de iTunes la location del file?
  • Mensaje del Centro de notifications a través de AppleScript / osascript: especifique el nombre y el icono de la aplicación
  • Applescript para get el número de pista de la canción del álbum de múltiples CD en iTunes?
  • ¿Cómo ejecutar javascript desde un AppleScript (Yosemite)?
  • 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).