Playlist Interpret

Wenn du nach GENRE sortieren möchtest, brauchst du wenigstens eine $loop(%genre%) Anweisung (und das zugehörige $loopend())
du könntest jetzt in einem bestehenden $loop() das angegebene Feld durch %genre% ersetzen oder
noch ein $loop() hinzufügen:
$filename(splitter.bat,utf-8)$loop(%genre%)$loop(%artist%)echo #EXTM3U >> "V:\Musik\Angie Artist\Angie Genre - %genre%.m3u8"

müsste werden zu
$loopend()$loopend()$loopend()$loopend()

@ohrenkino Danke für die schnelle Antwort.
Die neue Datei sieht nun so aus


$filename(splitter.bat,utf-8)$loop(%genre%$loop(%artist%)echo #EXTM3U >> "V:\Musik\Angie Artist\Angie Genre - %genre%.m3u8"
$loop(%album%)$loop(%track%)echo #EXTINF:%_length_seconds%,%artist% - %title% >> "V:\Musik\Angie Artist\Angie Genre - %genre%.m3u8"
echo %_path% >> "V:\Musik\Angie Artist\Angie Genre - %genre%.m3u8"
$loopend()$loopend()$loopend()$loopend()


bekomme nur leider eine Fehlermeldung: Missing brackets or parameter at $loop()

Hast Du eine Idee ??

->
$filename(splitter.bat,utf-8)$loop(%genre%)$loop(%artist%)

@ohrenkino erst mal klappt alles - Vielen Dank.
Mal sehen wie ich weiterkomme. Wahrscheinlich habe ich noch die eine oder ander Frage.

Hätte ja klappen können aber ich habe die nächsten Fehler:

  1. Bei Genre habe ich bei jedem File #EXTM3U
    Ich dachte mir #EXTM3U soll nur am Anfang sein ??
    #EXTM3U
    #EXTINF:130,Beatles - All My Loving
    V:\Musik\Angie Artist\111\Beatles\All My Loving - Beatles.mp3
    #EXTM3U
    #EXTINF:130,Beatles - All My Loving
    V:\Musik\Angie Artist\111\Beatles\All My Loving - Beatles.mp3

  2. Splitter Artist habe ich wohl auch noch einiges falsch ??
    $filename(splitter.bat,utf-8)$loop(%artist%)echo #EXTM3U >> "V:\Musik\Angie Artist\Angie Interpret - %artist%.m3u8"
    $loop(%album%)$loop(%track%)echo #EXTINF:%_length_seconds%,%artist% - %title% >> "V:\Musik\Angie Artist\Angie Interpret - %artist%.m3u8"
    echo %_path% >> "..\Angie Artist\Angie Interpret - %artist%.m3u8"
    $loopend()$loopend()$loopend()

Ergebnis:
#EXTM3U
#EXTINF:130,Beatles - All My Loving
#EXTINF:125,Beatles - Yesterday

zu

$filename(splitter.bat,utf-8)$loop(%genre%)echo #EXTM3U >> "V:\Musik\Angie Artist\Angie Genre - %genre%.m3u8"
$loop(%artist%)$loop(%album%)$loop(%track%)echo #EXTINF:%_length_seconds%,%artist% - %title% >> "V:\Musik\Angie Artist\Angie Genre - %genre%.m3u8"
echo %_path% >> "V:\Musik\Angie Artist\Angie Genre - %genre%.m3u8"
$loopend()$loopend()$loopend()$loopend()

Nur mal so, aus Interesse: für welchen Zweck ist diese ganze Wiedergabelistengenerierei? Jeder vernünftige Abspieler hat meiner Ansicht nach eine Gruppierung nach Genre (ebenso wie nach Artist), so dass man diese Listen eigentlich gar nicht braucht.

@ohrenkino
Tut mir leid daß ich Dich mit meinen vielen Fragen etwas nerve.
Die Musik und die Playlisten habe ich auf meinem Server bzw. auf einen Stick im Auto.
Im Auto bei längeren Fahrten finde ich die Playlisten praktisch,
deßhalb habe ich mir die Arbeit gemacht die mp3's mit Erscheinungsjahr und Cover zu ergänzen (Ist wahrscheinlich mein persönlicher Vogel).
Ansonsten spiele ich die Musik bzw. Playlisten über Sonos auf dem Server ab.
Zu #EXTM3U mal ist es am Anfang mal in der Mitte und mal gar nicht. Aber bisher wird alles abgespielt.
Habe versucht mich etwas in die Matereie reinzulesen aber bisher mit wenig Erfolg. Vielen Dank nochmals für Deine Mühe

Jetzt auch noch?
Vielleicht war nicht ganz bei der Sache.

bzw. provbier mal, ob
$loop(%genre%,1)echo #EXTM3U
bessere Ergebnisse gibt.

Mal n ganz anderer Ansatz:
Wäre es nicht viel einfacher, wenn nicht mehr der Künstler das Hauptkriterium ist, sondern jetzt ein Genre, das quer über die Sammlung verstreu sein kann, lieber einen Filter mit
%genre% PRESENT
und dann nach einer Spalte mit Genre zu sortieren und dann daraus mit der fix und fertigen Funktion in Datei>Playlist
jeweils eine Wiedergabeliste für den aktuellen Filter zu erstellen?
Dann brauchst du dich nicht mit dem Export-Script rumzuärgern und auch nicht noch anschließend die Batch-Datei zu starten.

Habe (%genre%,1) eingefügt aber leider ohne Erfolg.
Das einzige was ich rausgefunden habe daß jeweils die erste Datei ohne Anfangs #EXTM3U ist.
Was mich wundert daß trotzdem alles abgespielt wird

$filename(splitter.bat,utf-8)$loop(%genre%,1)echo #EXTM3U >> "V:\Musik\Angie Artist\Angie Genre - %genre%.m3u8"
$loop(%artist%)$loop(%album%)$loop(%track%)echo #EXTINF:%_length_seconds%,%artist% - %title% >> "V:\Musik\Angie Artist\Angie Genre - %genre%.m3u8"
echo %_path% >> "V:\Musik\Angie Artist\Angie Genre - %genre%.m3u8"
$loopend()$loopend()$loopend()$loopend()

Mit dem "neuen Ansatz" und %genre% PRESENT was ich leider noch nichts anzufangen.

Gruß Klaus

Du lädst alle Dateien.
Gib bei Filter ein:
%genre% PRESENT
Es werden dir jetzt alle Dateien gezeigt, bei denen GENRE gefüllt ist.
Du kannst jetzt die Dateien in der Dateiliste sortieren - z.B. nach der Spalte, die das Genre zeigt.
Dann markiere alle Dateien, die zu der kommenden Wiedergabeliste gehören sollen.
Wähle nun
Datei>Playlist (ausgewählte Dateien)
Es wird ein Dialog geöffnet, in dem du einen Namen und das Zielverzeichnis für die Playlist festlegen kannst.
Damit kannst du dezidierte Wiedergabelisten für jeweils 1 Genre erstellen oder eine große, geordnet nach Genre.
Wenn du nur ein bestimmtes Genre in einer Wiedergabeliste sehen möchtest, kannst auch danach filtern, z.B. mit
%genre% HAS Pop

Ich habe eben an meiner kleinen Sammlung das folgende getestet und das hat 17 Dateien produziert:

$filename(splitter.bat,utf-8)$loop(%genre%) echo #EXTM3U >> "V:\Musik\Angie Artist\Angie Genre - %genre%.m3u8"
$loop(%artist%)$loop(%album%)$loop(%track%) echo #EXTINF:%_length_seconds%,%artist% - %title% >> "V:\Musik\Angie Artist\Angie Genre - %genre%.m3u8"
 echo %_path% >> "V:\Musik\Angie Artist\Angie Genre - %genre%.m3u8"
$loopend()$loopend()$loopend()$loopend()

@ohrenkino erst mal vielen Dank.
Werde es morgen wieder probieren und dann berichten.

Gruß Klaus

@ohrenkino
Es ist vollbracht --> 2000 mp3's mit Erscheinungsjahr und Cover versehen und neue Playlisten erstellt. Ohne Deine Hilfe hätte ich es nicht so gut geschafft nochmals vielen Dank für Deine Hilfe und Geduld.
Gruß Klaus

Bin seit Tagen am suchen warum meine Playlisten im Auto nicht erkannt werden.
Habe nun dem Fehler gefunden:
Wenn ich die Playlisten Exportiere werden wird vor jeden Zeilenumbruch ein Leerzeichen ( CR LF) eingefügt.
Wenn ich jedoch die Playliste im Menü "Playliste ausgewählte Dateien" erstelle werden keine Leerzeichen(CR LF) eingefügt und die werden dann auch im Auto erkannt.
**
EXPORT Script:
$filename(splitter.bat,utf-8)$loop(%genre%,1)echo #EXTM3U >> "V:\Musik\Angie Artist\Angie Genre - %genre%.m3u8"
$loop(%artist%)$loop(%album%)$loop(%track%)echo #EXTINF:%_length_seconds%,%artist% - %title% >> "V:\Musik\Angie Artist\Angie Genre - %genre%.m3u8"
echo %_path% >> "V:\Musik\Angie Artist\Angie Genre - %genre%.m3u8"
$loopend()$loopend()$loopend()$loopend()

** Playliste mit Datei --> Export
#EXTINF:215,Aretha Franklin - O Christmas Tree
V:\Musik\Angie Artist X-Mas\O Christmas Tree - Aretha Franklin.mp3
** Playliste mit Datei --> Playliste ausgewählte Dateien
#EXTINF:215,Aretha Franklin - O Christmas Tree - Chrismas - Chrismas International
Angie Artist X-Mas\O Christmas Tree - Aretha Franklin.mp3

Hat jemand eine Idee wie ich das Exportscript ohne Leerzeichen verändern kann ??

Gruß Klaus

Es wäre schön, wenn der Code auch als Code erkennbar wäre, weil es ja anscheinend auf jedes Zeichen ankommt, der Forum-Formatierer aber auch gerne mal Leerzeichen zusammenfasst.
Nimm dazu aus der Werkzeugleiste des Forums-Editors die Funktion </>.

Ich würde bei allen >> die führenden und folgenden Leerzeichen mal wegnehmen und dann gucken, was los ist.

@ohrenkino wieder mal DANKE für Deine schnelle Antwort
Habe das Script folgendermasen verändert:
$filename(splitter.bat,utf-8)$loop(%genre%,1)echo #EXTM3U "V:\Musik\Angie Artist\Angie Genre - %genre%.m3u8"
$loop(%artist%)$loop(%album%)$loop(%track%)echo #EXTINF:%_length_seconds%,%artist% - %title% "V:\Musik\Angie Artist\Angie Genre - %genre%.m3u8"
echo %_path% "V:\Musik\Angie Artist\Angie Genre - %genre%.m3u8"
$loopend()$loopend()$loopend()$loopend()

Nur leider mit dem alten Ergebnis
#EXTINF:215,Aretha Franklin - O Christmas Tree  
V:\Musik\Angie Artist X-Mas\O Christmas Tree  - Aretha Franklin.mp3

Gruß Klaus

Irgendwas ist in die Hose gegangen, denn jetzt fehlen die Shell-Anweisungen ">>" mit denen der Text einer dann folgenden Datei angehängt wird.

Dazu: dieser ganze Umstand mit dem Shell-Script war doch nur dafür da, einzelne Wiedergabelisten für einzelne Interpreten zu erstellen. Diese Anforderung besteht doch jetzt gar nicht mehr.
Und für normale Wiedergabelisten ist doch die schon eingebaute Funktion im Menü Datei offensichtlich besser geeignet.

@ohrenkino
Hast wahrscheinlich recht aber manchmal "sieht man den Wald vor lauter Bäumen nicht".
Habe erstmal mit Notpad ++ die Leerzeichen nach *.mp3 entfernt und finde auch noch eine Lösung für den Rest.
Vielen Dank nochmals für Deine unermüdliche Hilfe.
Gruß Klaus

Bräuchte mal wieder einen Denkanstoß.
Habe meine Playlisten neu erstellt und habe wieder das Problem mit dem Leerzeichen vor dem Zeilenumbruch.
Habe mir dummerweise keine Notitz gemache wie ich es das letzte mal gemacht habe.
Möchte ungern 500 Playlisten per Hand ändern.
Vielleicht hat wieder mal jemand eine Idee ??
Gruß Klaus

Habe die Lösung wieder gefunden.
Für alle das das gleiche Problem haben:

use escape char markieren --> Find Leerzeichen und " \r" eingeben --> Replace "\r"
Alles ohne Anführungszeichen.