Playlist Interpret

Hallo Ohrenkino erst mal Danke für Deine Antwort.
Den Thread Playlisten per Export und Komplexe automatische Playlisten erstellen? habe ich mir angesehen und zu verstehen versucht aber das ist wohl einiges zu hoch für mich.
Könntest Du mir wohl ein einfaches Beispiel zeigen ??

ist vielleicht in diesem Thread:

1 Like

@ohrenkino
nun habe ich zumindest das Export Script so wie ich die Playlist möchte - immerhin ein erster Erfolg.
Wie bekomme ich nun zu jeden Interpreten eine eigene Playlist ??

$filename(Angie Interpret - %artist% - Alle.m3u,utf-8)#EXTM3U
$loop(%_directory%)$loop(%_filename_ext%)#EXTINF:%_length_seconds%, - %artist% - %title% - %genre% - %album%
$loopend()$loopend()

Gruß Klaus

Ich würde nicht den Loop mit folder und filename machen, sondern mit %artist%, dann %album% und schließlich mit %track%.
In den bereits gelinkten Threads gibt es ein Tool, um den Export zu trennen - du kriegst nur 1 Datei, meine ich, in der dann aber alles drinsteht.

Da das alles sehr mühsam ist ... stellt diese Zusammenstellung nicht eigentlich der Abspieler (viel leichter) bereit?

Sorry ich finde das Tool nicht ?? Im Moment habe ich eine Datei in der alles drinsteht.

Ich versuche momentan für die Musiksammlung meiner Frau unterschiedliche Playlisten zu erstellen deßhalb klappt das mit dem Abspieler nicht.

Gruß Klaus

Guckst du hier:

Hier ist noch ne Idee (sogar von mir! Konnte ich mich gar nicht dran erinnern :wink: ) vielleicht ist der Umweg über eine Batch-Datei der schnellste

1 Like

@ohrenkino
Könntest Du mir bitte die splitter.bat.zip zukommen lassen bzw. neu verlinken.
--> splitter.bat.zip: Das Archiv hat entweder ein unbekanntes Format oder ist beschädigt.
Langsam sehe ich "etwas Licht am Ende des Tunnels".
Gruß Klaus

Nee, die habe ich nicht mehr - schade, dass es einen Fehler gibt.

Die prinzipielle Idee: jede Zeile fängt letztlich mit
´echoan und der dann folgende String wird abgelegt in >>I:\Musik\Meine Playlisten Orginal\Meine Interpret - %artist% - Alle.m3u`
es ist dann günstig, zuerst nach %artist% zu sortieren ($loop(%artist%), und dann bevor die Schleife für die Alben und Titel anfängt, die Kopf-Information für die Wiedergabeliste abzulegen.
Und vor dem letzten $loopend() dann den Fuß der Wiedergabeliste
Das ganze in eine Batch-Datei schreiben lassen (ist in dem gelinkten Thread schon mal angefangen) und dann die Batch-Datei ausführen. Erst dann werden die Wiedergabelisten (einzeln) erzeugt
Genügt das?

1 Like

@ohrenkino
Habe folgende Exportdatei erstellt und ausgeführt aber ich finde nirgenwo eine splitter.bat.
Habe auch versucht die splitter.bat.zip zu reparieren aber leider geht nichts ( 5 unterschiedliche Programme).
Vielleicht hast Du noch eine Idee ??

$filename(splitter.bat,utf-8)#EXTM3U $loop(1)echo #EXTINF:%_length_seconds%,%artist% - %title% >> split_$DIV(%_counter%,5).txt echo %_filename_ext% >> split_$div(%_counter%,5).txt $loopend()

Hier ist eine Idee:

$filename(splitter.bat,utf-8)$loop(%artist%)echo #EXTM3U >> "Meine Interpret - %artist% - Alle.m3u8"
$loop(%album%)$loop(%track%)echo #EXTINF:%_length_seconds%,%artist% - %title% >> "Meine Interpret - %artist% - Alle.m3u8"
echo %_filename_ext% >> "Meine Interpret - %artist% - Alle.m3u8"
$loopend()$loopend()$loopend()

Den Pfad müsstest du noch auf einen absoluten Pfad anpassen.
Wenn du bei Datei>Optionen>Meldungsfenster "beim Exportieren von Tags" aungewählt hast, wird die BAT-Datei gleich ausgeführt.
Die Wiedergabelisten landen entweder im aktuellen Arbeitsverzeichnis oder dort, wohin der absolute Pfad zeigt.
Wenn die von der Wiedergabeliste angesteuerten Dateien quer übers Dateisystem verstreut liegen, wäre auch hier ein absoluter Pfad notwendig für die Dateiangabe.

2 Likes

@ohrenkino
Es sieht schon mal sehr gut aus. Kannst Du mir den Unterschied zwischen m3u8 und m3u sagen ??
Einige Kleinigkeiten würden noch fehlen:

  1. Aus --> Artist - Beatles.m3u8 soll noch --> Angie Interpret - Beatles - Alle.m3u8 werden
  2. Aus
    #EXTINF:130,Beatles - All My Loving
    I:\Musik\Angie Artist\Beatles\Easy\All My Loving - Beatles.mp3
    soll --< #EXTINF:130,Beatles- All My Loving
    #EXTINF:130,Beatles - All My Loving - Oldies - Easy
    ..\Angie Artist\Beatles\Easy\All My Loving - Beatles - Alle.mp3
    im Verzeichnis ..\Angies Playlisten Orginal
    werden.

Hast Du eine Idee welchen Fehler ich noch gemacht habe ??

$filename(splitter.bat,utf-8)$loop(%artist%)echo #EXTM3U >> "..\Angie Artist\ - %artist% - Alle.m3u8"
$loop(%album%)$loop(%track%)echo #EXTINF:%_length_seconds%,%artist% - %title% >> "..\Angie Artist\ - %artist% - Alle.m3u8"
echo %_filename_ext% >> "..\Angies Playlisten Orginal\ - %artist% - Alle.m3u8"
$loopend()$loopend()$loopend()

Der Pfad hinter >> muss in allen Fällen gleich sein.
Relative Pfade sind erfahrungsgemäß gefährlich, weil ruckzuck der Bezugspunkt nicht mehr stimmt.

1 Like

Wie bekomme ich nun aus
--> All My Loving - Beatles.mp3
--> ..\Angie Artist\Beatles\Easy\All My Loving - Beatles.mp3

ist
#EXTINF:130,Beatles - All My Loving
All My Loving - Beatles.mp3
soll
#EXTINF:130,Beatles - All My Loving - Oldies - Easy
..\Angie Artist\Beatles\Easy\All My Loving - Beatles.mp3

Alle Playlisten liegen im Musik Unterverzeichnis --> Angies Playlisten Orginal bzw. Playlisten Orginal
Aber die *.m3u kann ich dann wenn ich sie habe reinkopieren.

Ich sehe, dass du mal den Pfad
"..\Angie Artist\ - %artist% - Alle.m3u8"
und mal
"..\Angies Playlisten Orginal\ - %artist% - Alle.m3u8"
verwendest.
Das mit dem ".." ist ein relativer Pfad - ich empfehle wirklich hier einen absoluten Pfad zu verwenden. Das schadet nicht, im Gegenteil, das macht die ganze Sache sicherer, weil dann die Adressierung auch noch funktioniert, wenn sich der Ort der Wiedergabeliste ändert.
Aber es sollte immer derselbe Pfad sein.

1 Like

Habe mittlerweile überall den selben Pfad.

$filename(splitter.bat,utf-8)$loop(%artist%)echo #EXTM3U >> "I:\Musik\Angie Artist\Angie Interpret - %artist% - Alle.m3u8"
$loop(%album%)$loop(%track%)echo #EXTINF:%_length_seconds%,%artist% - %title% >> "I:\Musik\Angie Artist\Angie Interpret - %artist% - Alle.m3u8"
echo %_filename_ext% >> "I:\Musik\Angie Artist\Angie Interpret - %artist% - Alle.m3u8"
$loopend()$loopend()$loopend()

Aber wie bekomme ich den I:\Musik\Angie Artist\Beatles\Easy\All My Loving - Beatles.mp3
in die Angie Interpret - Beatles - Alle.m3u8

momentan ist der Eintrag so:
#EXTINF:130,Beatles - All My Loving
All My Loving - Beatles.mp3

Müsste dann sein:
echo %_path% >>

2 Likes

@ohrenkino
Juhu es klappt.
Auch diesmal wieder vielen Dank für Deine Hilfe und vorallen Deine Geduld.

Gruß Klaus

1 Like

Ich bräuchte wieder mal Eure Hilfe.
Habe meine ganze Musik neu geordnet -
d.h. zu jeder mp3 den Orginal Titel, das Erscheinungsjahr und das Cover.
Nun passen meine Playlisten nicht mehr und ich schaffe es nicht wieder neue zu erstellen.
Es hat Dank @ohrenkinos Hilfe auch schon mal geklappt aber ich schaffe es nicht die Listen wieder zu erstellen.

Habe ein Testverzeichnis mit 2 Interpreten und jeweils 2 Songs und möchte nun z.B.: für jedes Genre eine Playliste erstellen.
Die Exportdatei sieht so aus:
$filename(splitter.bat,utf-8)$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()

Das Ergebnis der splitter.bat
echo #EXTM3U >> "V:\Musik\Angie Artist\Angie Genre - Pop.m3u8"
echo #EXTINF:218,Aaron Neville - Don't Know Much - Hank Crawford, Linda Ronstadt >> "V:\Musik\Angie Artist\Angie Genre - Pop.m3u8"
echo V:\Musik\Angie Artist\111\Aaron Neville\Don t Know Much-Hank Crawford-Linda Ronstadt - Aaron Neville.mp3 >> "V:\Musik\Angie Artist\Angie Genre - Pop.m3u8"
echo #EXTM3U >> "V:\Musik\Angie Artist\Angie Genre - Oldies.m3u8"
echo #EXTINF:130,Beatles - All My Loving >> "V:\Musik\Angie Artist\Angie Genre - Oldies.m3u8"
echo V:\Musik\Angie Artist\111\Beatles\All My Loving - Beatles.mp3 >> "V:\Musik\Angie Artist\Angie Genre - Oldies.m3u8"
echo #EXTINF:125,Beatles - Yesterday >> "V:\Musik\Angie Artist\Angie Genre - Pop.m3u8"
echo V:\Musik\Angie Artist\111\Beatles\Yesterday - Beatles.mp3 >> "V:\Musik\Angie Artist\Angie Genre - Pop.m3u8"
echo #EXTM3U >> "V:\Musik\Angie Artist\Angie Genre - R&B.m3u8"
echo #EXTINF:157,Van Morrison - Crazy Love >> "V:\Musik\Angie Artist\Angie Genre - R&B.m3u8"
echo V:\Musik\Angie Artist\111\Aaron Neville\Crazy Love-Van Morrison - Aaron Neville.mp3 >> "V:\Musik\Angie Artist\Angie Genre - R&B.m3u8"

Wie bekomme ich nun folgende Playlisten ??
Angie Genre - R&B.m3u8, Angie Genre - Oldies.m3u8 und Angie Genre - Pop.m3u8

Wahrscheinlich sehe "Ich den Wald vor lauter Bäumen nicht" !!

Gruß Klaus

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()

1 Like

@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 ??