Additional Artists Variables

Overview

This plugin provides specialized album and track variables for use in naming scripts. It is based on the “Album Artist Extension” plugin, but expands the functionality to also include track artists.

Note

This plugin cannot be used as a direct drop-in replacement for the “Album Artist Extension” plugin because the variables are provided with different names. This will require changes to existing scripts if switching to this plugin.

Note

This plugin makes no additional calls to the MusicBrainz website api for the information.

What it Does

This plugin reads the album and track metadata provided to Picard and exposes the information in a number of additional variables for use in Picard scripts. The plugin has been designed such that the information is presented consistently regardless of whether or not the Use standardized artist names option is selected. This means that some of the information available through the standard Picard tags will be duplicated in the variables provided by this plugin.

The “alias” variables are populated if the Translate names when available: Artist names option is enabled, and there is at least one artist with an alias matching one of the selected locales.

Option Settings

The plugin has no option settings.

Variables Created

Album Variables

  • _artists_album_additional_alias - All album artists listed (locale-specific alias names) except for the primary / first artist, separated by strings provided from the release entry

  • _artists_album_additional_alias_multi - All album artists listed (locale-specific alias names) except for the primary / first artist, as a multi-value

  • _artists_album_additional_alias_sort - All album artists listed (locale-specific alias sort names) except for the primary / first artist, separated by strings provided from the release entry

  • _artists_album_additional_alias_sort_multi - All album artists listed (locale-specific alias sort names) except for the primary / first artist, as a multi-value

  • _artists_album_additional_cred - All album artists listed (as credited) except for the primary / first artist, separated by strings provided from the release entry

  • _artists_album_additional_cred_multi - All album artists listed (as credited) except for the primary / first artist, as a multi-value

  • _artists_album_additional_cred_sort - All album artists listed (sort names as credited) except for the primary / first artist, separated by strings provided from the release entry

  • _artists_album_additional_cred_sort_multi - All album artists listed (sort names as credited) except for the primary / first artist, as a multi-value

  • _artists_album_additional_id - The IDs of all album artists listed except for the primary / first artist, as a multi-value

  • _artists_album_additional_legal - All album artists listed (legal names) except for the primary / first artist, separated by strings provided from the release entry

  • _artists_album_additional_legal_multi - All album artists listed (legal names) except for the primary / first artist, as a multi-value

  • _artists_album_additional_sort - All album artists listed (sort names) except for the primary / first artist, separated by strings provided from the release entry

  • _artists_album_additional_sort_multi - All album artists listed (sort names) except for the primary / first artist, as a multi-value

  • _artists_album_additional_std - All album artists listed (standardized) except for the primary / first artist, separated by strings provided from the release entry

  • _artists_album_additional_std_multi - All album artists listed (standardized) except for the primary / first artist, as a multi-value

  • _artists_album_all_alias - All album artists listed (locale-specific alias names), separated by strings provided from the release entry

  • _artists_album_all_alias_multi - All album artists listed (locale-specific alias names), as a multi-value

  • _artists_album_all_alias_sort - All album artists listed (locale-specific alias sort names), separated by strings provided from the release entry

  • _artists_album_all_alias_sort_multi - All album artists listed (locale-specific alias sort names), as a multi-value

  • _artists_album_all_count - The number of artists listed as album artists

  • _artists_album_all_cred - All album artists listed (as credited), separated by strings provided from the release entry

  • _artists_album_all_cred_multi - All album artists listed (as credited), as a multi-value

  • _artists_album_all_cred_sort - All album artists listed (sort names as credited), separated by strings provided from the release entry

  • _artists_album_all_cred_sort_multi - All album artists listed (sort names as credited), as a multi-value

  • _artists_album_all_join_phrases - All album artist join phrases, as a multi-value

  • _artists_album_all_legal - All album artists listed (legal names), separated by strings provided from the release entry

  • _artists_album_all_legal_multi - All album artists listed (legal names), as a multi-value

  • _artists_album_all_sort - All album artists listed (sort names), separated by strings provided from the release entry

  • _artists_album_all_sort_multi - All album artists listed (sort names), as a multi-value

  • _artists_album_all_sort_primary - The primary / first album artist listed (sort name) followed by all additional album artists (standardized), separated by strings provided from the release entry

  • _artists_album_all_std - All album artists listed (standardized), separated by strings provided from the release entry

  • _artists_album_all_std_multi - All album artists listed (standardized), as a multi-value

  • _artists_album_all_types - All album artist types, as a multi-value

  • _artists_album_primary_alias - The primary / first album artist listed (locale-specific alias name)

  • _artists_album_primary_alias_sort - The primary / first album artist listed (locale-specific alias sort name)

  • _artists_album_primary_cred - The primary / first album artist listed (as credited)

  • _artists_album_primary_cred_sort - The primary / first album artist listed (sort name as credited)

  • _artists_album_primary_id - The ID of the primary / first album artist listed

  • _artists_album_primary_legal - The primary / first album artist listed (legal name)

  • _artists_album_primary_sort - The primary / first album artist listed (sort name)

  • _artists_album_primary_sort_legal - The primary / first album artist listed (sort locale alias name)

  • _artists_album_primary_std - The primary / first album artist listed (standardized)

  • _artists_album_primary_tags - The primary / first album artist tags (limited to ‘Maximum number of genres’ setting in Picard configuration), as a multi-value

