Thanks for your fast respond. All I have are the filenames. No tag is filled yet. If I use your example, it is working nearly right, but there will be an apotstrophe left at the end of the filename.
[DE]:
Danke für deine schnelle Antwort. Alles was ich habe sind die Dateinamen. Die Tags sind nicht ausgefüllt. Wenn ich dein Beispiel nutze, dann klappt es soweit gut, allerdings bleibt ein Apostroph am Ende des Dateinamens.
Filename
3LAU, Paris & Simo - Escape (feat. Bright Lights) (Faraway Skies Remix)
Wanted filename
3LAU, Paris & Simo feat. Bright Lights - Escape (Faraway Skies Remix)
Any suggestions?
Irgendwelche Vorschläge?
/Edit: I just used to leave the apostrophe and everything is ok.
Old filname pattern
%1 - %2 (feat. %3) (%4) (%5)
New filename pattern
%1 feat. %3 - %2 (%4) (%5)
Before:
Daft Punk - Get Lucky (feat. Pharrell Williams) (Daughter Cover) (Pretty Pink Edit) After:
Daft Punk feat. Pharrell Williams - Get Lucky (Daughter Cover) (Pretty Pink Edit)
I can only recommend to fill the tags - if the filenames already have so much information then it should be easy to copy that information from the filename to the tags - see Convert>Filename - Tag.
The good thing about separating information into fields is that you get structured information instead of a single amourphous string.
Also, the filename has several restrictions in respect to illegal characters as well as total length.
So, before you fiddle around with the filename, fill the tags first.
This is AWESOME looking, I only have one problem, 1. I have no idea how to implement it (as in, where exactly is this Guess Value option) and 2. Is there a way to do it without the parenthesis enclosing the "Feat."?
You have mixed something into the $regexp() function, which might be not allowed ... or does not work per se, ... which is here ... the function $caps2().
You may do what you want in a following second step ...
Action "Format value"
Tag-Field : ARTIST
Formatstring: $regexp(%ARTIST%,'^(.+\sfeat.\s)(.*)$','$1')$regexp($regexp(%ARTIST%,'^(.+\sfeat.\s)(.*)$','$2'),'\b\w*\b','\u$0')
... or ...
Formatstring: $regexp(%ARTIST%,'^(.+\sfeat.\s)(.*)$','$1')$caps2($regexp(%ARTIST%,'^(.+\sfeat.\s)(.*)$','$2'))
I've filled the source field with $regexp(%ARTIST%,'^(.+\sfeat.\s)(.*)$','$1')$caps2($regexp(%ARTIST%,'^(.+\sfeat.\s)(.*)$','$2')) and %artist% +++ %title% as the guessing pattern but the engine didn't output the desired result. Should it be done in two separate actions? Or there's something wrong in the guessing pattern perhaps?
Desired Result Title: SongTitle (feat. ArtistOne & ArtistTwo) Artist: AlbumArtist;ArtistOne;ArtistTwo
I want to standardize all the different capitalizations/versions of Ft., Featuring, FT, feat, etc. and standardize it to "feat." in the title.
I want to copy the featured artists from the Title and add it to the Artist field separated by ";" but make sure the primary/album artist is listed first.
I kept using the "GUESS VALUE" function, which I think was the problem since I wanted to copy values rather than move them.
I solved it using your examples.
I use this to first standardize to "(feat. Artist1, Artist2 & Artist3)" in the Title: Action: Format Value Field: TITLE Format string:$regexp(%TITLE%,'^(.+?)\s+[[({<]?\s*(?:featuring|feat\.?|ft\.?|with\.?)\s*([^])}>]+)[])}>]?(.*)$','$1 (feat. $2$3)',1)
Then transfer from all artists in the title to the Artist field: Action: Format Value Field: ARTIST Format string:%ALBUMARTIST%[';'$replace($regexp(%TITLE%,'^.+?\(feat\.\s(.+?)\)$','$1'),' & ',';')]
Then this last function if there are more than three Artists that is separated by commas: Action: Replace Field: ARTIST Original: ', ' Replace with: ';'
I tried that but it results in the ARTIST tag looking "ScHoolboy Q; Jadakiss" when really I'm just looking to move the entire "feat. ..." phrase (minus the parenthesis) from the TITLE to the ARTIST tag. I tried playing around with it but nothing seems to work.