Keine sinnvolle Antwort, ich weiß - aber: Will ich auch wissen!!!
Wobei ich mir bisher immer (ergebnislos und, ehrlich gesagt, auch ohne große Initiative) überlegt habe, aus der Librarydatei per Shellskript, Perl, Python o.ä. irgendwas auszulesen.
Ergebnis 1 bis 10 von 13
- 14.12.2011, 01:10 #1Luxemburger Triumph
Themenstarter
- Registriert
- 06.2010
- Beiträge
- 504
Liste aller Genres
Hallo
(Mein Wissensstand bzgl. Applescript ist leider nicht sehr gut)
Ich scheitere Gerade bei dem Versuch, mir eine Liste von allen Genres (aus Playlist Music) ausgeben zu lassen:
tell application "iTunes"
set genreList to genre of every track
end tell
listet mir jedes Genre x-mal auf, ich will aber eine Liste im Sinne einer mathematischen Menge (kein Eintrag doppelt).
Auch scheitert
tell application "iTunes"
set genreList to genre of every track of playlist Music
end tell
(warum stört sich der Compiler nun an dem Schlüsselwort genre?!)
Eigentlich möchte ich ja für jedes Genre eine eigene Playlist mit nur diesem Genre erstellen. Vielleicht denke ich da zu kompliziert (bzgl. der Programmierung, ich möchte es nicht über intelligente Playlists o.ä. erledigen, da das ganze Teil eines etwas größeren Programms werden soll)
Danke!- derzeit (meist) inaktiv -
- 14.12.2011, 01:28 #2Gelber Richard
- Registriert
- 12.2005
- Ort
- Alzenau
- Beiträge
- 12.365
- 14.12.2011, 02:03 #3
- 14.12.2011, 11:50 #4Luxemburger Triumph
Themenstarter
- Registriert
- 06.2010
- Beiträge
- 504
Danke, der Link sieht sehr vielversprechend aus! Auf dieses Forum bin ich beim googlen auch gestoßen, leider nicht auf diesen Thread.
@MacAlzenau: Wenn du diesen Weg gehen willst denke auch an sed/awk.
- 14.12.2011, 12:05 #5
Bei Doug Adams gibt es folgendes Skript: http://dougscripts.com/itunes/script...=makeatextlist
Du kannst es ja mal im AppleScriptEditor öffnen. Sind allerdings auch Filmgenres dabei, evtl. muss man es etwas abändern...
EDIT: die entscheidende Zeile ist wohl:set the_command to "grep \"" & xml_tag & "\" " & my get_path_to_current_xml() & " | sort -fd | uniq | sed -e 's/" & xml_tag & "//g' -e 's///g' " & "-e 's/&/\\&/g' -e 's/ //g' | tr 'It's more fun to be a pirate than to join the navy.RTF Apfeltalk Wiki
- 14.12.2011, 13:30 #6
Hallo,
freigesudeltes Beispiel:
Es ist auch möglich den Abgleich mit "is not it" in einer zweiten Liste durchzuführen.Code:tell application "iTunes" set allGenres to genre of every track end tell set textDelimiter to " " set genresText to textDelimiter repeat with nGenre in allGenres set dirtyGenre to textDelimiter & nGenre & textDelimiter if (genresText does not contain dirtyGenre) then set genresText to genresText & nGenre & textDelimiter end if end repeat return genresText
Das funktioniert bei mir aber seit Lion gar nicht mehr korrekt. Textoperationen funktionieren da viel besser.
Viele Grüße
- 14.12.2011, 13:37 #7http://tune-instructor.de/com/_tutor...torial_18.htmlEigentlich möchte ich ja für jedes Genre eine eigene Playlist mit nur diesem Genre erstellen.
Den ersten PopUp-Button setzt Du einfach auf "Genre".
So geht das ultra schnell…
Viele Grüße
- 14.12.2011, 14:13 #8
Hallo LittlePixel!
Danke für das "freigesudelte" Beispiel (*grins)
genre of every track dauert
schneller ist auf jeden Fall
genre of tracks of library playlist 1 (oder playlist "Musik" o.ä.)
aber noch viel schneller ist das verlinkte Beispiel:
script o
property genres : ""
end script
tell application "iTunes"
set o's genres to (get genre of tracks of library playlist 1)
end tell
set genreList to {}
repeat with i from 1 to count o's genres
set g to item i of o's genres
if g is not in genreList then set end of genreList to g
end repeat
genreList
Und ja: mit dem Tune•Instructor kann man das Gewünschte sehr bequem erledigen
... nur, ob sich das als Teil eines "größeren Programms" implementieren lässt?
Gruß
- 14.12.2011, 14:37 #9
Da hast Du Recht.
Ich gestehe ein, dass ich es nur überflogen habe.
Viele Grüße
- 14.12.2011, 14:38 #10
Ich habe schon lange nichts mehr mit AS umgesetzt.
Mache mal aus dem:
… das:Code:repeat with i from 1 to count o's genres set g to item i of o's genres if g is not in genreList then set end of genreList to g end repeat
Was passiert da bei Dir?Code:repeat with g in o's genres if g is not in genreList then set end of genreList to g end repeat
Viele Grüße


Zitieren