Feat. Artist und Remix aus Titel extrahieren


#1

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