Why are Feat artist being moved to separate folders?

Tags: #<Tag:0x00007fa5ccbd5820>

I have around 175 GB of Music to sort. I used one program and it messed up my music and Capitalized all my music and tags and I can’t fix back.

So why are Featured artist moved to separate folders when saving. Is there also a way to put a script in to replace Feat. with ft. in the past I had many songs that had several featured artist on one song and Feat. would be too long. A script like

$set(title,$replace(%title%,\s\(feat. [^)]+\),))

$set(artist,$replace(%artist%,Feat. ,, ))

Similar but replace Feat. with ft.

Yes I read topics and debate people had this but did not see a solution.

That all depends on your setup. If you use the artist name for a folder and that artist name would contain featuring that of course becomes part of the folder name. Of your issue is that files for a single album get moved to separate folders make sure to use %albumartist% instead of %artist% in your naming script.

If your issue is that album artist contains the featuring you can use scripting to remove it. E.g. use scripting to set a variable %_albumfolder%:

$set(_albumfolder,$rreplace($if2(%albumartist%,%artist%),\\s+feat\\..*,))

Then in your naming script use %_albumfolder% for the folder name. If you need more details please post your naming script here.

This should do:

$set(artist,$replace(%artist%,feat. ,ft. ))
$set(albumartist,$replace(%albumartist%,feat. ,ft. ))

Also I would recommend to use the “Standardise Feat.” plugin, which will ensure all different kinds of writing featuring are first standardized to “feat.”. Then the script above reliable replaces all those “feat.” with “ft.”.

2 Likes

How would I leverage
$set(_albumfolder,$rreplace($if2(%albumartist%,%artist%),\\s+feat\\..*,))

But to also include artist names that have an &, ft, ft., x, “,” to remove additional collaborations on a track in the artist field, but only for the folder creation?

I basically want to remove all the additional artists so that the first artist is the name of the enclosed folder, assuming there is no albumartist in the tag.

For example, 99 Souls ft Destiny’s Child & Brandy or 99 Souls X Destiny’s Child & Brandy or 99 Souls feat Destiny’s Child & Brandy in the Artist field would return:

/9/99 Souls/Artist - Song Title.ext

My current code is:
$set(_albumfolder,$rreplace($if2(%albumartist%,%artist%),\s+feat\…*,))
$truncate($delprefix(%artist%),1)/%_albumfolder%/$if(%artist%,%artist% - )%title%

Try something like:

$set(_first_artist,$getmulti(%artists%,0))

and then use %_first_artist% when specifying the folder name.

2 Likes

Hi @rdswift,

I’m not sure if that will work, the data is only in the %artist% variable/tag on a majority of the tracks. Would %artists% ever read the “artist” tag?

I suppose, I’m trying to understand the syntax of "\s+feat\…," does and if I could also create additional entries so it’s \s+ft\…, \s+x\…*, etc. for each of the things I’d like to filter out from the Artist tag.

Another way would just be to format all tracks to use the full “feat.” but there’s still a chance where there may be remix of a track and it’s not in the same format.

Thanks!

@rdswift is right, %artists% simply contains all the artists for the track, but without the join phrases (feat. etc), so you can easily extract just the first/primary artist from that tag. (Documentation here)

You might need $getmulti(%artists%,1) instead of 0, though. Try it and see.

2 Likes

The index is zero-based. See the new documentation for examples.

3 Likes