- Mitglied seit
- 19. Okt 2009
- Beiträge
- 48
- Punkte für Reaktionen
- 0
- Punkte
- 12
Hallo Alle!
Ich habe mal wieder ein Script für Euch. Diesmal geht es um die Wiedergabelisten der Audiostation. Ich habe hier im Forum bezüglich Aufbau und automatischen Wiedergabelisten einiges gelesen, und praktisch jedesmal ging es darum, daß die User mit den Möglichkeiten welche die DS bietet nicht zufrieden sind, vor allem was das automatische aktualisieren anbelangt.
Hier nun von mir zumindest ein Ansatz für "automatisch aktualisierende" Wiedergabelisten.
Zuerstmal folgendes zum Aufbau der Wiedergabelisten der Audiostation:
Lage: normalerweise im "music" Ordner, also idR. in "/volumeX/music/playlists"
Aufbau: zumindest bei mir nach dem Schema: "../Ordner/.../muusikfile.mp3", was heisst, ausgehend aus dem "playlists"-Verzeichnis eins nach oben, und von dort den relativen Pfad zur jeweiligen Musikdatei. Der Typ der Playlist sollte "m3u" sein.
Nun habe ich etliche Vorschläge gelesen, wie man eigene Playlisten erzeugen kann, und die meisten laufen darauf hinaus, mit Programm X eine eigene Liste zu erstellen und diese dann mit einem Texteditor nachträglich zu manipulieren. Leider bleibt einem bei wirklich speziellen Listen/Einträgen nichts anderes übrig.
Wer sich allerdings damit zufrieden gibt, vorher festzulegen, was in der Liste eigentlich stehen soll und mit seinen Wünschen innerhalb den Möglichkeiten des Filesystems bleibt, kann recht einfach eigene Playlisten erstellen lassen, die sogar immer aktuell sein können.
Die Sache hat allerdings einen Haken: Die Playlisten (als Name) müssen in der Postgres Datenbank stehen. Da ich keine besondere Lust hatte, mich mit der Manipulation dieser Datenbank zu beschäftigen, wählte ich die einfachste Lösung:
Die benötigte Playlist wird einfach mittels der Audiostation-"Bibliothek" angelegt, wird allerdings leer gelassen. Damit habe ich erreicht, daß es für das System die entsprechende Playlist gibt un dich kann damit machen was ich will.
Möchte ich also eine Playlist haben, die ich später mit "Jazz" relevanten Inhalten befüllen möchte, lege ich einfach die Playlist "Jazz" an.
Nun komme ich zum Script-Teil:
der Aufbau meines Musik-Ordner ist "/volume1/music/Genre/Interpret/Album/...";
per "find" kommando kann man auf der Shell wunderbar filtern lassen, wonach man sucht; per "cd /volumeX/music/playlists" in das Playlist Verzeichnis wechseln (das ist wichtig, da so bei der Abfrage automatisch der richtige "Pfadaufbau" generiert wird.
Es wird nun nach allen mp3,m4a,ogg und aac Dateien gesucht, jedoch nicht in Verzeichnissen "@eadir" (die werden von der DS angelegt). In den Ergebnissen wird gefiltert ob (idF.) ein Verzeichnis "jazz" existiert (und das suche ich ja, weil das mein Genre ist). Diese Ergebnisse wiederum werden in die Datei "Jazz.m3u" geschrieben.
Da der Audiostation zuvor mitgeteilt wurde, daß eine Playlist mit diesem Namen existieren soll, kann man nun in die Audiostation wechseln, und die Playlist "Jazz" auswählen - et voila! Alles was vorhin gefunden wurde, taucht nun in dieser Liste auf.
Mit dieser Erkenntnis könnte man nun auf den Gedanken kommen, mittels cronjob die Playlist automatisch aktuell zu halten. Dazu sollte man allerdings ein reguläres Script hinterlegen
Ich habe mal wieder ein Script für Euch. Diesmal geht es um die Wiedergabelisten der Audiostation. Ich habe hier im Forum bezüglich Aufbau und automatischen Wiedergabelisten einiges gelesen, und praktisch jedesmal ging es darum, daß die User mit den Möglichkeiten welche die DS bietet nicht zufrieden sind, vor allem was das automatische aktualisieren anbelangt.
Hier nun von mir zumindest ein Ansatz für "automatisch aktualisierende" Wiedergabelisten.
Zuerstmal folgendes zum Aufbau der Wiedergabelisten der Audiostation:
Lage: normalerweise im "music" Ordner, also idR. in "/volumeX/music/playlists"
Aufbau: zumindest bei mir nach dem Schema: "../Ordner/.../muusikfile.mp3", was heisst, ausgehend aus dem "playlists"-Verzeichnis eins nach oben, und von dort den relativen Pfad zur jeweiligen Musikdatei. Der Typ der Playlist sollte "m3u" sein.
Nun habe ich etliche Vorschläge gelesen, wie man eigene Playlisten erzeugen kann, und die meisten laufen darauf hinaus, mit Programm X eine eigene Liste zu erstellen und diese dann mit einem Texteditor nachträglich zu manipulieren. Leider bleibt einem bei wirklich speziellen Listen/Einträgen nichts anderes übrig.
Wer sich allerdings damit zufrieden gibt, vorher festzulegen, was in der Liste eigentlich stehen soll und mit seinen Wünschen innerhalb den Möglichkeiten des Filesystems bleibt, kann recht einfach eigene Playlisten erstellen lassen, die sogar immer aktuell sein können.
Die Sache hat allerdings einen Haken: Die Playlisten (als Name) müssen in der Postgres Datenbank stehen. Da ich keine besondere Lust hatte, mich mit der Manipulation dieser Datenbank zu beschäftigen, wählte ich die einfachste Lösung:
Die benötigte Playlist wird einfach mittels der Audiostation-"Bibliothek" angelegt, wird allerdings leer gelassen. Damit habe ich erreicht, daß es für das System die entsprechende Playlist gibt un dich kann damit machen was ich will.
Möchte ich also eine Playlist haben, die ich später mit "Jazz" relevanten Inhalten befüllen möchte, lege ich einfach die Playlist "Jazz" an.
Nun komme ich zum Script-Teil:
der Aufbau meines Musik-Ordner ist "/volume1/music/Genre/Interpret/Album/...";
per "find" kommando kann man auf der Shell wunderbar filtern lassen, wonach man sucht; per "cd /volumeX/music/playlists" in das Playlist Verzeichnis wechseln (das ist wichtig, da so bei der Abfrage automatisch der richtige "Pfadaufbau" generiert wird.
Rich (BBCode):
find .. ! -iwholename '*@eadir*' \( -iname "*.mp3" -o -iname "*.m4a" -o -iname "*.ogg" -o -iname "*.aac" \) | grep -i /jazz/ > "Jazz.m3u"
Da der Audiostation zuvor mitgeteilt wurde, daß eine Playlist mit diesem Namen existieren soll, kann man nun in die Audiostation wechseln, und die Playlist "Jazz" auswählen - et voila! Alles was vorhin gefunden wurde, taucht nun in dieser Liste auf.
Mit dieser Erkenntnis könnte man nun auf den Gedanken kommen, mittels cronjob die Playlist automatisch aktuell zu halten. Dazu sollte man allerdings ein reguläres Script hinterlegen