Track Variables

  • _artists_track_additional_alias - All track artists listed (locale-specific alias names) except for the primary / first artist, separated by strings provided from the release entry

  • _artists_track_additional_alias_multi - All track artists listed (locale-specific alias names) except for the primary / first artist, as a multi-value

  • _artists_track_additional_alias_sort - All track artists listed (locale-specific alias sort names) except for the primary / first artist, separated by strings provided from the release entry

  • _artists_track_additional_alias_sort_multi - All track artists listed (locale-specific alias sort names) except for the primary / first artist, as a multi-value

  • _artists_track_additional_cred - All track artists listed (as credited) except for the primary / first artist, separated by strings provided from the track entry

  • _artists_track_additional_cred_multi - All track artists listed (as credited) except for the primary / first artist, as a multi-value

  • _artists_track_additional_cred_sort - All track artists listed (sort names as credited) except for the primary / first artist, separated by strings provided from the track entry

  • _artists_track_additional_cred_sort_multi - All track artists listed (sort names as credited) except for the primary / first artist, as a multi-value

  • _artists_track_additional_id - The IDs of all track artists listed except for the primary / first artist, as a multi-value

  • _artists_track_additional_legal - All track artists listed (legal names) except for the primary / first artist, separated by strings provided from the track entry

  • _artists_track_additional_legal_multi - All track artists listed (legal names) except for the primary / first artist, as a multi-value

  • _artists_track_additional_sort - All track artists listed (sort names) except for the primary / first artist, separated by strings provided from the track entry

  • _artists_track_additional_sort_multi - All track artists listed (sort names) except for the primary / first artist, as a multi-value

  • _artists_track_additional_std - All track artists listed (standardized) except for the primary / first artist, separated by strings provided from the track entry

  • _artists_track_additional_std_multi - All track artists listed (standardized) except for the primary / first artist, as a multi-value

  • _artists_track_all_alias - All track artists listed (locale-specific alias names), separated by strings provided from the release entry

  • _artists_track_all_alias_multi - All track artists listed (locale-specific alias names), as a multi-value

  • _artists_track_all_alias_sort - All track artists listed (locale-specific alias sort names), separated by strings provided from the release entry

  • _artists_track_all_alias_sort_multi - All track artists listed (locale-specific alias sort names), as a multi-value

  • _artists_track_all_count - The number of artists listed as track artists

  • _artists_track_all_cred - All track artists listed (as credited), separated by strings provided from the track entry

  • _artists_track_all_cred_multi - All track artists listed (as credited), as a multi-value

  • _artists_track_all_cred_sort - All track artists listed (sort names as credited), separated by strings provided from the track entry

  • _artists_track_all_cred_sort_multi - All track artists listed (sort names as credited), as a multi-value

  • _artists_track_all_join_phrases - All track artist join phrases, as a multi-value

  • _artists_track_all_legal - All track artists listed (legal names), separated by strings provided from the track entry

  • _artists_track_all_legal_multi - All track artists listed (legal names), as a multi-value

  • _artists_track_all_sort - All track artists listed (sort names), separated by strings provided from the track entry

  • _artists_track_all_sort_multi - All track artists listed (sort names), as a multi-value

  • _artists_track_all_sort_primary - The primary / first track artist listed (sort name) followed by all additional track artists (standardized), separated by strings provided from the track entry

  • _artists_track_all_std - All track artists listed (standardized), separated by strings provided from the track entry

  • _artists_track_all_std_multi - All track artists listed (standardized), as a multi-value

  • _artists_track_all_types - All track artist types, as a multi-value

  • _artists_track_primary_alias - The primary / first track artist listed (locale-specific alias name)

  • _artists_track_primary_alias_sort - The primary / first track artist listed (locale-specific alias sort name)

  • _artists_track_primary_cred - The primary / first track artist listed (as credited)

  • _artists_track_primary_cred_sort - The primary / first track artist listed (sort as credited name)

  • _artists_track_primary_id - The ID of the primary / first track artist listed

  • _artists_track_primary_legal - The primary / first track artist listed (legal name)

  • _artists_track_primary_sort - The primary / first track artist listed (sort name)

  • _artists_track_primary_sort_legal - The primary / first track artist listed (sort legal name)

  • _artists_track_primary_std - The primary / first track artist listed (standardized)

