Difference between %artists% and %_artists%

I’m a new user to Picard, but the - rather manual - workflow I’ve landed on makes tagging a breeze (once it’s correctly configured).

If I include $setmulti(artist,%_artists%) in my tagger script, when I load a release using ‘Lookup in Browser’ the artist tag isn’t populated, but if I use $setmulti(artist,%artists%) it is.

Given I have to use some variables beginning with _ (%_artists_sort%) I’d like to understand the implications of using these.

If you put an underscore in front of a variable name, the variable is not saved as a tag.

See Tags & Variables — MusicBrainz Picard v2.13.3 documentation for more information.

3 Likes

_artists is not a predefined variable, thus it has no value unless you assign a value to it, whereas %artists% gets the value(s) of the current artists tag.
If you like to use a custom variable like _artists you have to set it before usage: e.g. $setmulti(_artists,%artists%)

_artists_sort is a predefined variable containing the sort names of the track’s artists. Thus it works.

→ see documentation “Basic Variables”

4 Likes

So I know how %_artists% made it into my script (by copying my albumartist block and removing ‘album’ to make it applicable to track artist) but I’m sure it was suggested by autocomplete when I submitted the question. Well, I can’t reproduce that no matter what I do!

Thanks for the replies.

$set(DisplayAlbumArtist,%albumartist%)
$setmulti(albumartist,%_albumartists%)
$setmulti(albumartistsort,%_albumartists_sort%)