Klammern selektiv setzen


#1

schönen guten tag :slight_smile:

ich sitze seit gestern an folgendem problem: viele songs haben als titel ja immer etwas zusätzlich in klammern geschrieben, was zu ihrem titel gehört und dann evtl nochmal klammern in denen steht, was für ein mix er song is.

beispiel:

2012 (If The World Would End) (Original Mix)

ich möchte, dass mp3tag sich den inhalt der klammer anschaut und wenn das wort 'Mix', 'Remix' usw. vorkommt, die runden klammern durch eckige ersetzt...

ums mir erstmal einfacher zu machen hab ich den titel auf verschiedene tagfelder aufgeteilt:

  • titel: 2012
  • comment: (If The World Would End)
  • albumartist: (Original Mix)

am nächsten bin ich dem gewünschten resultat gekommen, in dem ich folgende regel erstellt hab...

... für comment: $if($or(%comment% HAS 'RMX',%comment% HAS 'Mix',%comment% HAS 'Edit'),$replace(%comment%,'(','[',')',']'),%comment%)

... albumartist analog: $if($or(%albumartist% HAS 'RMX',%albumartist% HAS 'Mix',%albumartist% HAS 'Edit'),$replace(%albumartist%,'(','[',')',']'),%albumartist%)

problem bei der sache ist, dass er jetzt einfach überall eckige klammern setzt... hat jemand eine idee wie ich das lösen kann? kann ich das HAS überhaupt in dem zusammenhang benutzen?

danke für ideen / lösungen :slight_smile:


#2

Achtung:
Mp3tag hat mehrere Skriptsprachen für die unterschiedlichen Zwecke. Man sollte also scharf trennen.
Die 'Filtersprache' beim Filter verwenden, die 'Formatstringsprache' beim Formatstring verwenden, die 'Exportskriptsprache' beim Export verwenden, die 'Websourcesprache' beim Websourceskript verwenden.

Das Problem könnte eine RegExp Funktion lösen (Beispiel):

$regexp('abc (def) (der Remix von Mike) (ghi) jkl','\(([^)]*(?:Remix|Mix|RMX)[^(]*)\)','[$1]')

Von:
abc (def) (der Remix von Mike) (ghi) jkl
Nach:
abc (def) [der Remix von Mike] (ghi) jkl

DD.20120518.1700.CEST


#3

ja verdamm mich... dat läuft :w00t:

erstmal herzlichen dank, mit RegExp hab ichs davor probiert, war aber offenbar zu dämlich^^

kannst du mir ne seite sagen wo, ich mir zusammensuchen kann, was das kauderwelsch ( '(([^)](?:Remix|Mix|RMX)[^(]))' ) heißt? :wink: vllt kann ich sowas dann auch iwann selber schreiben^^

danke nochmal


#4

Siehe dort ...
Filename formatieren ???

erster Artist vor Ft. ft feat. usw. soll in Album-Artist rein

DD.20120519.1133.CEST


#5

jetzt bräucht ich nen gefälltmir-knopf^^ dankeschön