2009-02-10 8 views
7

Im Ernst, es ist mir peinlich, das sogar zu fragen.Applescript Frage - Hinzufügen von Tracks zu Playlists

Ich habe ein Applescript, das eine Playlist mit einer Reihe ganzer Alben erstellen soll. Alles funktioniert gut, außer dass die Titel der Playliste hinzugefügt werden. Hier ist der relevante Code:

repeat with theAlbum in randAlbums 
    set these_tracks to (tracks of library playlist 1 whose album is theAlbum) 
    repeat with the_track in these_tracks 
     add the_track to playlist thePlaylist (* doesn't work *) 
    end repeat 
end repeat 

Der Fehler ich erhalte, ist „iTunes eine Fehlermeldung anzeigt. Ein Deskriptorenart Konflikt aufgetreten“

randAlbums ist eine Liste eindeutiger Albumnamen, und thePlaylist ist eine Playlist, die zuvor im Skript erstellt wurde.

Ich habe meinen Kopf dagegen geschlagen für das, was sich wie eine Woche anfühlt und ich konnte es nicht herausfinden. Vielen Dank im Voraus für jede Hilfe können Sie bieten :)

Antwort

8

Duplizieren ist der gewünschte Befehl. Versuchen Sie folgendes:

repeat with theAlbum in randAlbums 
    duplicate (tracks of library playlist 1 whose album is theAlbum) to thePlaylist 
end repeat 

Innerhalb der iTunes-Schnittstelle add verwendet wird, eine neue Spur in der iTunes Bibliothek hinzuzufügen, um einen Dateisystempfad verwenden, während duplicate verwendet wird, in einer Wiedergabeliste einen Verweis auf eine bestehende Spur zu platzieren.

Wenn der Befehl zum Hinzufügen verwendet wird, wird iTunes schließlich feststellen, dass die Spur bereits Teil der Bibliothek ist und tun, was Sie wollen, aber nicht bevor es die Metadaten der Datei liest, für Albumcover-Abruf einplant, usw. Alle Das ist ein ziemlich langsamer Vorgang. Wenn Sie es also innerhalb einer Schleife für eine große Anzahl von Titeln verwenden, wird iTunes langsam crawlen.

Duplicate führt eine native Datenbanksuche durch und fügt die Ergebnisse gleichzeitig zur Playliste hinzu, so dass es sehr schnell geht.

0

Apple wirklich seltsam ... aber die Kasse Skripte here dougscripts.com

Sieht aus wie er Duplikat verwendet und nicht hinzufügen, wenn zu einer Playlist hinzufügen. Ich schaue auf die One Song From Each Skript

Hmmm ... wie wäre es?

add (a reference to the_track) to playlist thePlaylist 
+0

Ich habe über * viele * der Skripte auf Dougs Website nach Inspiration gesucht und/oder einen Hinweis, wie man das lösen kann, aber ohne Erfolg. Danke aber :) – inkedmn

+0

Ja, ich habe dieses Skript auch geöffnet. Leider gibt 'duplizieren' mir den gleichen Fehler: \ – inkedmn

0

Versuchen Sie diese Zeile zu ändern:

add (get location of the_track) to playlist thePlaylist 

oder, wenn thePlaylist bereits eine Playlist Bezug (statt nur den String Name einer Wiedergabeliste):

add (get location of the_track) to thePlaylist 
+0

Wenn ich das mache, bekomme ich diesen Fehler: "iTunes hat einen Fehler: Alias ​​\" Macintosh HD: Benutzer: inkedmn: Musik: iTunes: iTunes Musik: Vision Of Störung: For The Bleeders: 01 Choke.mp3 \ "versteht die Nachricht nicht." Irgendwelche anderen Ideen? Danke! – inkedmn

0

Versuchen:

copy the_track to end of playlist thePlaylist 

statt.

Verwandte Themen