Multi-Artist zu Titel-Tag (mit featuring)

Hallo liebe Mp3Tag-Community,
ich lese schon sehr lange mit im Forum und nutze das Programm auch aktiv, nun wurde es Zeit, dass ich mich "endlich" registriere, da ich mal selbst einiges erfragen bzw. erlernen möchte (und durch die Suche nicht fündig geworden bin).
Es geht um folgendes:
Ich möchte unter "Artist (bzw. "Interpret" wie es bei mir heißt)" nicht mehr als eine Person stehen haben. Um genau zu sein: Unter "Artist/Interpret" soll die Person welche als "Albumartist/Albuminterpret" angebeben ist stehen (sprich: Albumartist = Artist). So weit so gut :). Das dürfte nicht so schwierig sein (und sollte wahrscheinlich als "letzter Schritt" der Aktionen sein).
Jedoch kommt nun die Besonderheit (mein Wunsch), dass die weiteren Personen, welche sich (vor dem Überschreiben) im "Artist"-Feld befinden in den "Titel"-Tag als "ft." geschrieben werden.
Weitere Besonderheit: Falls es nur eine weitere Person gibt, soll der "Titel"-Tag wie folgt ergänzt werden "Titel (ft. Artist2)". Falls es zwei weitere Personen gibt, dann soll der "Titel"-Tag wie folgt ergänzt werden "Titel (ft. Artist2 & Artist3)". Falls es drei weitere Personen gibt, dann soll der "Titel"-Tag wie folgt ergänzt werden "Titel (ft. Artist2, Artist3 & Artist4)".
Falls es mehrere weitere Personen gibt, dann soll der "Titel"-Tag wie folgt ergänzt werden "Titel (ft. Artist2, Artist3, Artist4 & Artist5)". Das Muster sollte nun klarer sein. Also es sollen alle weiteren "Artist" mit "," (Komma) getrennt werden bis auf den letzten "Artist", dieser wird mit einem "&" (Kaufmanns-Und) markiert.

Leider kenne ich mich mit scripting bzw. programmieren nicht so aus. Ich weiß auch nicht, ob mein Wunsch überhaupt erfüllbar ist und wie viele "Aktionen" oder Sonstiges dafür notwendig sind.

Habe es per "main_scripting.html" Hilfe (https://help.mp3tag.de/main_scripting.html) versucht, aber erfolglos.
Dachte "$meta(x,n)" und/oder "$meta_sep(x,sep)" würden benötigt, aber habe sie wahrscheinlich nicht richtig eingesetz.

"$meta(artist,1))" liefert mir leider "nichts (also Leerzeichen)" und "$meta_sep(artist,;)" liefert leider "alle artists (obwohl per ";" getrennt)" (aus meinem Beispiel 1 stünde dann dort "Titel (ft. Kai; Uwe)", obwohl dort nur "Titel (ft. Uwe)" stehen sollte).

Ich freue mich über jegliche Hilfen und bedanke mich im Voraus.

PS: Falls ich etwas nicht regelkomform oder einfach nur falsch gemacht habe, bitte mitteilen, ich werde mein Bestes tun, um ggf. zu korrigieren. Da dies mein allererster Beitrag ist, hoffe ich, dass eventuelle Missgeschicke mit einem Auge zu betrachten werden. Danke.

PPS: Um mal beispielhafter zu schreiben:

Originaltag:
Titel: Unser Song
Artist: Kai; Uwe
Albumartist: Kai

Zieltag:
Titel: Unser Song (ft. Uwe)
Artist: Kai
Albumartist: Kai


Originaltag:
Titel: Unser Song Teil 2
Artist: Kai; Uwe; Max
Albumartist: Kai

Zieltag:
Titel: Unser Song Teil 2 (ft. Uwe & Max)
Artist: Kai
Albumartist: Kai


Originaltag:
Titel: Unser Song Teil 3
Artist: Kai; Uwe; Max; Peter
Albumartist: Kai

Zieltag:
Titel: Unser Song Teil 3 (ft. Uwe, Max & Peter)
Artist: Kai
Albumartist: Kai


usw.

Vielleicht am einfachsten mit einer Aktionsgruppe mit folgenden Aktionen:
Aktion "Tag-Felder importieren"
Quelle: %artist%
Format string: %artist%; %feat_artist%

Damit sind alle Daten nach dem Semikolon im benutzerdefinierten Feld FEAT_ARTIST

Aktion "Ersetzen" für FEAT_ARTIST
Suchen: ;
Ersetzen: &
Damit müssten alle ; zum Ampersand geworden sein

Aktion "Tag-Feld formatieren" für TITLE
Format string: %title% (ft. %feat_artist%)

und wenn alles stimmt, zum Schluss das Hilfsfeld wieder entfernen
Aktion "Tag-Feld entfernen"
Feld: FEAT_ARTIST

1 Like

Hallo Ohrenkino,
erst Mal Danke für deinen Vorschlag.
Leider scheitert es schon im ersten Schritt.
Es wird kein Feld "FEAT_ARTIST" erstellt, sondern "%ARTIST%". Und darin wird dann nur ein weiteres Semicolon hinzugefügt. Anschaulich: Zusätzlich zum originalen Tag "ARTIST" worin "Kai; Uwe" steht, wurde ein weiters Tag-Feld "%ARTIST%" hinzugefügt worin "Kai; Uwe**;**" steht.

Aus diesem Grund sind die weiteren Modifikationen wahrscheinlich auch nicht erfüllbar. Somit war nach Ausführen aller vier Optionen im Titel nur ein Leerzeichen im "(ft. )".

Hoffe auf weitere Hilfen. Danke.

Die erste Aktion muss klappen, alle weiteren bauen darauf auf.
In der Aktion vom Typ "Tag-Feld importieren" wird ein Muster definiert - und das muss aufs Leerzeichen genau stimmen.
Bitte check noch mal das Muster bei Format String.

Wenn das immer noch nicht funktioniert, brauche ich wohl doch mal einen Dump vom Dialog "Erweiterte Tags".

1 Like

Damit geht es :). Vorher schriebst du

