Single Album Arist

On rare occasions MBP comes back with an Album Artist and/or Album Artist Sort containing multiple values

Example:
Album: Le nozze di Figaro
Release ID: 95b41cb5-32a6-4ff1-bc26-0817beae38c3
Album Artist: Wolfgang Amadeus Mozart; Ildebrando d’Arcangelo, Anna Netrebko, Konzertvereinigung Wiener Staatsopernchor, Dorothea Röschmann, Christine Schäfer, Konzertvereinigung Wiener Staatsopernchor, Wiener Philharmoniker, Nikolaus Harnoncourt
Album Artist Sort: Mozart, Wolfgang Amadeus; d’Arcangelo, Ildebrando, Netrebko, Anna Yur’yevna, Skovhus, Bo, Röschmann, Dorothea, Schäfer, Christine, Chor der Wiener Staatsoper, Wiener Philharmoniker, Harnoncourt, Nikolaus

Is there anyway to script it so MB will give me the first entries only?

My preference would be one entry per tag

You may want to look at the Classical Extras plugin. Those Classical albums are filed in a different way and the plugin does sensible things with assigning the names you require in the various tags.

I don’t use the plugin myself yet so can’t advise further.

1 Like

Its ok im not really into my classical music, i’ve probably only half a dozen classical albums in my collection so want to treat them the same as all other genres

i was reading about the $if2(a1,a2 variable and trying to get that to give me the first value in a multi-value list but i suck at scripting so failed miserably

I wrote a plugin that I think might provide exactly the information that you’re looking for. The full instructions and download link are available at https://github.com/rdswift/picard-plugins/tree/2.0_RDS_Plugins/plugins/additional_artists_variables in case you want to give it a try. This is actually a replacement for my Album Artist Extension plugin that is included with the standard Picard installation. I think that should also provide what you need, if you prefer.

One of these days, I’ll have to submit the new version for inclusion with the standard plugins.

2 Likes

If it’s any help, I added this tagger script into my copy of Picard only this morning:

$set(albumartist,$rreplace(%albumartist%,; .*,))
$set(albumartistsort,$rreplace(%albumartistsort%,; .*,))

When it comes to classical music, the albumartist and albumartistsort tags tend to have a comma-and-space separated list of composers, then a semicolon and space, then a comma-and-space separated list of performers. I only wanted the composers, and this did the trick. It looks for a semicolon followed by a space, and deletes them along with whatever else comes after them.

3 Likes

Boom! that works perfectly thankyou ZoeB

2 Likes

@ZoeB

Sorry Zoe but im finding some rare music that pulls from MB with two artistsort values seperated by an “&”

These are not artists that deliberately have an &, just a mistake

Is there a way to add " & " as a delimeter also? (note i typed space&space)

Thanks

Can you link to an example please? Cheers!

Hmm i guess this https://musicbrainz.org/recording/f5168f33-aa67-440c-a195-1399ec996bf6?tport=8000
see the first item.

Im not entirely sure if this is a good example but i really just need the syntax to deal with " & " if and when some of these come along

Thanks

Ah, OK… If you really only want the first artist listed, regardless of who that happens to be, this ought to work:

$set(albumartist,$rreplace(%albumartist%,[;&].*,))
$set(albumartistsort,$rreplace(%albumartistsort%,[;&].*,))

I haven’t tried it, so I can’t guarantee it will work. How regular expressions generally work, if you list characters within square brackets, then it will match any of them, so this should (hopefully) delete a semicolon or ampersand, and whatever’s after it. I explain this in much more detail in a guide to regular expressions I wrote a while back, but I can’t imagine you’d be likely to want to read all that right now! Hopefully the above example will work.

4 Likes