I would like to copy the " (feat. Artists)" part of %title% and %album% tags to the %artist% and %albumartist% tags, then remove it from the %title% and %album% tags then remove the () from the string.
To make things a bit more complicated, I only want the string copied to the %album% tag if it contains the strings " [Single]" or " [EP]", and if it contains " {Deluxe}" on the end, to place the copied value before the double space.
I have looked at all of those links referenced but, none of them just move the (feat. artist) when the %title% tag contains (feat. Artist) [Version]... one of them came close but also moved the [Version].
%title% = Title (feat. Artist) [Mixartist Mixtype] or Title (feat. Artist) (Mixartist Mixtype)
The original tags appear as follows
%title% = Title or
%title% = Title (Extended Title) or
%title% = Title (Extended Title) (Mixartist Mixtype) or
%title% = Title (Mixartist Mixtype) or
%title% = Title (feat. Artist) (Mixartist Mixtype) or
%title% = Title (feat. Artist) [Mixartist Mixtype] or
%title% = Title (Mixartist Mixtype) [feat. Artist] or
%artist% = Artist
%album% = Album feat. Artist or
%album% = Album feat. Artist (Deluxe) or
%album% = Album feat. Artist - Single
%albumartist% = Album Artist
The should appear as...
%title% = Title or
%title% = Title (Extended Title) or
%title% = Title «Mixartist Mixtype» or
%title% = Title (Extended Title) «Mixartist Mixtype»
%artist% = Artist or
%artist% = Artist feat. Artist
%album% = Album or
%album% = Album {Deluxe} or
%album% = Album [Single]
%albumartist% = Album Artist feat. Artist if %album% = Album [Single] otherwise %albumartist% = Album Artist
As you have more or less any permutation with brackets and sequence in your tags, you have to deal with every case individually.
What I would suggest:
First copy the contents of TITLE to FEAT_ARTIST
(FEAT_ARTIST is now a user-defined field). You achieve this with an action of the type Format value for FEAT_ARTIST and the format string %title%.
Now apply several actions of the type "Guess value" for FEAT_ARTIST
Each of these actions cuts away the stuff that you don't want, e.g.
Title (feat. Artist) (Mixartist Mixtype)
can be extracted with
%dummy% (feat. %feat_artist)%dummy%
I am sure, you can devise similar actions for other sequences or brackets.
Once you have extracted the featured artist to FEAT_ARTIST, you can now append ARTIST with FEAT_ARTIST with an action of the type "Format value" for ARTIST and the format string
%artist% (feat. %feat_artist%)
After that you delete the field FEAT_ARTIST.
And then you delete any bracket followed by "feat." with an action of the type "Replace with regular expression" for TITLE, e.g.
Search: (.) (feat.)\s(.*)
Replace: $1 $2