Okay, also:
Natürlich muss zunächst Java installiert sein. Man muss sich auch bewusst sein, dass die Installation von Java eine der wenigen Schwachstellen für Schadsoftware in OS X ist.
Dann
iTunesExport laden und die Datei irgendwo ablegen.
Hier eine Vorlage des Skriptes, was ich benutze:
Rich (BBCode):
#!/bin/sh
# keine Ausgabe im Terminal/mail
exec > /dev/null 2>&1
# Anlegen eines temporären Ordners in /tmp
mkdir /tmp/Playlists
# Vorgang public Playlists
java -Xms512m -Xmx512m -jar /<PFAD>/<ZU>/<ITUNESEXPORT>/itunesexport.jar -library='/<PFAD>/<ZUR>/<LIBRARY>/iTunes Library.xml' -fileTypes=ALL -outputDir='/tmp/Playlists/' -includePlaylist='Bon Jovi,Die Ärzte,Eminem,Foo Fighters,...' -separator=MAC -musicPath='../../music' -musicPathOld='file:///<ALTER>/<PFAD>/Music/'
# UTF8-Konvertierung
for x in /tmp/Playlists/*.m3u
do
iconv -f UTF8-MAC -t UTF8 "$x" > "$x".utf8
rm "$x"
mv "$x".utf8 "$x"
done
mv /tmp/Playlists/*.m3u /<PFAD>/<ZUM>/<ZIEL>/Playlists/
Kurze Kommentare stehen ja schon dabei, ich führe es aber noch etwas aus:
- "keine Ausgabe im Terminal" ist eig selbsterklärend, würde ich aber fürs Testen des Skripts auf jeden Fall auskommentieren, damit du auch Fehlermeldungen bekommst
- UTF8-Konvertierung:
Die ist notwendig, damit Titel, Interpreten, Alben und auch Playlisten selber Sonderzeichen wie Ä,Ö,Ü enthalten können. Deswegen legt das Skript die Playlisten auch erst in /tmp ab, konvertiert sie und verschiebt sie dann ans Ziel
- Zu iTunesExport selber:
Die einzelnen Parameter hab ich in dem vorher geposteten Thread schon ausgeführt, aber vl noch ein Wort zu "musicPathOld": Das was dort eingetragen werden muss kriegt man einfachsten heraus wenn man iTunesExport erst einmal ohne die Parameter musicPathOld und musicPath ausführt und sich die entstandene M3U mit einem Texteditor anguckt. Diese enthält dann die Dateipfade die auf den Mac zugeschnitten sind.
Anschließend muss man sich den Teil herauskopieren der ersetzt werden muss und als "musicPathOld" eintragen. Als "musicPath" muss dann stehen durch was es ersetzt werden soll.
Der Pfad den ich bei musicPath eingetragen hab hat folgenden Hintergrund:
Meine Playlisten landen zum Schluss mit im Musik-Ordner, also zwischen den Interpreten
Rich (BBCode):
/Users/<BENUTZER>/Music/<Interpret A>/<Album A>
/Users/<BENUTZER>/Music/Playlists/*.m3u
/Users/<BENUTZER>/Music/<Interpret B>
Diese m3u soll nun eine relative Pfadangabe zur MP3 haben, ausgehend von dem Ort wo die Playlist liegt. ".." steht dafür einen Ordner nach oben zu gehen. Also sollte in der M3U so etwas stehen:
Rich (BBCode):
../../Music/<Interpret A>/<Album A>/Titel 1.mp3
../../Music/<Interpret B>/<Album B>/Titel 2.mp3
EDIT: Hier könnte ich evtl für Verwirrung gesorgt haben. Die beiden Beispiele oben beziehen sich auf die Pfadstruktur wie sie bei mir unter OS X aussieht. Im Skript und nachfolgend geht um die Strukturen wie sie auf der DS aussehen (Tipp: Wenn ihr in Audio Station neue Playlists (gemeinsam und/oder persönlich) erstellt und euch die M3U Dateien anschaut seht ihr auch genau wie die von iTunesExport erstellten Playlisten auszusehen haben.)
Ihr denkt jetzt: "Warum zwei Ordner nach oben gehen und dann wieder in Music, wenn ich doch einfach nur einen Ordner nach oben gehen kann?"
Das ist auch korrekt, aber es lässt mir auf der DS die Möglichkeit die Playlists in einem anderen (für Musik indizierten) Gemeinsamen Ordner abzulegen. Beispiel:
Rich (BBCode):
# Playlists liegen unter
/volume1/<GEMEINSAMER ORDNER>/Playlists/*.m3u
# Musik liegt unter
/volume1/music/*
In diesem Fall funktionieren die Playlists immer noch.
Automatisierung:
Das Skript habe ich dann als *.sh Datei abgespeichert und lasse es als
Cronjob ausführen (
Anleitung)
Zusatz:
Es ist mit dem gleichen Verfahren auch möglich die persönlichen Playlists eines DS-Benutzers mit iTunes synchron zu halten, falls man Playlisten hat die nicht die ganze Familie sehen soll.
Diese m3u-Dateien liegen tief versteckt im System der DS unter:
Rich (BBCode):
/usr/syno/etc/preference/<BENUTZERNAME>/playlists
Diesen Ordner mounte ich mithilfe
dieser Anleitung und
diesem Skript aus dem Wiki in den home Ordner des betroffenen Benutzers.
Diese m3u-Dateien müssen zwingend eine relative Pfadangabe haben, fragt mich nicht warum.
Deswegen lautet der "musicPath" Parameter in diesem Fall
Rich (BBCode):
../../../../../../volume1/music
So, ich hoffe damit konnte ich die meisten Fragen vorweg beseitigen^^
@RolfM: Da Windows sich nicht auf Shell-Skripte versteht kannst du das Skript so leider nicht verwenden. Der Java Befehl müsste aber 1-zu-1 so in einer
Batch-Datei funktionieren und statt der UTF8 Formatierung könntest du den "-useM3U8Ext"-Parameter von iTunesExport probieren, ich war damals zu blöd das in Gange zu kriegen
Automatisieren kann man die bat-Datei dann über die Windows-Aufgabenplanung (so heißt die glaub ich, einfach mal im Startmenü Aufgabenplaner eingeben)
Alternativ müsste das Skript auch genau so auf einer DS funktionieren auf der Java installiert ist, das hab ich aber nicht getestet.
Grüße