Note

If a legal name alias is not available for an artist, the standardized name will be used for _artists_album_additional_legal, _artists_album_all_legal, _artists_track_additional_legal and _artists_track_all_legal, ‘n/a’ will be used in _artists_album_additional_legal_multi, _artists_album_all_legal_multi, _artists_track_additional_legal_multi and _artists_track_all_legal_multi, and the variables _artists_album_primary_legal, _artists_album_primary_sort_legal, _artists_track_primary_legal and _artists_track_primary_sort_legal will not be set if there is no legal name alias available for the primary (first) artist.| If a join phrase is empty, a unicode zero-length space (\u200B) will be returned in its place. If a type is empty, a value of ‘unknown’ will be returned in its place.

Examples

The following are some examples using actual information from MusicBrainz:

Example 1:

Using the single “Fairytale of New York” by Walk Off The Earth (credited as “Gianni and Sarah”), the additional artist variables created are:

  • _artists_album_primary_id = e2a5eaeb-7de7-4ffe-a519-e18e427a5060

  • _artists_album_primary_std = Walk off The Earth

  • _artists_album_primary_cred = Gianni and Sarah

  • _artists_album_primary_sort = Walk off The Earth

  • _artists_album_all_std = Walk off The Earth

  • _artists_album_all_cred = Gianni and Sarah

  • _artists_album_all_sort = Walk off The Earth

  • _artists_album_all_legal = Walk off the Earth

  • _artists_album_all_legal_multi = [‘n/a’]

  • _artists_album_all_sort_primary = Walk Off The Earth

  • _artists_album_all_types = [‘Group’]

  • _artists_album_all_count = 1

  • _artists_track_primary_id = e2a5eaeb-7de7-4ffe-a519-e18e427a5060

  • _artists_track_primary_std = Walk off The Earth

  • _artists_track_primary_cred = Gianni and Sarah

  • _artists_track_primary_sort = Walk off The Earth

  • _artists_track_all_std = Walk off The Earth

  • _artists_track_all_cred = Gianni and Sarah

  • _artists_track_all_sort = Walk off The Earth

  • _artists_track_all_legal = Walk off the Earth

  • _artists_track_all_std_multi = [‘Walk Off The Earth’]

  • _artists_track_all_cred_multi = [‘Gianni and Sarah’]

  • _artists_track_all_legal_multi = [‘n/a’]

  • _artists_track_all_sort_primary = Walk off The Earth

  • _artists_track_all_types = [‘Group’]

  • _artists_track_all_count = 1

Because there is only one artist associated with this single, the _artists_album_additional_*, _artists_track_additional_*, _artists_album_all_join_phrases, and _artists_track_all_join_phrases variables are not created.

