Bitte vor dem erstellen eines Beitrag unbedingt die Häufig gestellten Fragen lesen und die Suche verwenden.
Bitte lesen Sie auch die allgemeinen Nutzungsbestimmungen dieses Forums.
![]() ![]() |
Aug 18 2012, 12:52
Post
#1
|
|
|
Member Group: Full Members Posts: 9 Joined: 10-August 10 Member No.: 12734 Mp3tag Version: 2.49 |
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 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 CODE 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. QUOTE Deine Problemstellung lässt sich aber auch sehr einfach mit einer "Ersetzen" Funktion erledigen. CODE $replace(%TITLE%,'(Radio Edit)','[Radio Edit]') 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 CODE %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 http://forums.mp3tag.de/index.php?showtopi...47798Field:_Tag CODE 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? So Ok? CODE 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? This post has been edited by Meisterkind: Aug 18 2012, 14:46 -------------------- |
|
|
|
Aug 18 2012, 18:22
Post
#2
|
|
![]() Member Group: Full Members Posts: 3228 Joined: 9-December 09 From: Norddeutschland / Northern Germany Member No.: 11458 Mp3tag Version: 2.55a |
...alle Remix-Formen und Versionsbezeichnungen in eckige Klammern setzen. ... Später habe ich die Filterfunktion entdeckt und filtere erst einmal vor 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 ] ZITAT ..So wurden die „Rolling Stones“ zu „The Rolling Stones“. Fehlerhaft war am Anfang, dass nochmaliges Ausführen „The The Rolling Stones“ produzierte. 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. -------------------- 42 - wie war die Frage / what was the question / comment était la question
|
|
|
|
Aug 18 2012, 18:50
Post
#3
|
|
|
Member Group: Full Members Posts: 9 Joined: 10-August 10 Member No.: 12734 Mp3tag Version: 2.49 |
QUOTE 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 ] 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. QUOTE 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". 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) CODE 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: QUOTE Leider ersetzt er so nur "Boomtown Rats ft. Beispiel" zu "The Boomtown Rats ft. Beispiel". Nicht aber "Beispiel ft. Boomtown Rats" Bei Interpreten, die kein The haben sollen, sieht die momentane Lösung wie folgt aus: CODE Regulärer Ausdruck _All The Sugababes --> Sugababes Ersetzen _All Sugababes --> Sugababes QUOTE 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. Ich verstehe gerade leider nicht, was du damit meinst. Schon einmal vielen Dank für deine Antwort, erspart mir in Zukunft sehr viel Handarbeit This post has been edited by Meisterkind: Aug 18 2012, 18:54 -------------------- |
|
|
|
Aug 18 2012, 19:56
Post
#4
|
|
![]() Member Group: Full Members Posts: 3228 Joined: 9-December 09 From: Norddeutschland / Northern Germany Member No.: 11458 Mp3tag Version: 2.55a |
Ich verstehe gerade leider nicht, was du damit meinst. 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. -------------------- 42 - wie war die Frage / what was the question / comment était la question
|
|
|
|
Aug 18 2012, 22:56
Post
#5
|
|
|
Member Group: Full Members Posts: 9 Joined: 10-August 10 Member No.: 12734 Mp3tag Version: 2.49 |
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 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. This post has been edited by Meisterkind: Aug 18 2012, 23:03 -------------------- |
|
|
|
Aug 19 2012, 09:34
Post
#6
|
|
![]() Member Group: Full Members Posts: 3228 Joined: 9-December 09 From: Norddeutschland / Northern Germany Member No.: 11458 Mp3tag Version: 2.55a |
..Irgendwo da muss doch Title stehen... 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. -------------------- 42 - wie war die Frage / what was the question / comment était la question
|
|
|
|
Aug 19 2012, 11:25
Post
#7
|
|
|
Member Group: Full Members Posts: 9 Joined: 10-August 10 Member No.: 12734 Mp3tag Version: 2.49 |
Passt. Funktioniert wieder. Hatte mich schon gewundert. Vielen Dank.
Hast du zufälligerweise noch eine Idee zum Problem 3? QUOTE 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. 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? This post has been edited by Meisterkind: Aug 19 2012, 11:34 -------------------- |
|
|
|
Aug 19 2012, 16:09
Post
#8
|
|
![]() Member Group: Full Members Posts: 3228 Joined: 9-December 09 From: Norddeutschland / Northern Germany Member No.: 11458 Mp3tag Version: 2.55a |
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 ... -------------------- 42 - wie war die Frage / what was the question / comment était la question
|
|
|
|
Aug 19 2012, 17:29
Post
#9
|
|
|
Member Group: Full Members Posts: 9 Joined: 10-August 10 Member No.: 12734 Mp3tag Version: 2.49 |
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" 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 http://forums.mp3tag.de/index.php?showtopi...ost&p=64448 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 This post has been edited by Meisterkind: Aug 19 2012, 17:46 -------------------- |
|
|
|
Aug 19 2012, 21:00
Post
#10
|
|
![]() Member Group: Full Members Posts: 3228 Joined: 9-December 09 From: Norddeutschland / Northern Germany Member No.: 11458 Mp3tag Version: 2.55a |
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. -------------------- 42 - wie war die Frage / what was the question / comment était la question
|
|
|
|
Aug 19 2012, 21:21
Post
#11
|
|
|
Member Group: Full Members Posts: 9 Joined: 10-August 10 Member No.: 12734 Mp3tag Version: 2.49 |
Vielen lieben Dank nochmal. Jetzt muss ich nur noch schauen, wie ich das hinkriege, dass Namen nicht durch bestimmte Begriffe verunstaltet werden
This post has been edited by Meisterkind: Aug 19 2012, 21:52 -------------------- |
|
|
|
![]() ![]() |
|
Lo-Fi Version | Time is now: 20th June 2013 - 10:22 |