So, ein Heavy User macht mal Vorschläge ![]()
Jetzt gibt es endlich mit regulären Ausdrücken ein mächtiges Mittel zur Bearbeitung von Tags, und dann werde ich von MP3Tag dazu verdammt, diese nur innerhalb eines Tags zu verwenden. Wie wäre es, wenn ich in den regulären Ausdrücken nicht ein Feld zur Bearbeitung wählen müsste, sondern im Ausdruck definieren könntne, auf was sich der Ausdruck bezieht?
Ein Beispiel: Ich benenne Titel eines Albums mit "%n - %t", aber es gibt auch einige Dateien im Stile "09 - feat. Steven Tyler - Misery.ogg", bei denen dann ein "Featuring" noch zum Interpreten hinzu kommt, aber nur bei einigen der Dateien eines Albums. Will ich nun die Tags generieren, kann ich hier nach dem "Dateiname - Tag" mit meinem Muster "%i\%j - %a\%n - %t" noch hingehen und alle Featurings von Hand umbauen, da ja im Titel jetzt der zweite Teil des Interpreten steht.
VORSCHLAG 1:
Die simple Lösung wäre es, wenn "Dateiname - Tag" bei wiederholtem Auftreten von %i einfach konkatenieren und nicht überschreiben würde, denn dann ginge "%i\%j - %a\%n - %i - %t" für alle Featuring-Dateien.
VORSCHLAG 2:
Reguläre Ausdrücke könnten das auch und sogar, wenn man sie auf alle Dateien loslässt. Man definiert sich folgende Ausdrücke, die für das Umstellen nach dem "Dateiname - Tag" gedacht sind:
Von Feld: Titel
Nach Feld: Interpret
Modus: Anhängen
Ausdruck: (.?) - (.)
Treffer ersetzen durch: $1
Von Feld: Titel
Nach Feld: Titel
Modus: Ersetzen
Ausdruck: (.?) - (.)
Treffer ersetzen durch: $2
Diese Technik ist ein Vorschlag für den Aktionen-Requester. Mit Von-Feld und Nach-Feld legt man fest, von wo man mit regulären Ausdrücken etwas wohin transferieren möchte. Mit dem Modus (Ersetzen, Anhängen, Davorschreiben) kann man definieren, was im Zielfeld mit den gefundenen Daten passieren soll.
Wichtig ist dann noch, dass die Aktionen von oben nach unten abgearbeitet werden.
Man könnte natürlich auch eine Liste der benutzten Felder generieren und für jedes eine Selektionsausdruck. Die benennt MP3Tag dann der Übersicht halber nicht mit $1, $2..., sondern mit $a1 für den ersten Treffer im Selektionsausdruck für das Album und so weiter. Dann gibt es eine Liste mit Zielfeldern, in denen man diese verwenden kann. Im Beispiel sähe die Aktion so aus:
Quellen:
Interpret: (.)
Titel: (.?) - (.*)
Ziele:
Interpret: $i1 $t1
Titel: $t2
Natürlich könnte man so den ganzen "Datei - Tag" "Tag - Dateiname" Kram erschlagen, denn diese Quelle-Ziel-Technik erlaubt ja auch dies (ich nehme mal d für Dateiname, das ist wohl noch frei):
Quellen:
Dateiname: (.?)(.?) - (.)(.?) - (.*)
Ziele:
Interpret: $d1
Jahr: $d2
Album: $d3
Nummer: $d4
Titel: $d5
Hierbei hoffe ich, die Gierig/Nicht gierig Sachen richtig gemacht zu haben. Muss man eigentlich auch die \ als \\ schreiben von wegen Escaper? Mit dieser Technik könnte man sich alle Vorgänge als Liste von Teilaktionen einer Aktion definieren und so alles automatisieren...
VORSCHLAG 3:
In "Dateiname - Tag" und "Tag - Dateiname" rutschen die zuletzt benutzten Muster immer nach unten , so dass man später eines mit Cursor runter wieder holen muss. Das ist aber blöd, weil man ja einige Standardmuster hat, die man dann suchen muss. Wie wäre es, wenn man irgendwo einige Standardmuster eingeben kann, die man dann mit Cursor HOCH holen kann (das wichtigste mit einmal Cursor hoch usw.)?
Den Filter hatte ich noch gar nicht entdeckt schäm. Muss ich gleich mal ausprobieren.