Vor Monaten habe ich schon mal damit angefangen, über einen Playlistengenerator nachzudenken. Erste Experimente führten zum Erfolg.
Diese Experimente sind lange her und ich hatte das Tool vergessen, womit ich experimentiert hatte. Ein Kommando, welches noch aus ganz alten Unix Tagen erhalten ist, ist apropos. Da ich ich mich nicht mehr an den Namen des Tools erinnern konnte, half ein apropos playlist zur Erkenntnis.
apropos playlist
fapg (1) - Fast Audio Playlist Generator
fapg war also das Tool.
Beispielsweise erzeugt fapg JT-Bruce/* -o jt.m3u eine Playlist mit dem Namen jt.m3u
Das ist schon ganz Prima, damit habe ich jetzt eine Playlist für einen Künstler, im Player könnte man nun shuffle oder Random (egal wie es nun heißen mag) also mehre Stunden Musik hören, Nur ist das immer von einem Künstler.
Natürlich kann man mit fpag auch eine ganze Directorystruktur und damit Hunderte von Titeln in die Playlist aufnehmen, doch irgendwie brefriedigt mich das nicht. Man sollte eine komplett Playlist nehmen, die verwürfeln und dann einfach einen Auschnitt spielen, damit hätte man wirklich abwechslungreiche Musik. Da kommt das nächste Tool ins Spiel, das ich zugegebenermaßen nicht selber entdeckt habe, sondern das ich soeben zufällig im planeten entdeckte. shuf (via ubuntuverse.at)
find . |egrep -i "(mp3|ogg|mp4)">komplettliste.txt erzeugt die Gesamtliste meiner Musiksammlung.
Dabei mache ich mir die OR Funktion von grep zu Nutze, braucht man manchmal doch
Da der wdtv mit Listen über 2000 Titel etwas langsam wirkt, habe ich mir einfach ein paar Playlists nach diesem Muster angelegt:
shuf komplettliste.txt | head -1000 |fapg -s - -o 1000-1.m3u
Damit kommt man schon ganz gut zurecht, man könnte natürlich noch eine Gui braten, der Commandline Freak wird hiermit aber glücklich. Naja ich jedenfalls Ich habe mir einfach fünf Listen angelegt, die jeweils 1000 Titel umfassen.
Achso, fapg hat noch ein paar Mängel. Manche ID3 Header scheint es nicht zu mögen: Warning >> ID3 header is huge (1066998 bytes) ist aber nicht schlimm, es wird trotzdem korrekt verwendet. Machmal kommt es zu Coredump, dann macht man es eben nochmal