2 votes

Suppression de toutes les chansons d'une liste de lecture iTunes donnée à l'aide d'Applescript

Je travaille sur un script pour gérer ma liste de lecture "queue" dans iTunes et je voulais un moyen facile et rapide de supprimer rapidement toutes les chansons de cette liste de lecture.

Applescript semblait la meilleure option et j'ai créé un petit script exécutable avec un raccourci clavier. Cependant, cela ne semble pas fonctionner.

Voici la partie pertinente :

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

Le problème est que toutes les pistes ne sont pas supprimées, seulement une partie d'entre elles. En exécutant le script plusieurs fois, on finit par supprimer toutes les pistes de la liste de lecture.

4voto

Fuzzy Purple Monkey Points 702

J'ai eu exactement le même problème. Il y a de plus en plus de bugs AppleScript dans chaque version d'OS X.

Si vous souhaitez simplement supprimer toutes les pistes d'une liste de lecture, les expressions simples comme celle-ci ne semblent pas sauter de pistes et sont également plus rapides :

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

Si vous n'avez besoin de supprimer que quelques pistes, quelque chose comme ceci pourrait fonctionner :

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

0 votes

Pour une raison quelconque, l'expression "supprimer les pistes de la liste de lecture" ne fonctionne pas pour moi. script L'éditeur renvoie l'erreur "chaque piste de la liste de lecture n'est pas dans la bibliothèque" et ne comprend pas le message "supprimer".

0 votes

Pour information : le "delete tracks of playlist "..." a fonctionné pour moi.

0voto

Harry Lime Points 8229

Le problème est que toutes les pistes ne sont pas supprimées, seulement une partie d'entre elles.

Puisque vous supprimez les pistes au fur et à mesure que vous les parcourez, il se peut que le système soit confus. Il se retrouve avec environ la moitié du nombre de pistes, ce qui donne l'impression qu'il supprime une piste sur deux.

tell playlist "queue" to delete t

Pour mémoire, le tell playlist "queue" to est ignorée, ce qui équivaut à dire simplement delete t .

La réponse de @user495470 est bonne mais ceci fonctionne aussi pour moi :

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

0voto

user247077 Points 968

Notez que ces exemples ne font que supprimer la chanson de la liste de lecture, et non du disque.

Cela m'a permis de faire les deux :

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

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X