Aktionen optimieren

Hallo Leute,
erst einmal ein ganz fettes Lob an dieses Superprogramm, welches fast keine Wünsche offen lässt. Bei der Bearbeitung meiner mp3-Sammlung mehr als Gold wert. Unter anderem auch dank der Aktionen, die einem wirklich viel Arbeit abnehmen.
Da ich jedoch bei den ganzen Variablen der regulären Ausdrücke nicht wirklich durchblicke, sind meine Aktionen alles andere als perfekt gelöst. Eher nach Rezept Schmalspur, hauptsache es funktioniert so. Nur eben nicht wirklich effektiv. Dauert halt ein bisschen.

Mittlerweile hat sich ziemlich viel angesammelt und dauert demenstprechend. Auch, weil ich trotzdem noch viel manuell lösen muss. Ich hoffe, dass es mit regulären Ausdrücken etwas schneller geht.

Ich stelle jetzt mal einige meiner „Probleme“ und Schmalspur-Lösungen ein. Vielleicht hat jemand von euch eine effektivere Lösung für mich parat. Würde mich zumindest sehr freuen :slight_smile:

Liebe Grüße
Meisterkind

1) Wie löse ich das am einfachsten? Ich möchte alle Remix-Formen und Versionsbezeichnungen in eckige Klammern setzen. Meist sind diese am Anfang in runde Klammern gesetzt. Also (Beispielremix) soll zu [Beispielremix] werden.
Das Ende ist ja immer gleich, also remix), mix), version), edit) usw.

Also habe ich lange Zeit mit ersetzen gearbeitet, indem ich remix) zu remix)------!!!! geändert habe, damit ich beim drüberschauen diese Songs bemerkt und manuell die Klammern angepasst hab.

Später habe ich die Filterfunktion entdeckt und filtere erst einmal vor

TITLE MATCHES "\(.*(Edit|Mix|Version|Remaster|Remastered|Rmx|Remix|Cover|Instrumental|Extended|M
inimal|Cut).*\)" AND NOT TITLE MATCHES "\[.+\]"

Den Filter habe ich glücklicherweise im Forum entdeckt und nach meinen Bedürfnissen angepasst. Leider bleibt hier immer noch das manuelle Anpassen der Klammern.
Die Frage ist also: Kann ich das mit einer Aktion automatisieren? Der Anfang ist ja immer unterschiedlich. Lediglich das Ende ist gleich.

Für festgelegte Begriffe wie "Radio Edit" also (Radio Edit) zu [Radio Edit] soll das mit einer ersetzen-Funktion gehen. Aber wie ich das anwende habe ich noch nicht so ganz verstanden.

Doch wo füge ich das ein? Wenn ich ersetzen aufrufe, weiß ich nicht, in welchem Feld ich das ausführen soll. _Tag? Zum Title habe ich erst einmal nichts passendes gefunden. Und was trage ich dann in "Ersetzen durch" ein?

2) Kann ich eine Aktion starten, die den Album-Artist direkt aus dem Ordnerverzeichnis herausliest? Sozusagen in einem Rutsch? Manuell ist das ja mit dem Tag-Konverter mit

%albumartist% - %dd%\\%dd%

möglich.

