Filter as action type


#1

Hallo

Ich habe verschiedene Wege geprüft, um CD-Playlisten von einem Album separat zu extrahieren - und das automatisch.
Sprich ich habe ein Album, in dem ich 101 - Track 1 von Discnumber 1 habe - sowie 201 - Track 1 von Discnumber 2.
Mit einem Script kann ich alle pro Discnumber 1 extrahieren - und dann mit einem anderen Script diejenigen von Discnumber 2.
Wenn es aber Albums hat, welche keine Discnumber 2 haben, dann wird trotzdem eine leere m3u Playlist für Disc 2 erstellt.
Mein Script ist wie folgt für Discnumber 1:
$filename(%_folderpath%100 - %albumartist% - %origalbum%.m3u,ansi)
#EXTM3U $char(13)$char(10)$loop(%discnumber%)$loop(%track%)$if($eql(%discnumber%,1),'#EXTINF:'%_length_seconds%','%artist%' - '%title%$char(13)$char(10)%_filename_rel%$char(13)$char(10),)$loopend()$loopend()

Also muss ich zuerst alle filtern nach Discnumber 1, Exportscript von Playlist 1 - dann filtern nach discnumber 2, Exportscript von Playlist 2

An dieser Stelle ist mir aufgefallen, dass das Setting "One File per Directory" nicht gesetzt wird, wenn man über Action Export geht - obwohl es in den Settings als Default geflagt ist.

Was ich mir nun wünschen würde, um obiges zu automatisieren, ist folgendes:
Ein Action Type, welcher die Datensätze filtert - mit Angabe eines Filters und Möglichkeit, gleich alle markieren / selektieren Ja/Nein.
Dann kann man obiges automatisieren - sofern der Export Action Type dann auch das Flag übernimmt mit "Nur ein File pro Directory".

Was meinst Du dazu?
Gruss Roger


#2

Generell kennt MP3tag nur die aktuelle Datei, um Aktionen auszuführen. Es findet kein Vergleich statt zwischen der vorigen oder nächsten Datei und der aktuellen.
Würde also ein Filter per Aktion möglich sein, würde der Filter auf die aktuelle Datei angewendet werden ... was wenig sinnvoll ist, meiner Ansicht nach: denn entweder ist es die aktuelle Datei oder nicht. Und wenn der Filter dazu führt, dass die aktuelle Datei plötzlich verschwindet, müsste die Ausführung der Aktionen abbrechen oder irgendwas in der Richtung.

So lange es keine Konzeptänderung gibt, wird es keinen Filter, keine Duplikatsuche, keinen Track-Nummern-Assistenten per Aktion geben.


#3

Hallo
Die Aktion könnte ja analog dem Export ein Filtertemplate ausführen, welches auf alle vorhandenen Dateien angewendet warden kann.
Somit könnte man ein Filter setzen und dann gleich eine Export Funktion auslösen.
Das wäre sehr hilfreich.
Gruss Roger


#4

Da Filter auch mit $if() und $regexp() (und etlichen anderen Skripting-Funktionen) nachgebildet werden können, müsste in einem Export-Skript dies sehr wohl angewandt werden können.
Das macht so ein Export-Skript natürlich recht unflexibel, würde ich meinen.
Es bleibt allerdings dabei, dass es Filter als Aktion nicht gibt.

Und: wenn du einen Export anlegst, der eine $loop() Konstruktion hat, du aber das per Aktion aufrufst, wird doch der Loop überhaupt nicht benötigt: es gibt doch dann nur genau eine Datei, die durch die Schleife gejagt werden kann.

Wenn du das Export-Script allerdings für eine Menge Dateien (ohne Aktion) nimmst, ist $loop vermutlich sinnvoll - aber dann kannst du auch einen entsprechenden Filter formulieren.