deshalb ging es nicht. Und ich habe nicht aufgepasst haha.
Nun gut, jetzt klappt es (teilweise). Danke dafür.

Leider funktioniert es aktuell nur für 1 bis 2 "Feature-Artist".
Das heißt: Wenn es gar keine Feature-Artists gibt (also nur ein Solo) ODER mehr als 2 weitere Artists (also insgesamt mehr als 4 Artists) gibt, dann bekomme ich leider kein zufriedenstellendes Eregebnis :(.

Bei einem Solo (also wenn nur 1 Artist vorhanden), macht er aktuell logischerweise "Titel (ft. )", jedoch sollte es in dem Fall nur bei "Titel" (also ohne " (ft. )") bleiben.
Bei mehr als 3 "Feature-Artists" macht er aktuell "Titel (ft. Feature-Artist1 & Feature-Artist2 & Feature-Artist3 & Feature-Artist4 ...)", jedoch sollte es in dem Fall alle mit einem Komma trennen bis auf den letzten, welcher mit dem "&" (Kaufmanns-Und) getrennt werden soll. Sprich: "Titel (ft. Feature-Artist1, Feature-Artist2, Feature-Artist3 & Feature-Artist4)". Habe es mal auf Feature-Artist4 beschränkt aufgrund der Darstellung, aber natürlich sollen da bis zu (ich übertreibe mal) "50" Feature-Artists möglich sein.
Ich hoffe, das ist möglich.

hier müsste dann das & durch ein Komma ersetzt werden.

Nimm zusätzliche eine Aktion vom Typ "Ersetzen mit regulärem Ausdruck" für FEAT_ARTIST
Suchen: (.*), (.*)
Ersetzen: $1 & $2

1 Like

Vielen Dank. Das klappt bis auf die eine letzte Kleinigkeit: Wenn es keine Feature-Artists gibt. Also wie vorhin von mir geschrieben:

Wenn wir (bzw. Du :wink:) diese Kleinigkeit auch noch gelöst bekommst, dann wäre ich sehr erfreut :smiley:.
Danke.

Müsste werden zu
Format string: %title%[ (ft. %feat_artist%)]

1 Like

Klappt. Super.
Du bist mein persönlicher Held (mindestens für diesen Monat).
Nochmals vielen lieben Dank für alle Deine Mühen.
Ich wünsche Dir noch ein schönes Wochenende und bleib gesund.
Mit freundlichen Grüßen
Kai

PS: Thread kann geschlossen werden.

PPS: Das PPS hat sich erledigt :angel: .

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.