3) Schreibweise spezieller Begriffe unabhängig von den Satzzeichen
Es gibt bestimmte Eigennamen (zB ZDF, RTL, ABBA), die nur groß geschrieben werden oder eine spezielle Schreibweise benötigen. Bisher habe ich für diese Begriffe Regeln erstellt, die das vorherige Zdf zu ZDF ersetzt. Dabei habe ich „Nur als Wort ersetzen“ angekreuzt, um etwaige Wörter, die diese Buchstabenfolge enthalten, nicht zu verunstalten. Wie schaffe ich es, dass er sich von (,[ oder : nicht stören lässt und trotzdem verbessert? Außer, dass ich wieder eine Regel für (zdf erstelle (und damit meine Aktionen wieder total aufblähe) ? Nur diese „Satzzeichen“, keine anderen Buchstabenfolgen.

4) Generelles Problem mit römischen Lettern
Übernommene Regel aus
Regular Expressions

re:(?<!')\b(?=[CLXVI])((C{0,3})?((X[LC])|(L?X{0,3})|L)?((I[VX])|(V?(I{0,3}))|V)?)\b
$upper($0)

Bisher habe ich das für Einzelfälle (Iv zu IV oder Ii zu II) ersetzt. Klappt meistens, außer das Problem 4, was auch hier auftritt. Wie vermeide ich es außerdem, dass dann der Interpret Avicii als AvicII rumgeistert? Oder Wörter, in denen die Buchstabenfolge iv oder so auftritt?

Und zum Schluss noch eine kleine Bitte:
Ich neige dazu, die Aktionen mehrmals durchzuführen. Wenn ich zB wieder eine Aktion geändert habe und möchte, dass auch die vorherigen Dateien „profitieren“.
Es wäre gut, wenn durch Wiederholen nichts verunstaltet würde.
Ich habe mal für das „The“ im Artist eine Regel erstellt, damit dieses hinzugefügt wird, wenn es bei bestimmten Interpreten fehlt. So wurden die „Rolling Stones“ zu „The Rolling Stones“. Fehlerhaft war am Anfang, dass nochmaliges Ausführen „The The Rolling Stones“ produzierte.
Und wo ich schonmal dabei bin: 5) Wie löse ich das am Geschicktesten für bestimmte Interpreten? :smiley:
So Ok?

Aktion "Ersetzen mit regulärem Ausdruck":
Feld: ARTIST
Regulärer Ausdruck: (^|Feat. |& |\()(Boomtown Rats)( |$|\))
Treffer ersetzen durch: $1The Boomtown Rats$3

Leider ersetzt er so nur "Boomtown Rats ft. Beispiel" zu "The Boomtown Rats ft. Beispiel". Nicht aber "Beispiel ft. Boomtown Rats"

Ich weiß, langer Text. Aber vielleicht hat jemand das selbe Problem (gehabt) und kann mir mal eben seine Lösung präsentieren?

Wenn du die aktion sowieso nur mit Filter loslaufen lässt, dann ist es doch ein einfaches Ersetzen:
Aktion 1: Ersetze ( durch [
Aktion 2: Ersetze ) durch ]

Du könntest nach der Ergänzungsaktion eine ablaufen lassen, die
The The zu The zurückändert - bringt dann aber Probleme mit der echten Gruppe "The THe".
Oder du formulierst den Suchen-String in einer Aktion vom Type "Ersetzen mit regulärem Ausdruck", da man dort Feld-Anfang und Feld-Ende mit angeben kann:
Suchen: ^Rolling Stones$
Ersetzen The Rolling Stones
Da The Rolling Stones nicht mit Roll... anfängt, bricht die Aktion ab.

Da muss ich mir mal die eventuellen Vor- und Nachteile durch den Kopf gehen lassen. Aber ja, du hast recht. Eine verblüffend einfache Lösung. Wäre ich im Leben nicht drauf gekommen. Müsste ich halt nur die Aktionen vor bzw. nach dem Filter an und ausschalten.

Habs gerade versucht zu basteln. Wie heißt das Title-Feld beim Ersetzen? Welches Feld muss ich da auswählen? Normalerweise arbeite ich mit _All. Das erscheint mir Aber im Hinblick auf Alben und Interpreten nicht ratsam.

Ich schrieb ja, dass ich dieses Problems anfangs hatte. Hab mir dann tatsächlich die Rückbauaktion gebastelt.
Sah dann so aus, hier am Beispiel der Zombies, da ich Rolling Stones anscheinend doch eher ohne The hab.
Regulärer Ausdruck (wahrscheinlich, weil es mit normalem Ersetzen nicht geklappt hat)

Feld: Artist
Regulärer Ausdruck: Zombies
Treffer ersetzen durch: The Zombies

Feld: Artist
Regulärer Ausdruck: The The Zombies
Treffer ersetzen durch: The Zombies

[normale Ersetzen]
Feld: Artist
Orginal: The The Zombies
Ersetzen durch: The Zombies

Warum ich da damals mit regulärem Ausdruck und sozusagen doppelt (bei mehrmaligem Ausführen wurde nochmal ein The hinzugefügt) gearbeitet habe, weiß ich jetzt nicht mehr genau. Kann mich nur daran erinnern, dass ich viele verschiedene Lösungen ausprobiert habe und diese dann (endlich) funktionierte.
Optimal ist das nicht. Hast du vielleicht eine weitere/bessere Idee? Denn so hab ich das für jeden einzelnen Artist stehen. Nicht sehr ressourcensparend.

Am Besten wäre da glaube ich eine Lösung mit dem ganz oben stehenden regulären Ausdruck, in der dieses Problem behoben wird:

Bei Interpreten, die kein The haben sollen, sieht die momentane Lösung wie folgt aus:

Regulärer Ausdruck _All
The Sugababes --> Sugababes

Ersetzen _All 
Sugababes --> Sugababes

Ich verstehe gerade leider nicht, was du damit meinst.

Schon einmal vielen Dank für deine Antwort, erspart mir in Zukunft sehr viel Handarbeit :slight_smile:

Wenn du nur im Titel ersetzen willst, wähle TITLE

Das Dach^-Zeichen steht im Regulären Ausdruck für "Feldanfang", das $-Zeichen steht für Feldende.

Wenn du also GENAU das zwischen Anfang und Ende ersetzen willst, wird das durch diese beiden Zeichen festgelegt.
Sollte also noch was anderes zwischen Anfang und ENde stehen, passt der Begriff nicht und dann wird auch nichts ausgeführt.
Beim normalen Ersetzen werden die beiden genannten auch nur als diese Zeichen interpretiert, nicht als Anfang und Ende.

Danke für deine Erklärung, hab sogar ich verstanden :wink:
Das mit dem Dachzeichen habe ich gerade mal ausprobiert. Scheint zu klappen und ich wüsste im Moment keine Nebenwirkung. Kennst du einen Fall, in dem diese Lösung zu nicht gewünschten Lösungen führen würde?
Auf jeden Fall würde ich so nur einen Befehl brauchen anstatt drei. Also dreimal so effektiv. Wirklich cool.

Title, ja. Ist logisch und danach hab ich auch eigentlich gesucht. Nur unter Ersetzen kann ich nur folgende Felder in dem möglichen Bereich sehen:
SETSUBTITLESUBTITLE
TAGGINGTIMETITLE
TITLESORT
TRACK
TVEPISODE

Irgendwo da muss doch Title stehen... Guck ich vielleicht nur falsch? Das steht einfach, wenn ich in der Aktionsgruppe "Ersetzen" auswähle.

Ja, ja, da müsste es stehen. Wenn es das nicht tut, dann nimm in der Pfeil-Nach-Rechts-Schlatfläche den Befehl "Tag-Felder zurücksetzen" und dann müsste auch wieder TITLE erscheinen.

Passt. Funktioniert wieder. Hatte mich schon gewundert. Vielen Dank.

Hast du zufälligerweise noch eine Idee zum Problem 3?

Außer jetzt für jeden Begriff 3-4 Ausnahmeregelungen reinzusetzen?
Würde das mit deiner Ersetzen-Regel funktionieren oder hab ich dann verunstaltete Wörter wie bei DJ --> Nadja --> NaDJa?
Eher Letzteres, gerade mit ABBA ausprobiert.
(reabba remix) wird leider zu (ReABBA Remix)

Es sollen ja nur bestimmte Satzzeichen egal sein. Kann man dafür eine einzige Ausnahmeregelung erstellen?

Ich würde die Dinger filtern und dann gucken, ob es wirklich solche Konstruktionen gibt, bei denen der Künstlername und die Version zusammen im Titel vorkommen...

Dieser Filter findet alle Tracks, bei denen die Schreibweise im Titel nicht der ARTIST übereinstimmt, aber der Name des Künstlers im TITLE enthalten ist:

"$ifgreater($strstr($lower(%title%),$lower(%artist%)),0,1,0)" IS "1" AND "$ifgreater($strstr(%title%,%artist%),0,1,0)" IS "0"

Da müsste die Menge der zu behandelnden Dateien deutlich zusammenschnurren.
Auch würde ich nicht immer über _ALL ersetzen, sondern lieber über die spezifischen Felder. Mit der Copy-Funktion kannst du innerhalb einer Aktionsgruppe Ruckzuck mehrere Aktionen zusammenfassen und nur noch das Feld richtig eintragen.
Die Wortbegrenzung an sich wird von MP3tag eben ein bisschen eigenwillig angewandt - dazu gab es auch schon mal einen Thread ...

Ok, ich merke ABBA war ein blödes Beispiel. Gibt ja noch andere Beispiele, eigentlich die meisten, wo das nicht hilft

MTV:
ZDF:
(DVD

usw.

Nun ja, da bleibt mir im Moment erstmal nichts anderes möglich, als jeweils die Ausnahmen zu taggen

Bin aber gerade auf der Suche nach etwas anderem und durchforste dafür schon wieder das Forum. Ich weiß, dass ichs schon gelesen habe, aber da wars für mich noch nicht relevant.
Nun schon.
Ich möchte das erste "The" im Artist löschen. Da brauch ich mir den Stress mit den doppelten und dreifachen Aktionen nicht mehr machen. Und so fällt auch das doppelte Suchen (Rolling Stones oder unter The Rolling Stones in der Ordnerstruktur weg).

In
"The" in Ordnerstruktur und Tag unterschiedlich
habe ich gelesen, dass du offenbar genauso verfährst. Kannst du mir da also auf die Schnelle mit einem regulären Ausdruck weiterhelfen?
Der imaginäre Interpret Theory sollte aber nicht zu ory werden :wink:

Ersetzen mit regulärem Ausdruck
Such-String: ^The_
Ersetzen-String:

Der _ steht für ein Leerzeichen, denn z.B. bei "The Rolling Stones" steht ja ein Leerzeichen zwischen The und Rolling. Und wenn The am Anfang steht, bleibt auch Fox the Fox ok.

Vielen lieben Dank nochmal. Jetzt muss ich nur noch schauen, wie ich das hinkriege, dass Namen nicht durch bestimmte Begriffe verunstaltet werden :slight_smile: