# MusicBrainz Metadata for Release

The action is used to extract metadata for a MusicBrainz Release and to save it it either as a key-value list in a named variable or as a container.

Both text fields may contain any of the escape sequences described in Escape Sequences.

When saving as a key-value list, the list is constructed such that items are separated by the default list delimiter \~ (⏎). Keys are separated by values with the list key-value delimiter \k (≔).

When saving as a container, all values are represented as strings. (Note fields such as Disc Count being saved as a number or string makes no difference when accessing the data). The container always represents an Object.

The following keys may be present: Album, Album artist, Album artist sort name, Album disambiguation, Artist, Artist sort name, Barcode, Catalog number, Catalog number (per label), Composer, Conductor, Country, Disc count, Discogs master id, Discogs release id, Genre, Involved people, Label, Language, Lyricist, Media type, Mood, Musician credits, Original release date, Part of a compilation, Release country, Release group id, Release id, Release status, Release type, Remixer, Script, Track list, Track count and Year.

Remember that keys can be case insensitive in key-value lists, but they are always case sensitive in containers. Note that all keys have the first letter capitalized and all other letters are lower case.

Unless otherwise specified all of the above keys have the same meaning as the fields in the MusicBrainz Wizard Release Details display. The construction of the fields may be affected by the MusicBrainz Preferences.

The following keys have special interpretations:

Track count is the total number of tracks in the release, not the per disc count.

Catalog number (per label) is potentially a sub-list of items. If there is more than one item, they are separated by the List Column Delimiter \, (➤).

Involved people and Musician credits are formatted exactly as they are in the main window UI. Roles are separated from names by a = character and Role-Name items are separated by newline (\n) characters.

The Track list item contains sub-lists of all the tracks in the release. When saving as a container, the Track List is an Object. When saving as a key-value list, individual track lists are separated by the List Column Delimiter \, (➤). Each sub list is a key-value list constructed such that items are separated by the List Secondary Delimiter \: (●). Keys are separated by values with the list key-value delimiter \k (≔). The following keys may be present: Artist, Cardinal number, Classical catalog, Composer, Conductor, Disc number, Involved people, ISRC, Length, Lyricist, Media subtitle, Movement count, Movement name, Movement number, Musician credits, Opus, Part, Publisher, Recording date, Recording end date, Recording id, Recording location, Recording start date, Release track id, Remixer, Title, Track count, Track number, Track position, and Work name. Length is the track duration in milliseconds. Track Count is the per disc track count.

eg: when saving as a key-value list... (Newline characters are for legibility only).

> Album≔album name⏎
> Album Artist≔album artist⏎
> ...⏎
> Track List≔
> Title≔first track title●
> Artist≔first track's artist●
> ...
> ➤
> Title≔second track title●
> Artist≔second track's artist●
> ...
> ➤
> ...
> ⏎
> ...

If a network error occurred, the Data Source Access Error will describe the error. Prior to version 6 of Yate an attempt was made to return an error key describing the error. This was problematic due to multiple network accesses.

These types of requests are rate limited and can pause an action if multiple requests are made. While running, one or more status messages may be displayed in the main window's status bar. If the Status Bar Message Suffix named variable is not empty, it's contents will be appended to the displayed message. This can be used to display a means of soft cancelling a repeated sequence. For example you can test if a modifier key is pressed.