Tracknummern bei mehreren CDs/Album+Folder.jpg

Hallo,
zwar kenne ich mp3tag seit Jahren, doch nutze ich reguläre Ausdrücke u.ä. nur, wenn ich sie hier vorgegeben finde. Ich selbst verstehe sie nicht wirklich.
Daher bitte ich um Hilfe bei folgendem Problem.

  1. Ich habe hunderte von Alben, um sie in XBMC als 1 Album gezeigt zu bekommen, nach folgendem Schema getaggt:

Tracknummer Artist - Title
46 Beatles - Let it be

Dabei sind alle CDs in einem Albumordner und von 1 bis zB 48 durchnummeriert. Im Feld Discnumber habe ich jeweils die Nr der CD festgehalten im Format 1/3, 2/3, 3/3 usw. Keinen Eintrag in diesem Feld haben Alben, welche nur aus einer CD bestehen.

Nun würde ich gerne Alben mit mehreren CDs neu benennen nach dem Schema:
1-01 Beatles - Titel 1.mp3
1-02 Abba - Titel 2.mp3
....
2-01 N'Sync - Title 1.mp3
2-02 The Doors - Title 2.mp3

Habe folgendes zwar gefunden:
QUELLTEXT
$if($or($eql(%discnumber%,1/1),$eql(%discnumber%,))...
Wenn Disnumber 1/1 oder nichts enthält tue nichts, ansonsten...Und da beginnt mein Problem. Was muss ich angeben, damit er die Discnummer an den Beginn des Dateinamens setzt und die Tracks dann wieder bei 1 beginnen?

  1. Die meisten meiner Alben haben ein Cover und im Albumordner eine Datei Folder.jpg. Kann ich mp3tag dazu veranlassen, mir eine Liste zu erstellen mit den Ordnern, in denen keine Datei namens Folder.jpg vorhanden ist?

Ich würde mich sehr über Hilfe von euch freuen.

Mit dem "Tracknummer-Assistent" kann man automatisch Zahlen erzeugen, die je Ordner die Tracknummer mit 1 beginnen lassen.

Allerdings hast du zur Zeit keine hierarchische Pfadstruktur "Ordnerpfad\ALBUM\CDx\Datei.mp3", sondern eine lineare Dateiliste "Ordnerpfad\Datei.mp3".

Wenn es dir gelingt, aus dem Dateinamen und aus den Metadaten einer Datei eine hierarchische Pfadstruktur zu erzeugen, dann kannst du anschließend mit dem Tracknummer-Assistent die Track Nummerierung automatisch erzeugen.

Ein anderer Ansatz könnte sein, über alle Dateien ein Exportskript laufen zu lassen, das wiederum eine CSV Datei erzeugt, die anschließend die geänderten Metadaten und den neuen Dateipfad für einen Re-Import bereitstellt.
Im Exportskript kann man $loop ... $loopend Schleifen und den Zähler %_counter% benutzen.
So kann man den Gruppenwechsel bei den Multi-Cds bearbeiten und je CD laufende Tracknummern erzeugen.

DD.20140721.1900.CEST

Leider fällt es mir mit 55 J. und ohne Javscript? bzw. RegEx zu kennen sehr schwer, selbst etwas zu "bauen". Mit Export und ReImport habe ich auch schon manche Überraschung erlebt, daher würde ich gerne den anderen Weg gehen und anhand der Discnumber im Album Unterordner zu erstellen nach dem Schema Album/CD1 Album/CD2 usw.
Habe bei FredHermann auch einen ersten Ansatz gefunden:

QUELLTEXT
$if($or($eql(%discnumber%,1/1),$eql(%discnumber%,)),,'CD '$num(%discnumber%,1)'')

Doch leider habe ich keine Ahnung, ob ich den Ausdruck einfach so verwenden kann und weiß auch nicht, wo ich den eingeben müsste. Bei Konverter, Aktion???

Habe die Struktur:
X:\Musik\Genre\%genre%\%albumartist% - %album% (%year%)\%track% - %artist% - %title%

Wenn ich jetzt jeden Genreordner mit allen Alben darin in einem umwandeln will in die Struktur:
%genre%\%albumartist% - %album% (%year%)\%track% - %artist% - %title%
bei Alben mit mehreren CDs dann:
%genre%\%albumartist% - %album% (%year%)\CD1\%track% - %artist% - %title%
%genre%\%albumartist% - %album% (%year%)\CD2\%track% - %artist% - %title%
usw.

Was müsste ich dann wo tun?

Wenn DISCNUMBER nur bei Alben gefüllt ist, wo es auch mehrere CDs gibt, dann kannst du den Konverter
Tag-Dateiname
verwenden mit einer Maske wie diese:
[CD%discnumber%]%track% - %artist% - %title%

Die eckigen Klammern sorgen dafür, dass der Ordner mit CDx nur erzeugt wird, wenn auch in DISCNUMBER was drin steht.

Wenn DISCNUMBER "im Format 1/3, 2/3, 3/3", dann besser ...
$num(%DISCNUMBER%,1)

DD.20140722.0902.CEST

Zunächst einmal danke ich DetlevD und Ohrenkino von Herzen. Seit Jahren lese ich hier Beiträge, wenn ich Hilfe suche....und fast immer seid ihr es, die zur Lösung verhelfen.
HERZLICHEN DANK

Im Anschluss möchte ich für die, welche wie ich nicht so bewandert mit mp3Tag sind, mein Vorgehen noch einmal ausführlich schildern, da mir hier andere Beiträge oft halfen.

Ich gehe folgendermassen vor. Ich wähle alle Unterordner eines Genre aus, welche Alben mit mehreren CDs enthalten. Die CDs finden sich nur in der Discnummer, die Tracks alle im Albumordner einfach durchnummeriert.
Mit Hilfe des Konverters "Tag - Dateiname" und dem folgenden Formatstring:

$if($or($eql(%discnumber%,1/1),$eql(%discnumber%,)),,%album%\'CD '$num(%discnumber%,2)'\')$num(%track%,2) %artist% - %title%

Und erhalte daraufhin eine neue Ordnung, nämlich innerhalb des Albums Unterordner CD 01, CD02 usw mit den dazugehörenden Tracks.
Anschliessend sortiere ich nochmals nach erst Tracknummer, DANN Pfad und verwende anschliessend den Tracknummer Assistenten (s. Menü Extras), mache ein Häkchen bei "Zähler für jedes Verzeichnis zurücksetzen" und nummeriere alles neu. Nun fängt jede CD im Album mit Track 1, Track 2 usw. an. Im zweiten Schritt kann ich nun sehr einfach eine Ordnerstrukur wählen, wie sie FredHermann mit seiner hier zuletzt angebotenen "Ordnerstruktur.mta" gewählt hat, nämlich alle Tracks im Albumordner zu speichern und statt der Unterordner CD 1, CD 2 usw. nun einfach die Nr der CD jedem Track voraus zu stellen, also:

Album/01-01 Artist - Title
....

       02-01 Artist - Title usw.

Der einfache Code dafür wäre:

%album%\[$num(%DISCNUMBER%,1)]-$num(%track%,2) %artist% - %title%

Der Konverter zeigt sehr schön in der Vorschau, was passiert. Der Vorteil einer solchen Sruktur für mich liegt darin, dass XBMC das Album nur einmal anzeigt.