Because there is no legal name alias for the artist, the _artists_album_primary_legal, _artists_album_primary_sort_legal, _artists_track_primary_legal and _artists_track_primary_sort_legal variables are not created.

Example 2:

Using the single “Wrecking Ball” by Sarah Blackwood (primary artist) featuring, Jenni Pleau & Emily Bones, the additional artist variables created are:

  • _artists_album_primary_id = af7e5ea9-bd58-4346-8f78-d672e9f297f7

  • _artists_album_primary_std = Sarah Blackwood

  • _artists_album_primary_cred = Sarah Blackwood

  • _artists_album_primary_sort = Blackwood, Sarah

  • _artists_album_primary_legal = Sarah Nicole Blackwood

  • _artists_album_primary_sort_legal = Blackwood, Sarah Nicole

  • _artists_album_additional_id = [‘07fa21a9-c253-4ed0-b711-d63f7965b723’, ‘541d331c-f041-4895-b8f2-7db9e27dc5ab’]

  • _artists_album_additional_std = Jenni Pleau & Emily Bones

  • _artists_album_additional_cred = Jenni Pleau & Emily Bones

  • _artists_album_additional_sort = Pleau, Jenni & Bones, Emily

  • _artists_album_additional_legal = Jenni Pleau & Emily Bones

  • _artists_album_additional_std_multi = [‘Jenni Pleau’, ‘Emily Bones’]

  • _artists_album_additional_cred_multi = [‘Jenni Pleau’, ‘Emily Bones’]

  • _artists_album_additional_sort_multi = [‘Pleau, Jenni’, ‘Bones, Emily’]

  • _artists_album_additional_legal_multi = [‘n/a’, ‘n/a’]

  • _artists_album_all_std = Sarah Blackwood, Jenni Pleau & Emily Bones

  • _artists_album_all_cred = Sarah Blackwood, Jenni Pleau & Emily Bones

  • _artists_album_all_sort = Blackwood, Sarah, Pleau, Jenni & Bones, Emily

  • _artists_album_all_legal = Sarah Nicole Blackwood, Jenni Pleau & Emily Bones

  • _artists_album_all_legal_multi = [‘Sarah Nicole Blackwood’, ‘n/a’, ‘n/a’]

  • _artists_album_all_sort_primary = Blackwood, Sarah, Jenni Pleau & Emily Bones

  • _artists_album_all_join_phrases = [’, ‘, ‘ & ‘]

  • _artists_album_all_types = [‘Person’, ‘Person’, ‘Person’]

  • _artists_album_all_count = 3

  • _artists_track_primary_id = af7e5ea9-bd58-4346-8f78-d672e9f297f7

  • _artists_track_primary_std = Sarah Blackwood

  • _artists_track_primary_cred = Sarah Blackwood

  • _artists_track_primary_sort = Blackwood, Sarah

  • _artists_track_primary_sort = Blackwood, Sarah

  • _artists_track_primary_legal = Sarah Nicole Blackwood

  • _artists_track_additional_id = [‘07fa21a9-c253-4ed0-b711-d63f7965b723’, ‘541d331c-f041-4895-b8f2-7db9e27dc5ab’]

  • _artists_track_additional_std = Jenni Pleau & Emily Bones

  • _artists_track_additional_cred = Jenni Pleau & Emily Bones

  • _artists_track_additional_sort = Pleau, Jenni & Bones, Emily

  • _artists_track_additional_legal = Jenni Pleau & Emily Bones

  • _artists_track_additional_std_multi = [‘Jenni Pleau’, ‘Emily Bones’]

  • _artists_track_additional_cred_multi = [‘Jenni Pleau’, ‘Emily Bones’]

  • _artists_track_additional_sort_multi = [‘Pleau, Jenni’, ‘Bones, Emily’]

  • _artists_track_additional_legal_multi = [‘n/a’, ‘n/a’]

  • _artists_track_all_std = Sarah Blackwood, Jenni Pleau & Emily Bones

  • _artists_track_all_cred = Sarah Blackwood, Jenni Pleau & Emily Bones

  • _artists_track_all_sort = Blackwood, Sarah, Pleau, Jenni & Bones, Emily

  • _artists_track_all_legal = Sarah Nicole Blackwood, Jenni Pleau & Emily Bones

  • _artists_track_all_std_multi = [‘Sarah Blackwood’, ‘Jenni Pleau’, ‘Emily Bones’]

  • _artists_track_all_cred_multi = [‘Sarah Blackwood’, ‘Jenni Pleau’, ‘Emily Bones’]

  • _artists_track_all_legal_multi = [‘Sarah Nicole Blackwood’, ‘n/a’, ‘n/a’]

  • _artists_track_all_sort_primary = Blackwood, Sarah, Jenni Pleau & Emily Bones

  • _artists_track_all_join_phrases = [’, ‘, ‘ & ‘]

  • _artists_track_all_types = [‘Person’, ‘Person’, ‘Person’]

  • _artists_track_all_count = 3

