Möchtet ihr Wiedergabelisten in die Audio Station importieren, werdet ihr die Menüs vergeblich nach einer entsprechenden Option absuchen. Dabei geht das eigentlich ganz einfach. Einige Stolpersteine muss man aber dennoch beachten. In diesem Artikel erkläre ich nicht nur wie es geht, sondern gebe euch noch ein kleines Hilfsmittel an die Hand.
Unterstützte Formate
Die Audio Station unterstützt Wiedergabelisten in den Formaten M3U, PLS und WPL. Liegt eure Playlist in einem der Formate vor habt ihr schon beinahe gewonnen. M3U ist eines der verbreiteteren Formate. Habt ihr die Playlist in einer Audio Software oder einer eigenen Playlist-Software erstellt, könnt ihr die Playlist meist in verschiedenen Formaten exportieren. Liegt eure Liste in einem Format vor, das die Audio Station nicht unterstützt, musst ihr versuchen das Format per Software umzuwandeln.
Die Wiedergabeliste importieren
Um eine Wiedergabeliste zum „importieren“ reicht es einfach, sie an den richtigen Ort zu kopieren. Die Audio Station kennt – neben den Smart-Listen – zwei Arten von Wiedergabelisten, Gruppen-Wiedergabelisten und persönliche Wiedergabelisten. Je nachdem ob ihr eure Wiedergabeliste für euch behalten wollt oder für alle Nutzer der Audio Station zugänglich machen wollt, müsst ihr die Liste an einen anderen Ort kopieren.
Für Gruppen-Wiedergabelisten kopiert ihr die Datei einfach in den /music Ordner eurer DiskStation.
/volumeX/music
Für persönliche Wiedergabelisten kopiert ihr die Datei in den Playlist-Ordner eurer persönlichen Audio Station (dazu muss diese aktiviert sein).
/volumeX/homes/<User>/music/playlists
Pfade anpassen
Das wäre alles so einfach, gäbe es da nicht ein Problem: In der Wiedergabeliste sind die einzelnen Lieder mit ihren Dateipfaden eingetragen und da ihr die Wiedergabeliste nicht auf eurer DiskStation erstellt habt, sind dort die Pfade eingetragen, unter denen die Lieder auf eurem Rechner liegen, z.B. M:\Musik\Queen\...
anstatt /volume1/music/Queen/...
.
Das Skript anlegen
Das lässt sich aber leicht beheben. Ich habe dazu ein Skript erstellt dass die Pfade ersetzt. Damit ihr das Skript nutzen könnt geht ihr folgendermaßen vor:
- Ladet das Skript hier herunter.
- Kopiert das Skript auf eure DiskStation. Alternativ könnt ihr das Skript über die Kommandozeile selbst anlegen, den Inhalt findet ihr weiter unten.
Achtung
Legt ihr Skripte selbst an, dann immer über den Texteditor der Kommandozeile (z.B. vi). Verwendet nie den Texteditor der DS oder einen Editor auf eurem Rechner und anschließendem Upload der Datei auf die DS. Dabei werden – gerade unter Windows – Zeilenumbrüche verwendet, die dann von der Kommandozeile nicht verarbeitet werden können. Auch die Formatierung einzelner Zeichen (z.B. einfache und doppelte Anführungszeichen) kann auf der Kommandozeile zu Problemen führen. Kopiert ihr Skripte z.B. hier aus dem Blog löscht am besten im Editor der Kommandozeile alle Anführungszeichen und fügt sie nochmal selbst ein.
- Speichert die Datei. Ihr könnt jetzt mit dem Skript die Pfade eurer Playlist anpassen.
Das Skript nutzen
Das Skript führt ihr auf der Kommandozeile (z.B. über PuTTY) aus und gebt dabei die gewünschten Angaben als Parameter an.
- Aktiviert unter DSM > Systemsteuerung > Terminal & SNMP den SSH-Zugriff.
- Verbindet euch via PuTTY mit eurer DiskStation.
- Wechselt mit
cd
in den Ordner, in dem das Skript liegt. und führt das Skript aus:
sh PlaylistReplacer.sh <PlaylistDatei> <OriginalPfad> <PfadAufDerDS> sh PlaylistReplacer-sh /volume1/music/MyMusic.m3u M:/Musik /volume1/music
Wichtig
Verwendet bei der Angabe des Originalpfads Slashes ( / ) auch wenn Windowspfade Backslashes ( \ ) nutzen. Diese werden in Unix für etwas anderes verwendet und der Befehl zum Suchen und Ersetzen würde den Pfad nicht verarbeiten können. Das Skript wandelt alle Backslashes in der Playlist-Datei selbst um.
- Wechselt ihr vorher nicht in den Ordner, in dem das Skript liegt, müsst ihr den Pfad zum Skript beim Aufruf mit angeben:
sh /volume...../PlaylistReplacer.sh
- Liegt die Playlist-Datei im Ordner, in dem Ihr euch befindet, reicht die Angabe des Dateinamen, ansonsten müsst ihr auch hier den gesamten Pfad angeben.
Das Skript anpassen
Das Skript ist recht klein und einfach:
#!/bin/bash FILE=$1 OLD_PATH=$2 NEW_PATH=$3 #Hier werden alle Backslashes in der Datei in Slashes umgewandelt und der veränderte Inhalt in die Datei temp gespeichert. sed 's!\\!/!g' "${FILE}" > temp #Hier werden dann alle Vorkommen von OLD_PATH mit NEW_PATH ersetzt. Der Inhalt wird dann in die ursprüngliche Datei geschrieben. sed s!${OLD_PATH}!${NEW_PATH}!g temp > "${FILE}" #Die temporäre Datei wird wieder gelöscht. Ja mir ist bewusst, dass es auch ohne temporäre Datei ginge aber das Skript war nur eine kurze Bastelarbeit und nachdem es funktioniert hat habe ich es gelassen, wie es ist. rm temp
Das Skript überschreibt die Originaldatei, wollt ihr das nicht, fügt ein NEW_FILE=$4
in Zeile 6 ein und in Zeile 10 ersetzt ihr FILE
durch NEW_FILE
. Dann könnt ihr beim Aufruf des Skripts als vierten Parameter einen neuen Dateinamen angeben. Oder ihr ersetzt "${FILE}"
durch einen Dateinamen (z.B. output.m3u) und benennt die Datei dann selbst um.