ich benutze mein Track-Tag wie folgt:
Tracknr./Gesamtzahl Album-Tracks
Beispiel: 01/15
Die Tracks sind im Album-Ordner gespeichert.
Ich würde nun gerne einen Album-Ordner speziell kennzeichen (beispielsweise durch ergänzende Benennung), wenn die Gesamtzahl aller Tracks eines Albums vorhanden sind, um auf einen Blick erkennen zu können, dass das Album vollständig vorhanden ist.
der letzte Track eines Albums müsste ja bei deiner Benennung logischerweise "irgendeineZahl/diesselbeZahl" lauten. Du kannst also über die Aktion Tag-Felder formatieren dem Feld _DIRECTORY einen anderen Namen geben, wenn du der letzte Track mit dem besonderen Trackfeld benannt wird.
z. B. mit dem Formatstring: %_directory%$if($eql($regexp(%track%,(.)/(.),$1),$regexp(%track%,(.)/(.),$2)), komplett,)
Dieser Formatstring hat allerdings den Fehler, dass er bei mehrfachem Durchlaufen immer wieder " komplett" an das Ende vom Verzeichnis anhängt. Du müsstest also noch überprüfen, ob das da schon steht.
Puh. Da muss ich mich in einer ruhigen Minute mal durcharbeiten, damit ich verstehe, wie sich das aufbaut.
Edit Frage: Gehst Du dabei nicht davon aus, dass wenn ein Track 15/15 vorhanden ist, das Album komplett ist? Dem ist ja nicht so, denn es kann ja durchaus auch Track 04/15 fehlen.
Was die Sache ja auch nicht einfacher macht, wenn ich oben schon an meine zur Zeit vorhandenen Grenzen stoße.
Ich bin davon ausgegangen. Wenn ein anderer Track fehlt, fällt mir nur die Möglichkeit ein, die Track der Nummer nach zu sortieren und dann für jeden Track die entsprechende Nummer in den Verezeichnisnamen zu schreiben. Wenn dann der letzte Track des Albums erreicht wird, muss die Aktion dann prüfen ob alle kleineren Zahlen vorhanden sind und dann umbenennen. (Das ist allerdings ziemlich kompliziert, da man keine Möglichkeit hat, Schleifen zu erstellen, außer in Exportskripts.)
Ich hatte beim Posten in folgende Richtung gedacht, wobei ich mangels Fähigkeiten nicht die geringste Ahnung habe, ob das so zu realisieren wäre:
Die Anzahl der im Verzeichnis vorhandenen MP3s wird ermittelt und mit der Track-Gesamtzahl verglichen. Wenn die identisch sind, ist das Album komplett.
Das geht leider nicht, weil man eben nicht die Anzahl der vorhanden mp3s ermitteln kann (zumindest soweit ich weiß). Mir ist aber noch eine Idee gekommen, mit der man dein Problem lösen kann:
Das ist der Formatstring für die Aktion Tag-Felder formatieren. Als Feld musst du _DIRECTORY eintragen. Das ist jetzt nur ein neues Problem, wenn du manuell für jeden Track beginnend bei dem mit der kleinsten Tracknummer die Aktion ausführst, funktioniert das, wenn du allerdings alles auf einmal benennst geht das nicht mehr. Das muss aber an der Arbeitsweise von Mp3tag liegen und die kenne ich nicht.
Zur Erläuterung was der Formatstring macht.
Wenn das Verzeichnis nicht mit "++ Zahl" aufhört, schreibe
1.1 wenn die Tracknummer 01 ist "Verzeichnis ++ 01" als Verzeichnisnamen, anderfalls schreibe nur "Verzeichnis"
Wenn das Verzeichnis mit "++ Zahl" aufhört, schreibe
2.1 wenn die Tracknummer -1 gleich der Zahl ist die hinter dem "++" beim Verzeichnisnamen steht und wenn
2.1.1 die aktuelle Tracknummer gleich die Gesamttracknummer ist "Ursprungsverzeichnis komplett"
2.1.2 und wenn die aktuelle Tracknummer nicht der Gesamttracknummer entspricht schreibe "Ursprungsverzeichnis ++ aktuelle Tracknummer"
2.2 ansonsten schreibe nur das Ursprungsverzeichnis.
Interessanterweise hat das _DIRECTORY-Feld hier die Funktion von dem Feld, was ich hier schon als Verschlag gemacht habe.
Danke. Das hat mir schon mal weiter geholfen.
Da ich aber nur die Ordner umbennen will, die komplett sind, habe ich daraus Folgendes gemacht:
$ifgreater(%_total%,%_total_files%,%album% (%_total_files% von %_total%),%album% (V))
Ich hoffe, das ist so richtig. Es scheint jedenfalls zu funktionieren.
Natürlich hat die Sache ein ganz großes Manko -kaum habe ich etwas hinbekommen wachsen die Ansprüche.
Man muss die Files ja leider händisch markieren, da ja %_total-files% die Anzahl der markierten Files zurückgibt. Ein Ausdruck für alle "*.MP3" eines Ordners gibt es wohl nicht? Ich stelle mir vor, dass ich das ganze dann in einem Rutsch auf eine ganze Ordnerstruktur loslassen könnte.
Ich habe da noch einmal weiterprobiert und der Einfachheit halber den Formatstring "%_directory% + %track%" angewandt. Ich hatte in mp3tag drei Dateien aus demselben Verzeichnis eingelesen. Jeweils mit den Tracks 01/03, 02/03, 03/03.
Wenn ich den obigen Formatstring auf alle Dateien nach dem Track sortiert mit der Aktion "Tag-Felder formatieren" anwende und als Feld _DIRECTORY verwende, lautet der Verzeichnisname "frühererName + 0103". Ich hätte den Dateinamen "frühererName + 0103 + 0203 + 0303" erwartet.
Kann jemand dieses Verhalten von mp3tag erklären?
Hier spricht der Erklärbär:
Dieses Verhalten funktioniert nach dem Prinzip "First come, first served, others go."
Florian geht davon aus, dass, wenn der Ordner erst einmal anhand der ersten Datei umbenannt worden ist, das Umbenennen anhand der restlichen Dateien dieses Ordners nicht wiederholt werden muss, also wird damit Redundanz und besonders die hier im Forum viel diskutierte Fehlermeldung "[wie hieß sie denn?]" vermieden.
So hätte ich das auch erwartet, scheint nur leider nicht immer zu funktionieren und anscheind hat auch niemand eine Idee wie man das in den Griff bekommen könnte. Daran knabbere ich seit Wochen erfolglos rum.