Because there are multiple artists associated with both the album and the track, all artist variables are created.

Example 3:

Using the album “Kermit Unpigged” by The Muppets, the additional artist variables created for track 4, “All I Have to Do Is Dream” by Linda Ronstadt and Kermit the Frog, are:

  • _artists_album_primary_id = 2ca340a6-e8f2-489d-90c2-f37c5c802d49

  • _artists_album_primary_std = The Muppets

  • _artists_album_primary_cred = The Muppets

  • _artists_album_primary_sort = Muppets, The

  • _artists_album_all_std = The Muppets

  • _artists_album_all_cred = The Muppets

  • _artists_album_all_sort = Muppets, The

  • _artists_album_all_std_multi = [‘The Muppets’]

  • _artists_album_all_cred_multi = [‘The Muppets’]

  • _artists_album_all_legal = The Muppets

  • _artists_album_all_legal_multi = [‘n/a’]

  • _artists_album_all_sort_primary = Muppets, The

  • _artists_album_all_types = [‘Group’]

  • _artists_album_all_count = 1

  • _artists_track_primary_id = 498f2581-be21-4eef-8756-fbb89d79b1c0

  • _artists_track_primary_std = Linda Ronstadt

  • _artists_track_primary_cred = Linda Ronstadt

  • _artists_track_primary_sort = Ronstadt, Linda

  • _artists_track_primary_legal = Linda Maria Ronstadt

  • _artists_track_primary_sort_legal = Ronstadt, Linda Maria

  • _artists_track_additional_id = [‘992a7ea8-96c1-4058-ba96-f811c8d01c77’]

  • _artists_track_additional_std = Kermit the Frog

  • _artists_track_additional_cred = Kermit the Frog

  • _artists_track_additional_sort = Kermit the Frog

  • _artists_track_additional_legal = Kermit the Frog

  • _artists_track_additional_std_multi = [‘Kermit the Frog’]

  • _artists_track_additional_cred_multi = [‘Kermit the Frog’]

  • _artists_track_additional_sort_multi = [‘Kermit the Frog’]

  • _artists_album_additional_legal_multi = [‘n/a’]

  • _artists_track_all_std = Linda Ronstadt and Kermit the Frog

  • _artists_track_all_cred = Linda Ronstadt and Kermit the Frog

  • _artists_track_all_sort = Ronstadt, Linda and Kermit the Frog

  • _artists_track_all_legal = Linda Maria Ronstadt and Kermit the Frog

  • _artists_track_all_std_multi = [‘Linda Ronstadt’, ‘Kermit the Frog’]

  • _artists_track_all_cred_multi = [‘Linda Ronstadt’, ‘Kermit the Frog’]

  • _artists_track_all_legal_multi = [‘Linda Maria Ronstadt’, ‘n/a’]

  • _artists_track_all_sort_primary = Ronstadt, Linda and Kermit the Frog

  • _artists_track_all_join_phrases = [’ and ‘]

  • _artists_track_all_types = [‘Person’, ‘Character’]

  • _artists_track_all_count = 2

Because there is only one artist associated with the album the _artists_album_additional_* and _artists_album_all_join_phrases variables are not created.

Source Code

The source code for this plugin is available on GitHub.