Feat. Artist und Remix aus Titel extrahieren

Hallo,

wer kennt das nicht. Man hat z.B. diese Tags:

Nr.  Artist          Titel
1    Hans            Schönes Wetter (Radio Edit)
2    Hans            Schönes Wetter
3    Hans            Schönes Wetter (feat. Himmel)
4    Hans            Schönes Wetter (Schlechtes Wetter)(ft Himmel)(Club Mix}
5    Hans            Schönes Wetter feat. Himmel [Video Cut]
6    Hans            Schönes Wetter (Extended) (featuring Himmel) (Schlechtes Wetter)
7    Hans            Schönes Wetter (Live)(feat. Himmel) (Schlechtes Wetter

Man hat den feat. Artist und den Remix mit im Titel stehen und möchte diese nun getrennt haben, sodass es danach so aussieht:

Nr.  Artist             Titel                                   Kommentar
1    Hans               Schönes Wetter                          Radio Edit
2    Hans               Schönes Wetter
3    Hans feat. Himmel  Schönes Wetter
4    Hans feat. Himmel  Schönes Wetter (Schlechtes Wetter)      Club Mix
5    Hans feat. Himmel  Schönes Wetter                          Video Cut
6    Hans feat. Himmel  Schönes Wetter (Schlechtes Wetter)      Extended
7    Hans feat. Himmel  Schönes Wetter (Schlechtes Wetter)      Live

Ich habe dafür einen recht umfangreichen Skript gebastelt, der leider nicht sonderlich optimiert ist. Dazu fehlen mir einfach noch die Kenntnisse.

Das Grundprinzip des Skriptes zerlegt quasi den Titel in maximal vier Teile: %title%|%temp1%|%temp2%|%temp3%. Wobei die temporären Tags dann entweder den Typ Untertitel, Remix oder feat. Artist zugeordnet werden. Zum Schluss wird dann beim den entsprechenden Typ die temporäre Tags unterschiedlich verarbeitet: Der Untertitel wird dann direkt hinter den Titel geschrieben, der Remix kommt in das Kommentarfeld und der feat. Artist wird hinter den Artist geschrieben.

Das aufwendigste hierbei ist eigentlich, die temporären Tags ihrem richtgen Typ zuzuordnen. Dabei werde ich mit der Zeit eine Liste erstellen, die alle möglichen Suchwörter enthält, die auf einen Remix hinweisen.

Wenn ihr euch dafür interessiert und einmal den Skript durchschaut, werdet ihr merken, dass ich es mit den drei temporären Tags recht umständlich gemacht habe. Leider habe ich bisher keine bessere Lösung gefunden.

Über einen eleganteren Skript würde ich mich sehr freuen. Er muss aber auch die Möglichkeit bieten, dass man immer noch problemlos weitere Suchwörter für die Remixe hinzufügen kann.

Hier der Skript:

[#0]
T=2
F=TITLE
1=[
2=(
3=0|0

[#1]
T=2
F=TITLE
1={
2=(
3=0|0

[#2]
T=2
F=TITLE
1=]
2=)
3=0|0

[#3]
T=2
F=TITLE
1=}
2=)
3=0|0

[#4]
T=2
F=TITLE
1=) (
2=)(
3=0|0

[#5]
T=2
F=TITLE
1=)(
2=|
3=0|0

[#6]
T=2
F=TITLE
1= (
2=|
3=0|0

[#7]
T=2
F=TITLE
1=)
2=
3=0|0

[#8]
T=2
F=TITLE
1= feat. 
2=|feat. 
3=0|0

[#9]
T=2
F=TITLE
1= feat 
2=|feat. 
3=0|0

[#10]
T=2
F=TITLE
1=|feat 
2=|feat. 
3=0|0

[#11]
T=2
F=TITLE
1= ft 
2=|feat. 
3=0|0

[#12]
T=2
F=TITLE
1=|ft 
2=|feat. 
3=0|0

[#13]
T=2
F=TITLE
1= ft. 
2=|feat. 
3=0|0

[#14]
T=2
F=TITLE
1=|ft. 
2=|feat. 
3=0|0

[#15]
T=2
F=TITLE
1= featuring 
2=|feat. 
3=0|0

[#16]
T=2
F=TITLE
1=|featuring 
2=|feat. 
3=0|0

[#17]
T=7
F=%title%
1=%title%|%temp1%|%temp2%|%temp3%

[#18]
T=7
F=%title%
1=%title%|%temp1%|%temp2%

[#19]
T=7
F=%title%
1=%title%|%temp1%

[#20]
T=7
F=%temp1%
1=%temp1search%

[#21]
T=7
F=%temp2%
1=%temp2search%

[#22]
T=7
F=%temp3%
1=%temp3search%

[#23]
T=2
F=TEMP1SEARCH
1=Mix
2=*REMIX*
3=1|0

[#24]
T=2
F=TEMP2SEARCH
1=Mix
2=*REMIX*
3=1|0

[#25]
T=2
F=TEMP3SEARCH
1=Mix
2=*REMIX*
3=1|0

[#26]
T=2
F=TEMP1SEARCH
1=Edit
2=*REMIX*
3=1|0

[#27]
T=2
F=TEMP2SEARCH
1=Edit
2=*REMIX*
3=1|0

[#28]
T=2
F=TEMP3SEARCH
1=Edit
2=*REMIX*
3=1|0

[#29]
T=2
F=TEMP1SEARCH
1=Cut
2=*REMIX*
3=1|0

[#30]
T=2
F=TEMP2SEARCH
1=Cut
2=*REMIX*
3=1|0

[#31]
T=2
F=TEMP3SEARCH
1=Cut
2=*REMIX*
3=1|0

[#32]
T=2
F=TEMP1SEARCH
1=Extended
2=*REMIX*
3=1|0

[#33]
T=2
F=TEMP2SEARCH
1=Extended
2=*REMIX*
3=1|0

[#34]
T=2
F=TEMP3SEARCH
1=Extended
2=*REMIX*
3=1|0

[#35]
T=2
F=TEMP1SEARCH
1=Live
2=*REMIX*
3=1|0

[#36]
T=2
F=TEMP2SEARCH
1=Live
2=*REMIX*
3=1|0

[#37]
T=2
F=TEMP3SEARCH
1=Live
2=*REMIX*
3=1|0

[#38]
T=5
F=TEMP1TYPE
1=$if($eql($left(%temp1search%,6),feat. ),FEATARTIST,%temp1type%)

[#39]
T=5
F=TEMP2TYPE
1=$if($eql($left(%temp2search%,6),feat. ),FEATARTIST,%temp2type%)

[#40]
T=5
F=TEMP3TYPE
1=$if($eql($left(%temp3search%,6),feat. ),FEATARTIST,%temp3type%)

[#41]
T=5
F=TEMP1TYPE
1=$if($grtr($strstr(%temp1search%,*REMIX*),0),REMIX,%temp1type%)

[#42]
T=5
F=TEMP2TYPE
1=$if($grtr($strstr(%temp2search%,*REMIX*),0),REMIX,%temp2type%)

[#43]
T=5
F=TEMP3TYPE
1=$if($grtr($strstr(%temp3search%,*REMIX*),0),REMIX,%temp3type%)

[#44]
T=5
F=ARTIST
1=$if($eql(%temp1type%,FEATARTIST),%artist% %temp1%,%artist%)

[#45]
T=5
F=ARTIST
1=$if($eql(%temp2type%,FEATARTIST),%artist% %temp2%,%artist%)

[#46]
T=5
F=ARTIST
1=$if($eql(%temp3type%,FEATARTIST),%artist% %temp3%,%artist%)

[#47]
T=5
F=COMMENT
1=$if($eql(%temp1type%,REMIX),%temp1%,%comment%)

[#48]
T=5
F=COMMENT
1=$if($eql(%temp2type%,REMIX),%temp2%,%comment%)

[#49]
T=5
F=COMMENT
1=$if($eql(%temp3type%,REMIX),%temp3%,%comment%)

[#50]
T=5
F=TITLE
1=$if($eql(%temp1type%,),%title%[ (%temp1%)],%title%)

[#51]
T=5
F=TITLE
1=$if($eql(%temp2type%,),%title%[ (%temp2%)],%title%)

[#52]
T=5
F=TITLE
1=$if($eql(%temp3type%,),%title%[ (%temp3%)],%title%)

[#53]
T=9
F=TEMP1;TEMP1SEARCH;TEMP1TYPE;TEMP2;TEMP2SEARCH;TEMP2TYPE;TEMP3;TEMP3SEARCH;TEMP
3TYPE

Liebe Grüße
Jens

Hallo Jens,
dein Script funktioniert super, leder habe ich aber auch Lieder bei mir wo im Titel (& Artist) drin steht.

Wenn ich einen weiteren Befehl einfüge, wo er mir & in feat. ersetzt, dann wird auch der Artist herunter gezogen.
Problem ist jetzt, das ich das & gerne behalten möchte.

Wie stelle ich das an? Ich habe alles mögliche schon ausprobiert, ich bekomme es leider nicht hin.

Vielen dank schon mal

@Sendeleitung
You are sending a question to a post from over 10 years ago. It appears that the OP hasn't been on the forum since 2015, so any answers may have to come from the rest of the community here.

@Sendeleitung Hi, doch mich gibt es noch. Das ist ja wirklich ewig her. Wie es scheint, wollte ich damals selbst eine elegantere Lösung für Skript, leider habe ich wohl nie eine Antwort bekommen. Wenn ich Zeit habe, werde ich mir dein Problem mal in Ruhe anschauen.

Ich verstehe das Problem nicht so richtig: sollen die Daten, die mit & eingeleitet werden, mitwandern? Und wo soll dann das & erhalten bleiben?
Es wäre gut, wenn du ein konkretes Beispiel mit vorher und nachher zeigen könntest, bei dem deutlich wird, was jetzt das Ergebnis ist und wie es eigentlich aussehen soll.

Hallo also als Beispiele, wären da:

Heino - Blau blüht der Enzian (& Erika)

das würde dann Heino & Erika ergeben, aber ich habe noch etwas gefunden, da ging es aber in die andere Richtung, dort sollte das mit dem feat zum Titel
Und das habe ich nun mir auch angeschaut und nach 1 - 2 Stunden habe ich es hinbekommen, das es umgekehrt funktioniert..... der nimmt also feat usw. als auch & vom Titel runter zum Artisten

Es hat sich somit also erledigt

Und was hast du gemacht?
Vielleicht hilft das dann auch anderen Lesern im Forum.

Finde das Thema nicht mehr, aber dies hier wären die Befehle (Aktionen), wie gesagt die Lösung stand in einem Thema drin. Warum ich 1 - 2 Stunden dran saß, weil ich versucht hatte diese XXX zu entfernen, aber scheinbar müssen die wohl bleiben? Naja hauptsache es funktioniert :wink:

Tag-Felder importieren
Quellformat:
$regexp(%title% XXXXX %artist%,(.*)( | \'('| \'[')(featuring|Featuring|FEATURING|ft|Ft|FT|ft.|Ft.|FT.|feat|Feat|FEAT|feat.|Feat.|FEAT.) (.*)( |'\)'|'\]')XXXXX (.*),$1 XXXXX $6 feat. $4)

Formatstring:
%title% XXXXX %artist%

Tag-Felder importieren
Quellformat:
$regexp(%title% XXXXX %artist%,(.*)( | \'('| \'[')(&) (.*)( |'\)'|'\]')XXXXX (.*),$1 XXXXX $6 & $4)

Formatstring:
%title% XXXXX %artist%

Tag-Felder importieren
Quellformat:
$regexp(%title% XXXXX %artist%,(.*)( | \'('| \'[')(and) (.*)( |'\)'|'\]')XXXXX (.*),$1 XXXXX $6 and $4)

Formatstring:
%title% XXXXX %artist%

Tag-Felder importieren
Quellformat:
$regexp(%title% XXXXX %artist%,(.*)( | \'('| \'[')(und) (.*)( |'\)'|'\]')XXXXX (.*),$1 XXXXX $6 and $4)

Formatstring:
%title% XXXXX %artist%

Da aber bei dieser Methode immer noch eine Klammer ) mit dabei stand, habe ich noch folgendes mit dazu getan:

Ersetzen
Feld: ARTIST
Original (
zu "garnichts"

Das selbe auch noch mit dieser Klammer )

Und da das ganze dann auch im Dateinamen (Filename) so sein soll, kommt noch dieser Befehl:

Tag-Feld formatieren
Feld: _FILENAME
Formatstring:
%artist% - %title%

Das alles komplett so in einer Aktion

Der erste Befehl mit den ganzen XXXX steht hier irgendwo im Forum, nur ist der Ursprung umgekehrt vom Artist zum Titel

War das vielleicht dieser Thread:

Jaa das war er danke fürs reinstellen