Artist, Title, Subtitle & MixArtist formatting

I am trying to format %ARTIST%, %TITLE%, %MIXARTIST% & %TITLE% based on the %ARTIST% tag and portions of the %TITLE% tag.
Artist: Ariana Grande
Title: Problem (feat. Iggy Azalea) [Dawin Remix]

Expected Results
Artist: Ariana Grande feat. Iggy Azalea
Title: Problem {Dawin Remix}
MixArtist: Dawin
Subtitle: Remix

Import Tag Fields
Field: TITLE
Format: %title% (feat. %featartist%)

Format Tag Field
Field: ARTIST
Format: %artist% feat. %featartist%

Format Tag Field
Field: MIXARTIST
Format: $regexp(%title%,.*\((.*) .+\),$1)

Format Tag Field
Field: SUBTITLE
Format: $regexp(%title%,.*\(.* (.+)\),$1)

Format Tag Field
Field: TITLE
Format: %title% {%MIXARTIST% %subtitle%}

Remove Fields
Field: %FEATARTIST%

Results
Artist (without quotes): "Ariana Grande feat. "
Title: Problem (feat. Iggy Azalea) [Dawin Remix] {Remix] Remix]}
Subtitle: Remix]
MixArtist: Remix]

What kind of action or convert should your first step be
Import Tag Fields
and what kind of action is
Format Tag Field

These are all available Action Types:

Apologies, I'm using the macOS version.

Import Tag Fields > Guess Values
Format Tag Field > Format Value

1 Like

Hey @djdizzle , it looks like you're using the Mac version of Mp3tag and your question is related to Mp3tag for Mac. Can you use the Mac category for posting those questions, so that people are not confused by terms and labels they might not be familiar with?

Thanks!

Edit: Thanks for clarification, I'm moving this topic to Mac

1 Like

This should do the trick:

Import Tag Fields
Source Format: %title%
Formatstring: %title% (feat. %featartist%) [%mixartist%]

Format Tag Field
Field: ARTIST
Format: %artist% feat. %featartist%

Format Tag Field
Field: TITLE
Format: %title% {%mixartist%}

Import Tag Fields
Source Format: %mixartist%
Formatstring: %mixartist% %subtitle%

I can't see any reference to splitting the %mixartist% and %subtitle% fields from the %title%. Which the below were doing.

Format Tag Field
Field: MIXARTIST
Format: $regexp(%title%,.*\((.*) .+\),$1)

Format Tag Field
Field: SUBTITLE
Format: $regexp(%title%,.*\(.* (.+)\),$1)

It's done in actions #1 and #4.

Action #1 adjusts 3 tag fields at once: everything in front of the opening parentheses ( is kept in field TITLE), everything between (feat.) and the closing parentheses is moved to field FEATARTIST) and everything from within the square brackets [...] is moved to field MIXARTIST.

The contents of field MIXARTIST are reused in action #3 (you wanted to have both Dawin and Remix in the TITLE field.

Finally, in action #4, field MIXARTIST is split into MIXARTIST and SUBTITLE. Splitting is performed in action Import Tag Field by using the same placeholder in both Source format and Formatstring (also, see documentation),

Expected Results
Artist: Ariana Grande feat. Iggy Azalea
Title: Problem {Dawin Remix}
Subitle: Remix
MixArtist: Dawin

Artist: Ariana Grande feat. Iggy Azalea
Title: Problem {Noodles & Devastator Remix}
Subitle: Remix
MixArtist: Noodles & Devastator

Results
Artist: Ariana Grande feat. Iggy Azalea
Title: Problem {Dawin Remix }
Subitle: Remix
MixArtist: Dawin

Artist: Ariana Grande feat. Iggy Azalea
Title: Problem {Noodles & Devastator Remix }
Subitle: & Devastator Remix
MixArtist: Noodles

This is possible by splitting the combined temporary field MIXARTIST into the final MIXARTIST and SUBTITLE by use of two actions Format Tag Field with regular expressions.

Import Tag Fields
Source Format: %title%
Formatstring: %title% (feat. %featartist%) [%mixartist%]

Format Tag Field
Field: ARTIST
Format: %artist% feat. %featartist%

Format Tag Field
Field: TITLE
Format: %title% {%mixartist%}

Format Tag Field
Field: SUBTITLE
Format: $regexp(%mixartist%,.* (.+),$1)

Format Tag Field
Field: MIXARTIST
Format: $regexp(%mixartist%,(.+) .*,$1)

Thanks very much for your assistance. That worked perfectly.

1 Like

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