seed

package
v0.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 22, 2023 License: BSD-3-Clause Imports: 14 Imported by: 0

Documentation

Overview

Package seed generates URLs that pre-fill fields when adding entities to MusicBrainz.

Index

Constants

View Source
const AddCoverArtRedirectURI = "https://yambs.erat.org/redirect-add-cover-art"

AddCoverArtRedirectURI can be used as a Release's RedirectURI to automatically redirect to the "Add Cover Art" page after the release has been created.

Regrettably, the Add Release page passes the MBID to the redirect URL via a "release_mbid" query parameter, while the Add Cover Art form requires the MBID to be passed as part of the path (https://musicbrainz.org/release/<mbid>/add-cover-art).

TODO: Change this to not redirect through yambsd if/when the MB server provides a way to rewrite the final redirect URL.

Variables

This section is empty.

Functions

This section is empty.

Types

type ArtistCredit

type ArtistCredit struct {
	// MBID contains the artist entity's MBID, if known.
	// This annoyingly doesn't seem to work for the /recording/create form,
	// so ID should be set instead in that case (see the db package).
	MBID string
	// ID contains the artist's database ID (i.e. the 'id' column from the 'artist' table).
	// This is only needed for the /recording/create form, I think.
	ID int32
	// Name contains the artist's name for pre-filling the search field.
	// This is unneeded if MBID or ID is set.
	Name string
	// NameAsCredited contains the name under which the artist was credited.
	// This is only needed if it's different than MBID or Name.
	// TODO: Actually, it seems like Name is maybe ignored in favor of NameAsCredited
	// when seeding the standalone recording form? Investigate further.
	NameAsCredited string
	// JoinPhrase contains text for joining this artist's name with the next one's, e.g. " & ".
	JoinPhrase string
}

ArtistCredit holds detailed information about a credited artist.

type Edit

type Edit interface {
	// Entity returns the type of entity being edited.
	Entity() Entity
	// Description returns a human-readable description of the edit.
	Description() string
	// URL returns a URL to seed the edit form.
	// srv contains the MusicBrainz server hostname, e.g. "musicbrainz.org" or "test.musicbrainz.org".
	URL(srv string) string
	// Params returns form values that should be sent to seed the edit form.
	// Note that some parameters contain multiple values (i.e. don't call Get()).
	Params() url.Values
	// Method() returns the HTTP method that should be used for the request for URL.
	// GET is preferable since it avoids an anti-CSRF interstitial page.
	Method() string
	// Finish fixes up fields in the edit.
	// This should be called once after filling the edit's fields.
	// This only exists because recordings are dumb and require
	// artists' database IDs rather than their MBIDs.
	Finish(ctx context.Context, db *db.DB) error
}

Edit represents a seeded MusicBrainz edit.

type Entity added in v0.1.3

type Entity string

Entity describes a type of MusicBrainz entity being edited.

const (
	RecordingEntity Entity = "recording"
	ReleaseEntity   Entity = "release"
	WorkEntity      Entity = "work"
	InfoEntity      Entity = "info" // informational edit; not a true entity
)

type Info

type Info struct {
	// contains filtered or unexported fields
}

Info wraps a URL containing extra information (e.g. cover art); it's not an actual edit.

func NewInfo

func NewInfo(desc, rawURL string) (*Info, error)

func (*Info) Description

func (in *Info) Description() string

func (*Info) Entity added in v0.1.3

func (in *Info) Entity() Entity

func (*Info) Finish

func (in *Info) Finish(ctx context.Context, db *db.DB) error

func (*Info) Method

func (in *Info) Method() string

func (*Info) Params

func (in *Info) Params() url.Values

func (*Info) URL

func (in *Info) URL(srv string) string

type Language added in v0.1.3

type Language int

Language represents a human language. These values correspond to integer IDs in the database; note that some fields (most notably Release.Language) confusingly use ISO 639-3 codes instead.

const (
	Language_Abkhazian                        Language = 2    // Abkhazian
	Language_Achinese                         Language = 3    // Achinese
	Language_Acoli                            Language = 4    // Acoli
	Language_Adangme                          Language = 5    // Adangme
	Language_Adyghe                           Language = 6    // Adyghe
	Language_Afar                             Language = 1    // Afar
	Language_Afrihili                         Language = 8    // Afrihili
	Language_Afrikaans                        Language = 9    // Afrikaans
	Language_AfroAsiaticLanguages             Language = 7    // Afro-Asiatic languages
	Language_Ainu                             Language = 473  // Ainu
	Language_Akan                             Language = 10   // Akan
	Language_Akkadian                         Language = 11   // Akkadian
	Language_Albanian                         Language = 12   // Albanian
	Language_Aleut                            Language = 13   // Aleut
	Language_AlgonquianLanguages              Language = 14   // Algonquian languages
	Language_Algonquin                        Language = 709  // Algonquin
	Language_AltaicLanguages                  Language = 434  // Altaic languages
	Language_Amharic                          Language = 15   // Amharic
	Language_Angika                           Language = 475  // Angika
	Language_ApacheLanguages                  Language = 17   // Apache languages
	Language_Arabic                           Language = 18   // Arabic
	Language_Aragonese                        Language = 20   // Aragonese
	Language_Arapaho                          Language = 23   // Arapaho
	Language_Arawak                           Language = 25   // Arawak
	Language_ArdhamagadhiPrakrit              Language = 5403 // Ardhamāgadhī Prākrit
	Language_Armenian                         Language = 21   // Armenian
	Language_Aromanian                        Language = 479  // Aromanian
	Language_ArtificialOther                  Language = 24   // [Artificial (Other)]
	Language_Assamese                         Language = 26   // Assamese
	Language_Asturian                         Language = 27   // Asturian
	Language_AthapascanLanguages              Language = 28   // Athapascan languages
	Language_Atikamekw                        Language = 866  // Atikamekw
	Language_AustralianLanguages              Language = 29   // Australian languages
	Language_AustronesianLanguages            Language = 263  // Austronesian languages
	Language_Avaric                           Language = 30   // Avaric
	Language_Avestan                          Language = 31   // Avestan
	Language_Awadhi                           Language = 32   // Awadhi
	Language_Aymara                           Language = 33   // Aymara
	Language_Azerbaijani                      Language = 34   // Azerbaijani
	Language_Baeggu                           Language = 1470 // Baeggu
	Language_Balinese                         Language = 40   // Balinese
	Language_BalticLanguages                  Language = 43   // Baltic languages
	Language_Baluchi                          Language = 38   // Baluchi
	Language_Bambara                          Language = 39   // Bambara
	Language_BamilekeLanguages                Language = 36   // Bamileke languages
	Language_BandaLanguages                   Language = 35   // Banda languages
	Language_BantuLanguages                   Language = 55   // Bantu languages
	Language_Basa                             Language = 42   // Basa
	Language_Bashkir                          Language = 37   // Bashkir
	Language_Basque                           Language = 41   // Basque
	Language_BatakLanguages                   Language = 59   // Batak languages
	Language_Bavarian                         Language = 982  // Bavarian
	Language_Beja                             Language = 44   // Beja
	Language_Belarusian                       Language = 45   // Belarusian
	Language_Bemba                            Language = 46   // Bemba
	Language_Bengali                          Language = 47   // Bengali
	Language_BerberLanguages                  Language = 48   // Berber languages
	Language_Bhojpuri                         Language = 49   // Bhojpuri
	Language_BihariLanguages                  Language = 50   // Bihari languages
	Language_Bikol                            Language = 51   // Bikol
	Language_Bini                             Language = 52   // Bini
	Language_Bislama                          Language = 53   // Bislama
	Language_Blin                             Language = 64   // Blin
	Language_Blissymbols                      Language = 482  // Blissymbols
	Language_BodoIndia                        Language = 1394 // Bodo (India)
	Language_Bosnian                          Language = 56   // Bosnian
	Language_Braj                             Language = 57   // Braj
	Language_Breton                           Language = 58   // Breton
	Language_Buamu                            Language = 1322 // Buamu
	Language_Buginese                         Language = 61   // Buginese
	Language_Bulgarian                        Language = 62   // Bulgarian
	Language_Buriat                           Language = 60   // Buriat
	Language_Burmese                          Language = 63   // Burmese
	Language_Caddo                            Language = 65   // Caddo
	Language_CajunFrench                      Language = 2311 // Cajun French
	Language_Catalan                          Language = 68   // Catalan
	Language_CaucasianLanguages               Language = 69   // Caucasian languages
	Language_Cebuano                          Language = 70   // Cebuano
	Language_Celtiberian                      Language = 7217 // Celtiberian
	Language_CelticLanguages                  Language = 71   // Celtic languages
	Language_CentralAmericanIndianLanguages   Language = 66   // Central American Indian languages
	Language_CentralOkinawan                  Language = 5809 // Central Okinawan
	Language_CentralYupik                     Language = 2243 // Central Yupik
	Language_Chagatai                         Language = 75   // Chagatai
	Language_ChamicLanguages                  Language = 86   // Chamic languages
	Language_Chamorro                         Language = 72   // Chamorro
	Language_Chechen                          Language = 74   // Chechen
	Language_Cherokee                         Language = 82   // Cherokee
	Language_Cheyenne                         Language = 85   // Cheyenne
	Language_Chibcha                          Language = 73   // Chibcha
	Language_Chichewa                         Language = 313  // Chichewa
	Language_Chinese                          Language = 76   // Chinese
	Language_ChinookJargon                    Language = 79   // Chinook jargon
	Language_Chipewyan                        Language = 81   // Chipewyan
	Language_Choctaw                          Language = 80   // Choctaw
	Language_ChurchSlavic                     Language = 83   // Church Slavic
	Language_Chuukese                         Language = 77   // Chuukese
	Language_Chuvash                          Language = 84   // Chuvash
	Language_ClassicalNewari                  Language = 312  // Classical Newari
	Language_ClassicalSyriac                  Language = 481  // Classical Syriac
	Language_Coptic                           Language = 87   // Coptic
	Language_Cornish                          Language = 88   // Cornish
	Language_Corsican                         Language = 89   // Corsican
	Language_Cree                             Language = 93   // Cree
	Language_Creek                            Language = 286  // Creek
	Language_CreolesAndPidgins                Language = 95   // Creoles and pidgins
	Language_CreolesAndPidginsEnglishBased    Language = 90   // Creoles and pidgins, English based
	Language_CreolesAndPidginsFrenchBased     Language = 91   // Creoles and pidgins, French-based
	Language_CreolesAndPidginsPortugueseBased Language = 92   // Creoles and pidgins, Portuguese-based
	Language_CrimeanTatar                     Language = 94   // Crimean Tatar
	Language_Croatian                         Language = 366  // Croatian
	Language_CuneiformLuwian                  Language = 7303 // Cuneiform Luwian
	Language_CushiticLanguages                Language = 97   // Cushitic languages
	Language_Czech                            Language = 98   // Czech
	Language_Dakota                           Language = 99   // Dakota
	Language_Danish                           Language = 100  // Danish
	Language_Dargwa                           Language = 101  // Dargwa
	Language_Delaware                         Language = 103  // Delaware
	Language_Dinka                            Language = 106  // Dinka
	Language_Divehi                           Language = 107  // Divehi
	Language_Dogri                            Language = 108  // Dogri
	Language_Dogrib                           Language = 105  // Dogrib
	Language_DravidianLanguages               Language = 109  // Dravidian languages
	Language_Duala                            Language = 111  // Duala
	Language_Dutch                            Language = 113  // Dutch
	Language_DutchMiddle                      Language = 112  // Dutch, Middle (ca.1050-1350)
	Language_Dyula                            Language = 114  // Dyula
	Language_Dzongkha                         Language = 115  // Dzongkha
	Language_EasternArrernte                  Language = 584  // Eastern Arrernte
	Language_Efik                             Language = 116  // Efik
	Language_EgyptianAncient                  Language = 117  // Egyptian (Ancient)
	Language_Ekajuk                           Language = 118  // Ekajuk
	Language_Elamite                          Language = 119  // Elamite
	Language_English                          Language = 120  // English
	Language_EnglishMiddle                    Language = 121  // English, Middle (1100-1500)
	Language_EnglishOld                       Language = 16   // English, Old (ca.450-1100)
	Language_Erzya                            Language = 290  // Erzya
	Language_Esperanto                        Language = 122  // Esperanto
	Language_Estonian                         Language = 123  // Estonian
	Language_Ewe                              Language = 124  // Ewe
	Language_Ewondo                           Language = 125  // Ewondo
	Language_Fang                             Language = 126  // Fang
	Language_Fanti                            Language = 128  // Fanti
	Language_Faroese                          Language = 127  // Faroese
	Language_Fijian                           Language = 129  // Fijian
	Language_Filipino                         Language = 130  // Filipino
	Language_Finnish                          Language = 131  // Finnish
	Language_FinnoUgrianLanguages             Language = 132  // Finno-Ugrian languages
	Language_Fon                              Language = 133  // Fon
	Language_French                           Language = 134  // French
	Language_FrenchMiddle                     Language = 135  // French, Middle (ca.1400-1600)
	Language_FrenchOld                        Language = 136  // French, Old (842-ca.1400)
	Language_FrisianEastern                   Language = 485  // Frisian, Eastern
	Language_FrisianNorthern                  Language = 484  // Frisian, Northern
	Language_FrisianWestern                   Language = 137  // Frisian, Western
	Language_Friulian                         Language = 139  // Friulian
	Language_Fulah                            Language = 138  // Fulah
	Language_Ga                               Language = 140  // Ga
	Language_GalibiCarib                      Language = 67   // Galibi Carib
	Language_Galician                         Language = 150  // Galician
	Language_Ganda                            Language = 249  // Ganda
	Language_Garifuna                         Language = 1591 // Garifuna
	Language_Gayo                             Language = 141  // Gayo
	Language_Gbaya                            Language = 142  // Gbaya
	Language_Geez                             Language = 146  // Geez
	Language_Georgian                         Language = 144  // Georgian
	Language_German                           Language = 145  // German
	Language_GermanLow                        Language = 299  // German, Low
	Language_GermanMiddleHigh                 Language = 152  // German, Middle High (ca.1050-1500)
	Language_GermanOldHigh                    Language = 153  // German, Old High (ca.750-1050)
	Language_GermanSwiss                      Language = 476  // German, Swiss
	Language_GermanicLanguages                Language = 143  // Germanic languages
	Language_Gilbertese                       Language = 147  // Gilbertese
	Language_Gondi                            Language = 154  // Gondi
	Language_Gorontalo                        Language = 155  // Gorontalo
	Language_Gothic                           Language = 156  // Gothic
	Language_Grebo                            Language = 157  // Grebo
	Language_Greek                            Language = 159  // Greek
	Language_GreekAncient                     Language = 158  // Greek, Ancient
	Language_Greenlandic                      Language = 204  // Greenlandic
	Language_Gronings                         Language = 2534 // Gronings
	Language_Guarani                          Language = 160  // Guarani
	Language_Gujarati                         Language = 161  // Gujarati
	Language_Gumatj                           Language = 2511 // Gumatj
	Language_Gupapuyngu                       Language = 2581 // Gupapuyngu
	Language_GuyaneseCreoleEnglish            Language = 2638 // Guyanese Creole English
	Language_Gwichin                          Language = 162  // Gwich'in
	Language_Haida                            Language = 163  // Haida
	Language_HaitianCreole                    Language = 164  // Haitian Creole
	Language_Hausa                            Language = 165  // Hausa
	Language_Hawaiian                         Language = 166  // Hawaiian
	Language_Hebrew                           Language = 167  // Hebrew
	Language_Herero                           Language = 168  // Herero
	Language_Hiligaynon                       Language = 169  // Hiligaynon
	Language_HimachaliLanguages               Language = 170  // Himachali languages
	Language_Hindi                            Language = 171  // Hindi
	Language_HiriMotu                         Language = 174  // Hiri Motu
	Language_Hittite                          Language = 172  // Hittite
	Language_Hmong                            Language = 173  // Hmong
	Language_Hungarian                        Language = 176  // Hungarian
	Language_Hupa                             Language = 177  // Hupa
	Language_Iban                             Language = 178  // Iban
	Language_Icelandic                        Language = 180  // Icelandic
	Language_Ido                              Language = 181  // Ido
	Language_Igbo                             Language = 179  // Igbo
	Language_IjoLanguages                     Language = 183  // Ijo languages
	Language_Iloko                            Language = 186  // Iloko
	Language_IndicLanguages                   Language = 188  // Indic languages
	Language_IndoEuropeanLanguages            Language = 190  // Indo-European languages
	Language_Indonesian                       Language = 189  // Indonesian
	Language_Ingrian                          Language = 2967 // Ingrian
	Language_Ingush                           Language = 191  // Ingush
	Language_Innu                             Language = 4369 // Innu
	Language_Interlingua                      Language = 187  // Interlingua
	Language_Interlingue                      Language = 185  // Interlingue
	Language_Inuktitut                        Language = 184  // Inuktitut
	Language_Inupiaq                          Language = 192  // Inupiaq
	Language_IranianLanguages                 Language = 193  // Iranian languages
	Language_Irish                            Language = 149  // Irish
	Language_IrishMiddle                      Language = 270  // Irish, Middle (900-1200)
	Language_IrishOld                         Language = 369  // Irish, Old (to 900)
	Language_IroquoianLanguages               Language = 194  // Iroquoian languages
	Language_Italian                          Language = 195  // Italian
	Language_JamaicanCreoleEnglish            Language = 2980 // Jamaican Creole English
	Language_Japanese                         Language = 198  // Japanese
	Language_Javanese                         Language = 196  // Javanese
	Language_JewishBabylonianAramaic          Language = 6526 // Jewish Babylonian Aramaic (ca. 200-1200 CE)
	Language_JudeoArabic                      Language = 200  // Judeo-Arabic
	Language_JudeoPersian                     Language = 199  // Judeo-Persian
	Language_Kabardian                        Language = 212  // Kabardian
	Language_Kabuverdianu                     Language = 3185 // Kabuverdianu
	Language_Kabyle                           Language = 202  // Kabyle
	Language_Kachin                           Language = 203  // Kachin
	Language_Kalmyk                           Language = 459  // Kalmyk
	Language_Kamba                            Language = 205  // Kamba
	Language_Kannada                          Language = 206  // Kannada
	Language_Kanuri                           Language = 209  // Kanuri
	Language_KaraKalpak                       Language = 201  // Kara-Kalpak
	Language_KarachayBalkar                   Language = 227  // Karachay-Balkar
	Language_Karelian                         Language = 477  // Karelian
	Language_KarenLanguages                   Language = 207  // Karen languages
	Language_Kashmiri                         Language = 208  // Kashmiri
	Language_Kashubian                        Language = 96   // Kashubian
	Language_Kawi                             Language = 210  // Kawi
	Language_Kazakh                           Language = 211  // Kazakh
	Language_Khanty                           Language = 3137 // Khanty
	Language_Khasi                            Language = 213  // Khasi
	Language_KhmerCentral                     Language = 215  // Khmer, Central
	Language_KhoisanLanguages                 Language = 214  // Khoisan languages
	Language_Khotanese                        Language = 216  // Khotanese
	Language_Kikuyu                           Language = 217  // Kikuyu
	Language_Kimbundu                         Language = 220  // Kimbundu
	Language_Kinyarwanda                      Language = 218  // Kinyarwanda
	Language_Kirghiz                          Language = 219  // Kirghiz
	Language_Klingon                          Language = 421  // Klingon
	Language_Kolsch                           Language = 3529 // Kölsch
	Language_Komi                             Language = 222  // Komi
	Language_Kongo                            Language = 223  // Kongo
	Language_Konkani                          Language = 221  // Konkani
	Language_Korean                           Language = 224  // Korean
	Language_Kosraean                         Language = 225  // Kosraean
	Language_Kpelle                           Language = 226  // Kpelle
	Language_KruLanguages                     Language = 228  // Kru languages
	Language_Kuanyama                         Language = 230  // Kuanyama
	Language_Kumyk                            Language = 231  // Kumyk
	Language_Kunigami                         Language = 7421 // Kunigami
	Language_Kurdish                          Language = 232  // Kurdish
	Language_Kurukh                           Language = 229  // Kurukh
	Language_Kutenai                          Language = 233  // Kutenai
	Language_Ladin                            Language = 3885 // Ladin
	Language_Ladino                           Language = 234  // Ladino
	Language_Lahnda                           Language = 235  // Lahnda
	Language_Lakota                           Language = 3880 // Lakota
	Language_Lamba                            Language = 236  // Lamba
	Language_LandDayakLanguages               Language = 102  // Land Dayak languages
	Language_Lao                              Language = 237  // Lao
	Language_Latin                            Language = 238  // Latin
	Language_Latvian                          Language = 239  // Latvian
	Language_Laz                              Language = 4039 // Laz
	Language_Lezghian                         Language = 240  // Lezghian
	Language_Limburgish                       Language = 241  // Limburgish
	Language_Lingala                          Language = 242  // Lingala
	Language_Lithuanian                       Language = 243  // Lithuanian
	Language_Liv                              Language = 3858 // Liv
	Language_Lojban                           Language = 197  // Lojban
	Language_Lozi                             Language = 245  // Lozi
	Language_LubaKatanga                      Language = 248  // Luba-Katanga
	Language_LubaLulua                        Language = 247  // Luba-Lulua
	Language_Luiseno                          Language = 250  // Luiseno
	Language_Lunda                            Language = 251  // Lunda
	Language_Luo                              Language = 252  // Luo
	Language_Lushai                           Language = 253  // Lushai
	Language_Luxembourgish                    Language = 246  // Luxembourgish
	Language_Luyia                            Language = 4018 // Luyia
	Language_Macedonian                       Language = 254  // Macedonian
	Language_Madurese                         Language = 255  // Madurese
	Language_Magahi                           Language = 256  // Magahi
	Language_Maithili                         Language = 258  // Maithili
	Language_Makasar                          Language = 259  // Makasar
	Language_Malagasy                         Language = 275  // Malagasy
	Language_Malay                            Language = 266  // Malay
	Language_Malayalam                        Language = 260  // Malayalam
	Language_Maltese                          Language = 276  // Maltese
	Language_Manchu                           Language = 277  // Manchu
	Language_Mandar                           Language = 268  // Mandar
	Language_MandarinChinese                  Language = 1739 // Mandarin Chinese
	Language_Mandingo                         Language = 261  // Mandingo
	Language_Manipuri                         Language = 278  // Manipuri
	Language_ManoboLanguages                  Language = 279  // Manobo languages
	Language_Mansi                            Language = 4358 // Mansi
	Language_Manx                             Language = 151  // Manx
	Language_Maori                            Language = 262  // Maori
	Language_Mapudungun                       Language = 22   // Mapudungun
	Language_Marathi                          Language = 264  // Marathi
	Language_Mari                             Language = 78   // Mari
	Language_Marshallese                      Language = 257  // Marshallese
	Language_Marwari                          Language = 288  // Marwari
	Language_Masai                            Language = 265  // Masai
	Language_MayanLanguages                   Language = 289  // Mayan languages
	Language_Mende                            Language = 269  // Mende
	Language_Mikmaq                           Language = 271  // Mi'kmaq
	Language_MinNanChinese                    Language = 4663 // Min Nan Chinese
	Language_MinaCameroon                     Language = 2735 // Mina (Cameroon)
	Language_Minangkabau                      Language = 272  // Minangkabau
	Language_Mirandese                        Language = 287  // Mirandese
	Language_Miyako                           Language = 4538 // Miyako
	Language_Mohawk                           Language = 280  // Mohawk
	Language_Moksha                           Language = 267  // Moksha
	Language_Moldavian                        Language = 281  // Moldavian
	Language_MonKhmerLanguages                Language = 274  // Mon-Khmer languages
	Language_Mongo                            Language = 244  // Mongo
	Language_Mongolian                        Language = 282  // Mongolian
	Language_Mossi                            Language = 283  // Mossi
	Language_MultipleLanguages                Language = 284  // [Multiple languages]
	Language_MundaLanguages                   Language = 285  // Munda languages
	Language_NahuatlLanguages                 Language = 291  // Nahuatl languages
	Language_Nauru                            Language = 294  // Nauru
	Language_Navajo                           Language = 295  // Navajo
	Language_NdebeleNorth                     Language = 297  // Ndebele, North
	Language_NdebeleSouth                     Language = 296  // Ndebele, South
	Language_Ndonga                           Language = 298  // Ndonga
	Language_Neapolitan                       Language = 293  // Neapolitan
	Language_NepalBhasa                       Language = 301  // Nepal Bhasa
	Language_Nepali                           Language = 300  // Nepali
	Language_Nhengatu                         Language = 7618 // Nhengatu
	Language_Nias                             Language = 302  // Nias
	Language_NigerKordofanianLanguages        Language = 303  // Niger-Kordofanian languages
	Language_NiloSaharanLanguages             Language = 396  // Nilo-Saharan languages
	Language_Niuean                           Language = 304  // Niuean
	Language_Nko                              Language = 478  // N'Ko
	Language_NoLinguisticContent              Language = 486  // No linguistic content
	Language_Nogai                            Language = 307  // Nogai
	Language_Norn                             Language = 4991 // Norn
	Language_NorseOld                         Language = 308  // Norse, Old
	Language_NorthAmericanIndianLanguages     Language = 292  // North American Indian languages
	Language_Norwegian                        Language = 309  // Norwegian
	Language_NorwegianBokmal                  Language = 306  // Norwegian Bokmål
	Language_NorwegianNynorsk                 Language = 305  // Norwegian Nynorsk
	Language_NubianLanguages                  Language = 311  // Nubian languages
	Language_Nyamwezi                         Language = 314  // Nyamwezi
	Language_Nyankole                         Language = 315  // Nyankole
	Language_Nyoro                            Language = 316  // Nyoro
	Language_Nzima                            Language = 317  // Nzima
	Language_Occitan                          Language = 318  // Occitan
	Language_OfficialAramaic                  Language = 19   // Official Aramaic (700-300 BCE)
	Language_Ojibwa                           Language = 319  // Ojibwa
	Language_Oriya                            Language = 320  // Oriya
	Language_Oromo                            Language = 321  // Oromo
	Language_Osage                            Language = 322  // Osage
	Language_Ossetian                         Language = 323  // Ossetian
	Language_OtomianLanguages                 Language = 325  // Otomian languages
	Language_Pahlavi                          Language = 328  // Pahlavi
	Language_Palauan                          Language = 332  // Palauan
	Language_Pali                             Language = 337  // Pali
	Language_Pampanga                         Language = 329  // Pampanga
	Language_Pangasinan                       Language = 327  // Pangasinan
	Language_Papiamento                       Language = 331  // Papiamento
	Language_PapuanLanguages                  Language = 326  // Papuan languages
	Language_Persian                          Language = 334  // Persian
	Language_PersianOld                       Language = 333  // Persian, Old (ca.600-400 B.C.)
	Language_PhilippineLanguages              Language = 335  // Philippine languages
	Language_Phoenician                       Language = 336  // Phoenician
	Language_Pitjantjatjara                   Language = 5402 // Pitjantjatjara
	Language_Pohnpeian                        Language = 339  // Pohnpeian
	Language_Polish                           Language = 338  // Polish
	Language_Portuguese                       Language = 340  // Portuguese
	Language_PrakritLanguages                 Language = 341  // Prakrit languages
	Language_ProvencalOld                     Language = 342  // Provençal, Old (to 1500)
	Language_Punjabi                          Language = 330  // Punjabi
	Language_Pushto                           Language = 343  // Pushto
	Language_Puyuma                           Language = 5603 // Puyuma
	Language_Quechua                          Language = 344  // Quechua
	Language_Quenya                           Language = 5662 // Quenya
	Language_Rajasthani                       Language = 345  // Rajasthani
	Language_Rapanui                          Language = 346  // Rapanui
	Language_Rarotongan                       Language = 347  // Rarotongan
	Language_ReunionCreoleFrench              Language = 5690 // Réunion Creole French
	Language_RomanceLanguages                 Language = 348  // Romance languages
	Language_Romanian                         Language = 351  // Romanian
	Language_Romansh                          Language = 349  // Romansh
	Language_Romany                           Language = 350  // Romany
	Language_Rundi                            Language = 352  // Rundi
	Language_Russian                          Language = 353  // Russian
	Language_Rusyn                            Language = 5790 // Rusyn
	Language_SalishanLanguages                Language = 358  // Salishan languages
	Language_SamaritanAramaic                 Language = 359  // Samaritan Aramaic
	Language_SamiInari                        Language = 383  // Sami, Inari
	Language_SamiLanguages                    Language = 381  // Sami languages
	Language_SamiLule                         Language = 382  // Sami, Lule
	Language_SamiNorthern                     Language = 380  // Sami, Northern
	Language_SamiSkolt                        Language = 385  // Sami, Skolt
	Language_SamiSouthern                     Language = 379  // Sami, Southern
	Language_Samoan                           Language = 384  // Samoan
	Language_Sandawe                          Language = 354  // Sandawe
	Language_Sango                            Language = 355  // Sango
	Language_Sanskrit                         Language = 360  // Sanskrit
	Language_Santali                          Language = 362  // Santali
	Language_Sardinian                        Language = 394  // Sardinian
	Language_Sasak                            Language = 361  // Sasak
	Language_Scots                            Language = 365  // Scots
	Language_ScottishGaelic                   Language = 148  // Scottish Gaelic
	Language_Selkup                           Language = 367  // Selkup
	Language_SemiticLanguages                 Language = 368  // Semitic languages
	Language_Serbian                          Language = 363  // Serbian
	Language_Serer                            Language = 395  // Serer
	Language_Shan                             Language = 371  // Shan
	Language_Shona                            Language = 386  // Shona
	Language_SichuanYi                        Language = 182  // Sichuan Yi
	Language_Sicilian                         Language = 364  // Sicilian
	Language_Sidamo                           Language = 372  // Sidamo
	Language_SignLanguages                    Language = 370  // Sign Languages
	Language_Siksika                          Language = 54   // Siksika
	Language_Sindarin                         Language = 5989 // Sindarin
	Language_Sindhi                           Language = 387  // Sindhi
	Language_Sinhala                          Language = 373  // Sinhala
	Language_SinoTibetanLanguages             Language = 375  // Sino-Tibetan languages
	Language_SiouanLanguages                  Language = 374  // Siouan languages
	Language_SlaveAthapascan                  Language = 104  // Slave (Athapascan)
	Language_SlavicLanguages                  Language = 376  // Slavic languages
	Language_Slovak                           Language = 377  // Slovak
	Language_Slovenian                        Language = 378  // Slovenian
	Language_Sogdian                          Language = 389  // Sogdian
	Language_Somali                           Language = 390  // Somali
	Language_SonghaiLanguages                 Language = 391  // Songhai languages
	Language_Soninke                          Language = 388  // Soninke
	Language_SorbianLanguages                 Language = 456  // Sorbian languages
	Language_SorbianLower                     Language = 110  // Sorbian, Lower
	Language_SorbianUpper                     Language = 175  // Sorbian, Upper
	Language_SothoNorthern                    Language = 310  // Sotho, Northern
	Language_SothoSouthern                    Language = 392  // Sotho, Southern
	Language_SouthAmericanIndianLanguages     Language = 357  // South American Indian languages
	Language_SouthernAltai                    Language = 474  // Southern Altai
	Language_SouthernKiwai                    Language = 3309 // Southern Kiwai
	Language_Spanish                          Language = 393  // Spanish
	Language_SrananTongo                      Language = 480  // Sranan Tongo
	Language_Sukuma                           Language = 398  // Sukuma
	Language_Sumerian                         Language = 401  // Sumerian
	Language_Sundanese                        Language = 399  // Sundanese
	Language_Susu                             Language = 400  // Susu
	Language_Svan                             Language = 6216 // Svan
	Language_Swahili                          Language = 402  // Swahili
	Language_Swati                            Language = 397  // Swati
	Language_Swedish                          Language = 403  // Swedish
	Language_Syriac                           Language = 404  // Syriac
	Language_Tagalog                          Language = 414  // Tagalog
	Language_Tahitian                         Language = 405  // Tahitian
	Language_TaiLanguages                     Language = 406  // Tai languages
	Language_Tajik                            Language = 413  // Tajik
	Language_Tamashek                         Language = 423  // Tamashek
	Language_Tamil                            Language = 407  // Tamil
	Language_Tatar                            Language = 408  // Tatar
	Language_Telugu                           Language = 409  // Telugu
	Language_Tereno                           Language = 411  // Tereno
	Language_Tetum                            Language = 412  // Tetum
	Language_Thai                             Language = 415  // Thai
	Language_Tibetan                          Language = 416  // Tibetan
	Language_Tigre                            Language = 417  // Tigre
	Language_Tigrinya                         Language = 418  // Tigrinya
	Language_Timne                            Language = 410  // Timne
	Language_Tiv                              Language = 419  // Tiv
	Language_Tlingit                          Language = 422  // Tlingit
	Language_TokPisin                         Language = 426  // Tok Pisin
	Language_Tokelau                          Language = 420  // Tokelau
	Language_TokiPona                         Language = 7845 // Toki Pona
	Language_TongaNyasa                       Language = 424  // Tonga (Nyasa)
	Language_TongaTongaIslands                Language = 425  // Tonga (Tonga Islands)
	Language_Tsimshian                        Language = 427  // Tsimshian
	Language_Tsonga                           Language = 429  // Tsonga
	Language_Tswana                           Language = 428  // Tswana
	Language_Tumbuka                          Language = 431  // Tumbuka
	Language_TupiLanguages                    Language = 432  // Tupi languages
	Language_Turkish                          Language = 433  // Turkish
	Language_TurkishOttoman                   Language = 324  // Turkish, Ottoman
	Language_Turkmen                          Language = 430  // Turkmen
	Language_Tuvalu                           Language = 435  // Tuvalu
	Language_Tuvinian                         Language = 437  // Tuvinian
	Language_Twi                              Language = 436  // Twi
	Language_Udmurt                           Language = 438  // Udmurt
	Language_Ugaritic                         Language = 439  // Ugaritic
	Language_Uighur                           Language = 440  // Uighur
	Language_Ukrainian                        Language = 441  // Ukrainian
	Language_Umbundu                          Language = 442  // Umbundu
	Language_UmeSami                          Language = 5995 // Ume Sami
	Language_UncodedLanguages                 Language = 273  // Uncoded languages
	Language_Undetermined                     Language = 443  // Undetermined
	Language_Urdu                             Language = 444  // Urdu
	Language_Uzbek                            Language = 445  // Uzbek
	Language_Vai                              Language = 446  // Vai
	Language_Venda                            Language = 447  // Venda
	Language_Veps                             Language = 6913 // Veps
	Language_Vietnamese                       Language = 448  // Vietnamese
	Language_Volapuk                          Language = 449  // Volapük
	Language_Voro                             Language = 6966 // Võro
	Language_Votic                            Language = 450  // Votic
	Language_WakashanLanguages                Language = 451  // Wakashan languages
	Language_Walloon                          Language = 457  // Walloon
	Language_Walser                           Language = 6981 // Walser
	Language_Waray                            Language = 453  // Waray
	Language_Warlpiri                         Language = 7009 // Warlpiri
	Language_Washo                            Language = 454  // Washo
	Language_Welsh                            Language = 455  // Welsh
	Language_WesternArrarnta                  Language = 820  // Western Arrarnta
	Language_Wolaitta                         Language = 452  // Wolaitta
	Language_Wolof                            Language = 458  // Wolof
	Language_Wyandot                          Language = 7181 // Wyandot
	Language_Xhosa                            Language = 460  // Xhosa
	Language_Yaeyama                          Language = 5808 // Yaeyama
	Language_Yakut                            Language = 356  // Yakut
	Language_Yao                              Language = 461  // Yao
	Language_Yapese                           Language = 462  // Yapese
	Language_Yiddish                          Language = 463  // Yiddish
	Language_Yoron                            Language = 7602 // Yoron
	Language_Yoruba                           Language = 464  // Yoruba
	Language_Yucateco                         Language = 7636 // Yucateco
	Language_YueChinese                       Language = 7640 // Yue Chinese
	Language_YupikLanguages                   Language = 465  // Yupik languages
	Language_ZandeLanguages                   Language = 469  // Zande languages
	Language_Zapotec                          Language = 466  // Zapotec
	Language_Zarma                            Language = 2009 // Zarma
	Language_Zaza                             Language = 483  // Zaza
	Language_Zenaga                           Language = 467  // Zenaga
	Language_Zhuang                           Language = 468  // Zhuang
	Language_Zulu                             Language = 470  // Zulu
	Language_Zuni                             Language = 471  // Zuni
)

type LinkAttributeType added in v0.1.3

type LinkAttributeType int

LinkAttributeType is an ID describing an attribute associated with a link between two MusicBrainz entities.

const (
	// This attribute describes if a particular role was considered normal or
	// additional.
	LinkAttributeType_Additional LinkAttributeType = 1
	// This attribute describes if a particular collaboration was considered equal
	// or minor.
	LinkAttributeType_Minor LinkAttributeType = 2
	// This attribute describes a type of vocal performance.
	LinkAttributeType_Vocal LinkAttributeType = 3
	// Lead or solo vocal
	LinkAttributeType_LeadVocals LinkAttributeType = 4
	// choir vocals
	LinkAttributeType_ChoirVocals LinkAttributeType = 13
	// This attribute describes the possible instruments that can be captured as
	// part of a performance.
	// <br/>
	// Can't find an instrument? <a
	// href="http://wiki.musicbrainz.org/Advanced_Instrument_Tree">Request it!</a>
	LinkAttributeType_Instrument LinkAttributeType = 14
	LinkAttributeType_Horn       LinkAttributeType = 40
	LinkAttributeType_Trombone   LinkAttributeType = 46
	LinkAttributeType_Strings    LinkAttributeType = 69
	LinkAttributeType_Guitars    LinkAttributeType = 75
	LinkAttributeType_Violin     LinkAttributeType = 86
	LinkAttributeType_Lyre       LinkAttributeType = 109
	LinkAttributeType_Zither     LinkAttributeType = 123
	LinkAttributeType_Drums      LinkAttributeType = 125
	// This attribute indicates a 'guest' performance where the performer is not
	// usually part of the band.
	LinkAttributeType_Guest    LinkAttributeType = 194
	LinkAttributeType_Guitar   LinkAttributeType = 229
	LinkAttributeType_Keyboard LinkAttributeType = 232
	// Bass (modern, typically electrical, but not always)
	LinkAttributeType_BassGuitar               LinkAttributeType = 277
	LinkAttributeType_PluckedStringInstruments LinkAttributeType = 302
	LinkAttributeType_Tambourine               LinkAttributeType = 333
	// co-[role]
	LinkAttributeType_Co LinkAttributeType = 424
	// This attribute is to be used if the role was fulfilled in an executive
	// capacity.
	LinkAttributeType_Executive LinkAttributeType = 425
	// This attribute indicates a version with satirical, ironic, or otherwise
	// humorous intent. Parodies in most cases have altered lyrics.
	LinkAttributeType_Parody LinkAttributeType = 511
	// Indicates a bonus disc
	LinkAttributeType_Bonus LinkAttributeType = 516
	// This attribute indicates a version with the lyrics in a different language
	// than the original.
	LinkAttributeType_Translated LinkAttributeType = 517
	// This attribute indicates that an artist was a founding member of a group
	// artist.
	LinkAttributeType_Founder LinkAttributeType = 525
	// This typically indicates someone who is either a first-timer, or less
	// experienced, and who is working under the direction of someone who is more
	// experienced.
	LinkAttributeType_Assistant LinkAttributeType = 526
	// This typically indicates someone who is less experienced and who is working
	// under the direction of someone who is more experienced.
	LinkAttributeType_Associate LinkAttributeType = 527
	// Indicates that one entity is a cover of another entity
	LinkAttributeType_Cover   LinkAttributeType = 567
	LinkAttributeType_Medium  LinkAttributeType = 568
	LinkAttributeType_Medium2 LinkAttributeType = 569
	LinkAttributeType_Medium1 LinkAttributeType = 570
	LinkAttributeType_Medium3 LinkAttributeType = 571
	LinkAttributeType_Medium9 LinkAttributeType = 572
	LinkAttributeType_Medium8 LinkAttributeType = 573
	LinkAttributeType_Medium7 LinkAttributeType = 574
	LinkAttributeType_Medium6 LinkAttributeType = 575
	LinkAttributeType_Medium5 LinkAttributeType = 576
	LinkAttributeType_Medium4 LinkAttributeType = 577
	// This indicates that the recording is not of the entire work, e.g. excerpts
	// from, conclusion of, etc.
	LinkAttributeType_Partial LinkAttributeType = 579
	// This indicates that the recording is of a live performance.
	LinkAttributeType_Live LinkAttributeType = 578
	// For works that have lyrics, this indicates that those lyrics are not
	// relevant to this recording. Examples include instrumental arrangements, or
	// "beats" from hip-hop songs which may be reused with different lyrics.
	LinkAttributeType_Instrumental LinkAttributeType = 580
	// This attribute indicates that the streamable content is not audio but video.
	LinkAttributeType_Video LinkAttributeType = 582
	// This should be used when an artist is credited in liner notes or a similar
	// source as performing a solo part.
	LinkAttributeType_Solo LinkAttributeType = 596
	// This title indicates that a conductor has at least partially retired, and no
	// longer plays an active role with the group.
	LinkAttributeType_Emeritus LinkAttributeType = 617
	// This indicates that the group had multiple conductors who were led by this
	// conductor. This may be indicated by either the title of "principal
	// conductor" or "first conductor".
	LinkAttributeType_Principal LinkAttributeType = 618
	// variously sized drums
	LinkAttributeType_OtherDrums LinkAttributeType = 700
	// This indicates that the recording is of a medley, of which the work is one
	// part.
	LinkAttributeType_Medley LinkAttributeType = 750
	// This attribute indicates the number of a work in a series.
	LinkAttributeType_Number LinkAttributeType = 788
	// Local time a band's performance is scheduled to start, formatted HH:MM.
	LinkAttributeType_Time LinkAttributeType = 830
)

type LinkType

type LinkType int

LinkType is an ID describing a link between two MusicBrainz entities. It sadly doesn't appear to enumerate all possible values. There are 170-ish additional link types with translations in po/relationships.pot, many of which don't appear to be referenced anywhere else in the server repo.

const (
	// This is used to link an artist to its corresponding page on Allmusic.
	LinkType_AllMusic_Artist_URL LinkType = 283
	// This is used to link a genre to its corresponding page on Allmusic.
	LinkType_AllMusic_Genre_URL LinkType = 1093
	// This is used to link a recording to its corresponding page on Allmusic.
	LinkType_AllMusic_Recording_URL LinkType = 285
	// This is used to link a release group to its corresponding page on Allmusic.
	LinkType_AllMusic_ReleaseGroup_URL LinkType = 284
	// This is used to link a release to its corresponding page on Allmusic.
	LinkType_AllMusic_Release_URL LinkType = 755
	// This is used to link a work to its corresponding page on Allmusic.
	LinkType_AllMusic_URL_Work LinkType = 286
	// This links a MusicBrainz release to the equivalent entry at Amazon and will
	// often provide cover art if there is no cover art in the <a
	// href="/doc/Cover_Art_Archive">Cover Art Archive</a>.
	LinkType_AmazonASIN_Release_URL LinkType = 77
	// Designates that a work is or was the anthem for an area
	LinkType_Anthem_Area_Work LinkType = 357
	// Links a recording to the place it was arranged at.
	LinkType_ArrangedAt_Place_Recording LinkType = 866
	// Links a release to the place it was arranged at.
	LinkType_ArrangedAt_Place_Release LinkType = 865
	// Links a recording to the area it was arranged in. Use only when the place is
	// unknown!
	LinkType_ArrangedIn_Area_Recording LinkType = 864
	// Links a release to the area it was arranged in. Use only when the place is
	// unknown!
	LinkType_ArrangedIn_Area_Release LinkType = 863
	// This links two <a href="/doc/Work" title="Work">works</a> where one work is
	// an arrangement of the other.
	LinkType_Arrangement_Work_Work LinkType = 350
	// This indicates the artist who arranged a tune into a form suitable for
	// performance. 'Arrangement' is used as a catch-all term for all processes
	// that turn a composition into a form that can be played by a specific type of
	// ensemble.
	LinkType_Arranger_Artist_Recording LinkType = 297
	// This indicates the artist who arranged a tune into a form suitable for
	// performance. 'Arrangement' is used as a catch-all term for all processes
	// that turn a composition into a form that can be played by a specific type of
	// ensemble.
	LinkType_Arranger_Artist_Release LinkType = 295
	// This indicates the artist who arranged a tune into a form suitable for
	// performance. 'Arrangement' is used as a catch-all term for all processes
	// that turn a composition into a form that can be played by a specific type of
	// ensemble.
	LinkType_Arranger_Artist_Work LinkType = 293
	// This indicates that a person or agency did the art direction for the
	// recording.
	LinkType_ArtDirection_Artist_Recording LinkType = 137
	// This indicates that a person or agency did the art direction for the
	// release.
	LinkType_ArtDirection_Artist_Release LinkType = 18
	// This indicates a person or agency which is responsible for talent scouting,
	// overseeing the artistic development of an artist, and acting as liaison
	// between artists and the labels.
	LinkType_ArtistsAndRepertoire_Artist_Recording LinkType = 135
	// This indicates a person or agency which is responsible for talent scouting,
	// overseeing the artistic development of an artist, and acting as liaison
	// between artists and the labels.
	LinkType_ArtistsAndRepertoire_Artist_ReleaseGroup LinkType = 62
	// This relationship type links instruments to genres they are commonly used
	// in.
	LinkType_AssociatedInstrument_Genre_Instrument LinkType = 1090
	// This describes an engineer involved with the machines used to generate
	// sound, such as effects processors and digital audio equipment used to modify
	// or manipulate sound in either an analogue or digital form.
	LinkType_Audio_Artist_Recording LinkType = 140
	// This describes an engineer involved with the machines used to generate
	// sound, such as effects processors and digital audio equipment used to modify
	// or manipulate sound in either an analogue or digital form.
	LinkType_Audio_Artist_Release LinkType = 31
	// Links a release with an event where it was available. This is intended for
	// event-exclusive releases and/or releases available at events before the
	// official launch date, not for every release in the merchandise stall.
	LinkType_AvailableAt_Event_Release LinkType = 795
	// This links a recording to the balance engineer who engineered it.
	LinkType_Balance_Artist_Recording LinkType = 726
	// This links a release to the balance engineer who engineered it.
	LinkType_Balance_Artist_Release LinkType = 727
	// This links an artist to its page at Bandcamp.
	LinkType_Bandcamp_Artist_URL LinkType = 718
	// This links a genre to its page at Bandcamp.
	LinkType_Bandcamp_Genre_URL LinkType = 1092
	// This links a label to its page at Bandcamp.
	LinkType_Bandcamp_Label_URL LinkType = 719
	// This relationship type links an artist to its corresponding page at
	// Bandsintown.
	LinkType_Bandsintown_Artist_URL LinkType = 862
	// This relationship type links an event to its corresponding page at
	// Bandsintown.
	LinkType_Bandsintown_Event_URL LinkType = 860
	// This relationship type links a place to its corresponding page at
	// Bandsintown.
	LinkType_Bandsintown_Place_URL LinkType = 861
	// This links two <a href="/doc/Work" title="Work">works</a>, where the second
	// work is based on music or text from the first, but isn't directly a revision
	// or an arrangement of it.
	LinkType_BasedOn_Work_Work LinkType = 314
	// This links an artist to that artist's page at <a
	// href="https://www.bbc.co.uk/music">BBC Music</a>.
	LinkType_BbcMusicPage_Artist_URL LinkType = 190
	// This links an artist to an online biography for that artist.
	LinkType_Biography_Artist_URL LinkType = 182
	// This relationship type is used to link an artist to their blog.
	LinkType_Blog_Artist_URL LinkType = 199
	// This relationship type is used to link a label to its blog.
	LinkType_Blog_Label_URL LinkType = 224
	// This relationship type can be used to link a place to its blog
	LinkType_Blog_Place_URL LinkType = 627
	// Points to the BookBrainz page for this artist.
	LinkType_BookBrainz_Artist_URL LinkType = 852
	// Points to the BookBrainz page for this label.
	LinkType_BookBrainz_Label_URL LinkType = 851
	// Points to the BookBrainz page for this release group.
	LinkType_BookBrainz_ReleaseGroup_URL LinkType = 853
	// Points to the BookBrainz page for this release.
	LinkType_BookBrainz_Release_URL LinkType = 850
	// Points to the BookBrainz page for this work.
	LinkType_BookBrainz_URL_Work LinkType = 854
	// This credits a person who was responsible for booking the studio or
	// performance venue where the recording was recorded.
	LinkType_Booking_Artist_Recording LinkType = 134
	// This credits a person who was responsible for booking the studio or
	// performance venue where the release was recorded.
	LinkType_Booking_Artist_Release          LinkType = 23
	LinkType_BusinessAssociation_Label_Label LinkType = 205
	// This links to a catalog or list of records published by the label.
	LinkType_CatalogSite_Label_URL LinkType = 212
	// This relationship is used to link a catalogue work series to a person who
	// was involved in compiling it.
	LinkType_Catalogued_Artist_Series       LinkType = 751
	LinkType_Children_Instrument_Instrument LinkType = 735
	// This indicates the chorus master of a choir which performed on this
	// recording.
	LinkType_ChorusMaster_Artist_Recording LinkType = 152
	// This indicates the chorus master of a choir which performed on this release.
	LinkType_ChorusMaster_Artist_Release LinkType = 53
	// This is used to specify that an <a href="/doc/Artist"
	// title="Artist">artist</a> collaborated on a short-term project, for cases
	// where artist credits can't be used.
	LinkType_Collaboration_Artist_Artist LinkType = 102
	// This indicates that a recording is a compilation of several other
	// recordings. This applies to one long recording that contains multiple songs,
	// one after the other, in which the audio material of the original recordings
	// has not been altered. If the tracks are pitched or blended into each other,
	// the <a href="/relationship/451076df-61cf-46ab-9921-555cab2f050d">DJ-mix
	// relationship type</a> may be more appropriate.
	LinkType_Compilation_Recording_Recording LinkType = 228
	// This indicates the person who selected the tracks and the sequence for a
	// compilation. This applies to one long recording which contains multiple
	// songs, one after the other. If the tracks are pitched or blended into each
	// other, it is more appropriate to credit this person as a <a
	// href="/relationship/28338ee6-d578-485a-bb53-61dbfd7c6545">DJ-mixer</a>.
	LinkType_Compiler_Artist_Recording LinkType = 147
	// This indicates the person who selected the tracks and the sequence for a
	// compilation. If the tracks are pitched or blended into each other, it is
	// more appropriate to credit this person as a <a
	// href="/relationship/9162dedd-790c-446c-838e-240f877dbfe2">DJ-mixer</a>.
	LinkType_Compiler_Artist_Release LinkType = 48
	// This links a group (often an orchestra) to a composer who has a
	// composer-in-residence position with the group.
	LinkType_ComposerInResidence_Artist_Artist LinkType = 855
	// Indicates the composer for this release, i.e. the artist who wrote the music
	// (not necessarily the lyrics).
	LinkType_Composer_Artist_Release LinkType = 55
	// Indicates the composer for this work, i.e. the artist who wrote the music
	// (not necessarily the lyrics).
	LinkType_Composer_Artist_Work       LinkType = 168
	LinkType_Composition_Artist_Release LinkType = 58
	LinkType_Composition_Artist_Work    LinkType = 170
	// This indicates an artist who was the concertmaster/leader for an orchestra
	// or band on this recording.
	LinkType_Concertmaster_Artist_Recording LinkType = 760
	// This indicates an artist who was the concertmaster/leader for an orchestra
	// or band on this release.
	LinkType_Concertmaster_Artist_Release LinkType = 759
	// This indicates that a person is, or was, a conductor for a group.
	LinkType_ConductorPosition_Artist_Artist LinkType = 305
	// Links an event to an artist that was a conductor in it.
	LinkType_Conductor_Artist_Event LinkType = 806
	// This indicates an artist who conducted an orchestra, band or choir on this
	// recording.
	LinkType_Conductor_Artist_Recording LinkType = 151
	// This indicates an artist who conducted an orchestra, band or choir on this
	// release.
	LinkType_Conductor_Artist_Release LinkType = 46
	LinkType_Contract_Artist_Label    LinkType = 119
	// This relationship indicates the artist is the copyright holder for this
	// release.
	LinkType_Copyright_Artist_Release LinkType = 709
	// This relationship indicates the label is the copyright holder for this
	// release.
	LinkType_Copyright_Label_Release LinkType = 708
	// This relationship type is <strong>deprecated</strong>! Please upload covers
	// on the cover art tab for the release and/or add an ASIN
	// relationship.\n\nNote about CD Baby: Many CD Baby releases are also
	// available (usually with bigger covers) on Amazon.com.
	LinkType_CoverArtLink_Release_URL LinkType = 78
	// This relationship type is used to indicate that a release group is a cover
	// version of another release group, i.e. when an artist performs a new
	// rendition of another artist's album.<br/>
	// For individual songs, see the <a
	// href="/relationship/a3005666-a872-32c3-ad06-98af558e99b0">recording-work
	// performance relationship type</a>.
	LinkType_Cover_ReleaseGroup_ReleaseGroup             LinkType = 15
	LinkType_CoversAndVersions_Recording_Recording       LinkType = 233
	LinkType_CoversAndVersions_ReleaseGroup_ReleaseGroup LinkType = 12
	LinkType_CoversAndVersions_Release_Release           LinkType = 4
	// This credits a person or agency who provided some kind of general creative
	// inspiration during the recording of this recording, without actually
	// contributing to the writing or performance.
	LinkType_CreativeDirection_Artist_Recording LinkType = 146
	// This credits a person or agency who provided some kind of general creative
	// inspiration during the recording of this release group, without actually
	// contributing to the writing or performance.
	LinkType_CreativeDirection_Artist_ReleaseGroup LinkType = 63
	// This indicates that an artist was officially employed by a label in a
	// creative position, such as photographer or graphic designer.
	LinkType_CreativePosition_Artist_Label LinkType = 115
	// This links a recording to the relevant crowdfunding project at a
	// crowdfunding site like Kickstarter or Indiegogo.
	LinkType_Crowdfunding_Recording_URL LinkType = 905
	// This links a release to the relevant crowdfunding project at a crowdfunding
	// site like Kickstarter or Indiegogo.
	LinkType_Crowdfunding_Release_URL LinkType = 906
	// This is used to link a <a href="/doc/Mix_Terminology#DJ_mix">DJ-mixed</a>
	// recording to each of the source recordings. See <a
	// href="/relationship/28338ee6-d578-485a-bb53-61dbfd7c6545">DJ-mixer</a> for
	// crediting the person who created the DJ-mix.
	LinkType_DJMix_Recording_Recording LinkType = 227
	// This is used to link a release group containing a <a
	// href="/doc/Mix_Terminology#DJ_mix">DJ-mixed</a> version of a release to the
	// release group containing the source release. See <a
	// href="/relationship/9162dedd-790c-446c-838e-240f877dbfe2">DJ-mixer</a> for
	// crediting the person who created the DJ-mix.
	LinkType_DJMix_ReleaseGroup_ReleaseGroup LinkType = 8
	// This links a release group to an artist it is dedicated to. This is for
	// dedications such as "This album is dedicated to the memory of Artist" - for
	// tribute albums consisting of covers of the artist, use the <a
	// href="/relationship/5e2907db-49ec-4a48-9f11-dfb99d2603ff">tribute
	// relationship</a>.
	LinkType_DedicatedTo_Artist_ReleaseGroup LinkType = 868
	// This indicates the work is dedicated to a specific person. This is most
	// common for classical works, but also exists in other genres to a degree.
	LinkType_Dedication_Artist_Work LinkType = 846
	// derived from
	LinkType_Derivation_Instrument_Instrument LinkType = 737
	// This indicates a person or agency who did design or illustration for the
	// track.
	LinkType_DesignIllustration_Artist_Recording LinkType = 130
	// This indicates a person or agency who did design or illustration for the
	// release.
	LinkType_DesignIllustration_Artist_Release LinkType = 19
	// This link points to a page for a particular release within a discography for
	// an artist or label.
	LinkType_DiscographyEntry_Release_URL LinkType = 288
	// This links an artist to an online discography of their works. The
	// discography should provide a summary of most, if not all, releases by the
	// artist, and be as comprehensive as possible.
	LinkType_DiscographyPage_Artist_URL   LinkType = 184
	LinkType_Discography_Artist_URL       LinkType = 171
	LinkType_Discography_ReleaseGroup_URL LinkType = 88
	// This is used to link the Discogs page for this artist.
	LinkType_Discogs_Artist_URL LinkType = 180
	// This is used to link the Discogs page for this genre/style.
	LinkType_Discogs_Genre_URL LinkType = 1089
	// This is used to link the Discogs page for this label.
	LinkType_Discogs_Label_URL LinkType = 217
	// This is used to link a place to the equivalent entry in Discogs.
	LinkType_Discogs_Place_URL LinkType = 705
	// This is used to link the Discogs page for this release group.
	LinkType_Discogs_ReleaseGroup_URL LinkType = 90
	// This is used to link the Discogs page for this release.
	LinkType_Discogs_Release_URL LinkType = 76
	// This is used to link a series to the equivalent entry in Discogs.
	LinkType_Discogs_Series_URL LinkType = 747
	// This indicates the organization that distributes (or contracts out
	// distribution).
	// This is <strong>not</strong> the same concept as the <a
	// href="/doc/Label">record label</a>.
	LinkType_Distributed_Label_Release LinkType = 361
	// Indicates a webpage where you can download an artist's work for free.
	LinkType_DownloadForFree_Artist_URL LinkType = 177
	// This links a recording to a page where it can be legally downloaded for
	// free.
	LinkType_DownloadForFree_Recording_URL LinkType = 255
	// This links a release to a page where it can be legally downloaded for free.
	LinkType_DownloadForFree_Release_URL LinkType = 75
	// This links an edit to its original recording. An "edit", for this
	// relationship, can be a radio edit (which involves streamlining a longer
	// track to around the 3 minute mark in order to make it suitable for radio
	// play), or a shortened, censored, or otherwise edited version of the same
	// material. The person who edited the recording can be linked using the <a
	// href="/relationship/40dff87a-e475-4aa6-b615-9935b564d756">editor
	// relationship type</a>.
	LinkType_Edit_Recording_Recording LinkType = 309
	// Links a recording to the place it was edited at.
	LinkType_EditedAt_Place_Recording LinkType = 819
	// Links a release to the place it was edited at.
	LinkType_EditedAt_Place_Release LinkType = 820
	// Links a recording to the area it was edited in. Use only when the place is
	// unknown!
	LinkType_EditedIn_Area_Recording LinkType = 821
	// Links a release to the area it was edited in. Use only when the place is
	// unknown!
	LinkType_EditedIn_Area_Release LinkType = 822
	// This describes an engineer responsible for either connecting disparate
	// elements of the audio recording, or otherwise redistributing material
	// recorded in the sessions. This is usually secondary, or additional to the
	// work done by the mix engineer. It can also involve streamlining a longer
	// track to around the 3 minute mark in order to make it suitable for radio
	// play (a "radio edit").
	LinkType_Editor_Artist_Recording LinkType = 144
	// This describes an engineer responsible for either connecting disparate
	// elements of the audio recording, or otherwise redistributing material
	// recorded in the sessions. This is usually secondary, or additional to the
	// work done by the mix engineer. It can also involve streamlining a longer
	// track to around the 3 minute mark in order to make it suitable for radio
	// play (a "radio edit").
	LinkType_Editor_Artist_Release LinkType = 38
	// This indicates that an artist was officially employed by a label as an
	// engineer.
	LinkType_EngineerPosition_Artist_Label LinkType = 120
	// Describes the fact a person was contracted by a place as an engineer.
	LinkType_EngineerPosition_Artist_Place LinkType = 701
	// This describes an engineer who performed a general engineering role.
	LinkType_Engineer_Artist_Recording LinkType = 138
	// This describes an engineer who performed a general engineering role.
	LinkType_Engineer_Artist_Release LinkType = 28
	// Links a recording to the place it was engineered at.
	LinkType_EngineeredAt_Place_Recording LinkType = 813
	// Links a release to the place it was engineered at.
	LinkType_EngineeredAt_Place_Release LinkType = 812
	// Links a recording to the area it was engineered in. Use only when the place
	// is unknown!
	LinkType_EngineeredIn_Area_Recording LinkType = 814
	// Links a release to the area it was engineered in. Use only when the place is
	// unknown!
	LinkType_EngineeredIn_Area_Release LinkType = 815
	// This links an artist to a fan-created website.
	LinkType_Fanpage_Artist_URL LinkType = 172
	// This links a label to a fan-created website.
	LinkType_Fanpage_Label_URL LinkType = 214
	// This relationship type is <strong>deprecated</strong>! If two recordings are
	// identical, please merge them.
	LinkType_FirstTrackRelease_Recording_Recording LinkType = 238
	// This relationship type can be used to link a place (generally a studio or
	// venue) to the person(s) who founded it.
	LinkType_Founder_Artist_Place LinkType = 832
	// This relationship type links genres to the areas they originate from.
	LinkType_GenreOrigin_Area_Genre LinkType = 1088
	// Points to the Geonames page for this area.
	LinkType_Geonames_Area_URL         LinkType = 713
	LinkType_GetTheMusic_Artist_URL    LinkType = 187
	LinkType_GetTheMusic_Genre_URL     LinkType = 1091
	LinkType_GetTheMusic_Recording_URL LinkType = 257
	LinkType_GetTheMusic_Release_URL   LinkType = 73
	// This credits the people or agency who did the graphic design, arranging
	// pieces of content into a coherent and aesthetically-pleasing sleeve design.
	LinkType_GraphicDesign_Artist_Recording LinkType = 125
	// This credits the people or agency who did the graphic design, arranging
	// pieces of content into a coherent and aesthetically-pleasing sleeve design.
	LinkType_GraphicDesign_Artist_Release LinkType = 27
	// Links an event to a guest performer. Guest performers usually make short
	// appearances during other artist's set.
	LinkType_GuestPerformer_Artist_Event LinkType = 800
	// This relationship is used to link a catalogue work series to a person whose
	// work it catalogues.
	LinkType_HasCatalogue_Artist_Series LinkType = 750
	// Links an event to the place where it was held.
	LinkType_HeldAt_Event_Place LinkType = 794
	// Links an event to the area where it was held. Use only if the exact place is
	// unknown.
	LinkType_HeldIn_Area_Event LinkType = 793
	// This links to a site describing relevant details about a label's history.
	LinkType_HistorySite_Label_URL LinkType = 211
	// Links an event to its host/MC. Event hosts usually do introductions to the
	// show or each song.
	LinkType_Host_Artist_Event LinkType = 801
	// This relationship type describes that the recording contains samples taken
	// from a movie, show or game, which has an IMDB page at the given URL.
	// <br/><br/>
	// To say that the recording is part of a soundtrack, please use the <a
	// href="/relationship/85b0a010-3237-47c7-8476-6fcefd4761af">IMDB relationship
	// type for release groups</a>.
	LinkType_IMDBSamples_Recording_URL LinkType = 258
	// This relationship is deprecated, since it's almost always misused. To
	// specify that a recording on this release contains samples taken from a
	// movie, show or game, use the recording - URL relationship. If you don't know
	// what recording(s) use the samples, please just indicate it in the
	// annotation.
	// <br/><br/>
	// To say that the release is a soundtrack, please use the <a
	// href="/relationship/85b0a010-3237-47c7-8476-6fcefd4761af">IMDB relationship
	// type for release groups</a>.
	LinkType_IMDBSamples_Release_URL LinkType = 83
	// This links an artist to its page in <a
	// href="https://www.imdb.com/">IMDb</a>.
	LinkType_IMDB_Artist_URL LinkType = 178
	// This links a label to its page in <a href="https://www.imdb.com/">IMDb</a>.
	LinkType_IMDB_Label_URL LinkType = 313
	// Points to the Internet Movie Database page for this place.
	LinkType_IMDB_Place_URL LinkType = 706
	// This links a soundtrack release to the <a
	// href="https://www.imdb.com/">IMDb</a> page for the movie, show or game of
	// which it is a soundtrack.
	LinkType_IMDB_ReleaseGroup_URL LinkType = 97
	// This links a soundtrack work to the <a href="https://www.imdb.com/">IMDb</a>
	// page for the movie, show or game of which it is a soundtrack.
	LinkType_IMDB_URL_Work LinkType = 843
	// This links an artist to its page in <a
	// href="http://www.imslp.org/">IMSLP</a>.
	LinkType_IMSLP_Artist_URL LinkType = 754
	// Indicates a pictorial image (JPEG, GIF, PNG) of an artist.
	LinkType_Image_Artist_URL LinkType = 173
	// image
	LinkType_Image_Instrument_URL LinkType = 732
	// Indicates a pictorial image (JPEG, GIF, PNG) of a place
	LinkType_Image_Place_URL LinkType = 396
	// This indicates that a record label (company) owns or has the right to use an
	// imprint.
	LinkType_Imprint_Label_Label LinkType = 725
	// information page
	LinkType_InformationPage_Instrument_URL LinkType = 734
	// This indicates the artist who arranged a tune into a form suitable for
	// performance. 'Arrangement' is used as a catch-all term for all processes
	// that turn a composition into a form that can be played by a specific type of
	// ensemble.
	LinkType_InstrumentArranger_Artist_Recording LinkType = 158
	// This indicates the artist who arranged a tune into a form suitable for
	// performance. 'Arrangement' is used as a catch-all term for all processes
	// that turn a composition into a form that can be played by a specific type of
	// ensemble.
	LinkType_InstrumentArranger_Artist_Release LinkType = 41
	// This indicates the artist who arranged a tune into a form suitable for
	// performance. 'Arrangement' is used as a catch-all term for all processes
	// that turn a composition into a form that can be played by a specific type of
	// ensemble.
	LinkType_InstrumentArranger_Artist_Work LinkType = 282
	// This relationship type links instruments to the areas they originate from.
	LinkType_InstrumentOrigin_Area_Instrument LinkType = 752
	// Indicates an artist that performed one or more instruments on this
	// recording.
	LinkType_Instrument_Artist_Recording LinkType = 148
	// Indicates an artist that performed one or more instruments on this release.
	LinkType_Instrument_Artist_Release LinkType = 44
	// Indicates a musician doing long-time instrumental support for another one on
	// albums and/or at concerts. This is a person-to-artist relationship that
	// normally applies to well-known solo artists, although it can sometimes apply
	// to groups.
	LinkType_InstrumentalSupportingMusician_Artist_Artist LinkType = 105
	// This links an artist to an URL containing an interview with that artist.
	LinkType_Interview_Artist_URL LinkType = 707
	// Indicates that two persons were romantically involved with each other
	// without being married.
	LinkType_InvolvedWith_Artist_Artist LinkType = 112
	// This links an artist's performance name (a stage name or alias) with their
	// legal name.
	LinkType_IsPerson_Artist_Artist LinkType = 108
	// This is used to link a karaoke version of a song to the original
	// song.<br/><br/>
	// A karaoke version is a version of the song with the main vocals removed,
	// designed to be used for karaoke. These are generally produced from the
	// original masters by muting the main vocal track or by using post-processing
	// filters to remove the vocals. Karaoke versions can be found labelled in
	// numerous different ways other than "karaoke": instrumental (even if backing
	// vocals are still present), off vocal, backing track, etc.
	LinkType_Karaoke_Recording_Recording LinkType = 226
	// This describes a situation where one label is distributing (part of) another
	// label's catalog, in a country/region of the world, during a period of time.
	LinkType_LabelDistribution_Label_Label LinkType = 203
	// This relationship type can be used to link a label to the person(s) who
	// founded it.
	LinkType_LabelFounder_Artist_Label LinkType = 116
	// This describes a situation where one label is (or was) a subsidiary of
	// another label, during a given period of time. This should be used either to
	// describe the fact a label is a subdivision of another one, or, through
	// corporate acquisition of the former label, has become a subdivision of
	// another one.
	LinkType_LabelOwnership_Label_Label LinkType = 200
	// This describes a situation where one label is reissuing, under its own name,
	// (part of) another label's catalog. This can happen in at least three cases:
	// <ul>
	// <li>A label acquires a lease on another label's catalog, for a period of
	// time, in a specific region of the world.</li>
	// <li>A label buys the rights to a defunct label's catalog, or buys a label
	// (with its catalog) and dismantles it.</li>
	// <li>A bootleg label reissues another label's catalog.</li>
	// </ul>
	LinkType_LabelReissue_Label_Label LinkType = 201
	// This describes a situation where a label has changed its name, either for
	// purely aesthetic reasons or following a buyout/sellout/spin-off. Extra care
	// should be taken with cases where complicated merge/split/restructure
	// financial operations are done. For example, it's not a good idea to rename
	// the label <a href="/label/99a24d71-54c1-4d3f-88cc-00fbcc4fce83">Verve</a>
	// into <a href="/label/4fb00dfd-7674-44c0-bf67-79daf8c61767">The Verve Music
	// Group</a>, as Verve continued its existence thereafter as an imprint.
	LinkType_LabelRename_Label_Label LinkType = 202
	// This relationship type links an artist to its corresponding page at Last.fm
	LinkType_Lastfm_Artist_URL LinkType = 840
	// This relationship type links an event to its corresponding page at Last.fm
	LinkType_Lastfm_Event_URL LinkType = 839
	// This relationship type links a label to its corresponding page at Last.fm
	LinkType_Lastfm_Label_URL LinkType = 838
	// This relationship type links a place to its corresponding page at Last.fm
	LinkType_Lastfm_Place_URL LinkType = 837
	// Links a release with a launch event for it.
	LinkType_LaunchEvent_Event_Release LinkType = 796
	// Links a release group with a launch event for it.
	LinkType_LaunchEvent_Event_ReleaseGroup LinkType = 797
	// This indicates that a person or firm provided legal representation for the
	// recording.
	LinkType_LegalRepresentation_Artist_Recording LinkType = 142
	// This indicates that a person or firm provided legal representation for the
	// release.
	LinkType_LegalRepresentation_Artist_Release LinkType = 22
	// Indicates the librettist for this release.
	LinkType_Librettist_Artist_Release LinkType = 57
	// Indicates the librettist for this work.
	LinkType_Librettist_Artist_Work LinkType = 169
	// This links a recording to a license under which it is available.
	LinkType_License_Recording_URL LinkType = 302
	// This links a release to a license under which it is available.
	LinkType_License_Release_URL LinkType = 301
	// This relationship indicates the company that was the licensee of this
	// release (that is, received a license for it from other company).
	LinkType_Licensee_Label_Release LinkType = 833
	// This relationship indicates the company that was the licensor of this
	// release.
	LinkType_Licensor_Label_Release LinkType = 712
	// This credits the author of liner notes provided with the release (usually on
	// the sleeve). While most time liner notes are just personnel information and
	// production data, in some cases they consist of a blurb of text (article).
	// This relationship type should be used in this last case.
	LinkType_LinerNotes_Artist_Release LinkType = 24
	// This is used to indicate that a release group is a live performance of a
	// studio release group.
	LinkType_LivePerformance_ReleaseGroup_ReleaseGroup LinkType = 17
	// This is used to link a label to an image of its logo.
	LinkType_Logo_Label_URL LinkType = 213
	// Indicates the lyricist for this release.
	LinkType_Lyricist_Artist_Release LinkType = 56
	// Indicates the lyricist for this work.
	LinkType_Lyricist_Artist_Work LinkType = 165
	// This relationship describes a URL where lyrics for the artist can be found.
	// Only sites on the <a
	// href="/doc/Style/Relationships/URLs/Lyrics_whitelist">whitelist</a> are
	// permitted.
	LinkType_Lyrics_Artist_URL LinkType = 197
	// This relationship describes a URL where lyrics for the release group can be
	// found. Only sites on the <a
	// href="/doc/Style/Relationships/URLs/Lyrics_whitelist">whitelist</a> are
	// permitted.
	LinkType_Lyrics_ReleaseGroup_URL LinkType = 93
	// This relationship describes a URL where lyrics for the work can be found.
	// Only sites on the <a
	// href="/doc/Style/Relationships/URLs/Lyrics_whitelist">whitelist</a> are
	// permitted.
	LinkType_Lyrics_URL_Work LinkType = 271
	// Links an event to (one of) its main performer(s).
	LinkType_MainPerformer_Artist_Event LinkType = 798
	// Links a release to the area it was manufactured ("made") in.
	LinkType_ManufacturedIn_Area_Release LinkType = 835
	// This indicates the organization that manufactures (or contracts out
	// manufacturing).
	// This is <strong>not</strong> the same concept as the <a
	// href="/doc/Label">record label</a>.
	LinkType_Manufactured_Label_Release LinkType = 360
	// This indicates the organization that markets a release. This is
	// <strong>not</strong> the same concept as the <a href="/doc/Label">record
	// label</a>.
	LinkType_Marketed_Label_Release LinkType = 848
	// This links artists who were married.
	LinkType_Married_Artist_Artist LinkType = 111
	// This is used to indicate that the recording is a <a
	// href="/doc/Mix_Terminology#mash-up">mash-up</a> of two (or more) other
	// recordings.
	LinkType_MashesUp_Recording_Recording LinkType = 232
	// This is used to indicate that the release group is a mash-up <a
	// href="/doc/Mix_Terminology#mash-up">mash-up</a> of two (or more) other
	// release groups.
	LinkType_MashesUp_ReleaseGroup_ReleaseGroup LinkType = 10
	// Links a release to the place it was mastered at.
	LinkType_MasteredAt_Place_Release LinkType = 697
	// Links a release to the area it was mastered in. Use only when the place is
	// unknown!
	LinkType_MasteredIn_Area_Release LinkType = 756
	// Describes the fact a person was contracted by a place as a mastering
	// engineer.
	LinkType_MasteringEngineerPosition_Artist_Place LinkType = 704
	// This relationship type is <strong>deprecated</strong>! Please add mastering
	// engineers at the release level.
	LinkType_Mastering_Artist_Recording LinkType = 136
	// Indicates the mastering engineer for this work.
	LinkType_Mastering_Artist_Release LinkType = 42
	// This is used to indicate that a work is a medley of several other songs.
	// This means that the original songs were rearranged to create a new work in
	// the form of a medley. See <a
	// href="/relationship/d3fd781c-5894-47e2-8c12-86cc0e2c8d08">arranger</a> for
	// crediting the person who arranges songs into a medley.
	LinkType_Medley_Work_Work LinkType = 239
	// This indicates a person is a member of a group.
	LinkType_MemberOfBand_Artist_Artist LinkType = 103
	// This indicates that the artist performed a role not covered by other
	// relationship types.
	LinkType_Misc_Artist_Recording LinkType = 129
	// This indicates that the artist performed a role not covered by other
	// relationship types.
	LinkType_Misc_Artist_Release LinkType = 25
	// Indicates a miscellaneous support role. This is usually stated in the liner
	// notes of an album.
	LinkType_Misc_Artist_Work LinkType = 162
	// This relationship type is <strong>deprecated</strong>.
	LinkType_Misc_URL_Work LinkType = 270
	// This links a <a href="/doc/Mix_Terminology#DJ_mix">DJ-mix</a> to the artist
	// who mixed it.
	LinkType_MixDJ_Artist_Recording LinkType = 155
	// This links a <a href="/doc/Mix_Terminology#DJ_mix">DJ-mix</a> to the artist
	// who mixed it.
	LinkType_MixDJ_Artist_Release LinkType = 43
	// This describes an engineer responsible for using a mixing console to mix a
	// recorded track into a single piece of music suitable for release. For
	// remixing, see <a
	// href="/relationship/7950be4d-13a3-48e7-906b-5af562e39544">remixer</a>.
	LinkType_Mix_Artist_Recording LinkType = 143
	// This describes an engineer responsible for using a mixing console to mix a
	// recorded track into a single piece of music suitable for release. For
	// remixing, see <a
	// href="/relationship/ac6a86db-f757-4815-a07e-744428d2382b">remixer</a>.
	LinkType_Mix_Artist_Release LinkType = 26
	// Links a recording to the place it was mixed at.
	LinkType_MixedAt_Place_Recording LinkType = 694
	// Links a release to the place it was mixed at.
	LinkType_MixedAt_Place_Release LinkType = 696
	// Links a recording to the area it was mixed in. Use only when the place is
	// unknown!
	LinkType_MixedIn_Area_Recording LinkType = 758
	// Links a release to the area it was mixed in. Use only when the place is
	// unknown!
	LinkType_MixedIn_Area_Release LinkType = 757
	// Describes the fact a person was contracted by a place as a mixing engineer.
	LinkType_MixingEngineerPosition_Artist_Place LinkType = 703
	// This is used to link a music video to the corresponding audio recording.
	LinkType_MusicVideo_Recording_Recording     LinkType = 857
	LinkType_MusicalRelationships_Artist_Artist LinkType = 106
	// This relationship type links an artist to their Myspace page.
	LinkType_Myspace_Artist_URL LinkType = 189
	// This relationship type links a label to its Myspace page.
	LinkType_Myspace_Label_URL LinkType = 215
	// This relationship type can be used to link a MusicBrainz place to the
	// equivalent entry in Myspace.
	LinkType_Myspace_Place_URL LinkType = 462
	// Indicates the official homepage for an artist.
	LinkType_OfficialHomepage_Artist_URL LinkType = 183
	// Indicates the official homepage for an event.
	LinkType_OfficialHomepage_Event_URL LinkType = 782
	// Indicates the official homepage for a place.
	LinkType_OfficialHomepage_Place_URL LinkType = 363
	// This relationship type is used to link a release group to an official
	// website created specifically for the release group.
	LinkType_OfficialHomepage_ReleaseGroup_URL LinkType = 287
	// Indicates the official homepage for a series.
	LinkType_OfficialHomepage_Series_URL LinkType = 745
	// Indicates the official homepage for a label.
	LinkType_OfficialSite_Label_URL LinkType = 219
	// This relationship type links an artist to their online community page(s). An
	// online community is a group where any member can comment and contribute
	// content. The artist may or may not be a member of the group. Examples
	// include forums, LiveJournal communities and groups on Facebook, Last.fm and
	// Flickr.
	LinkType_OnlineCommunity_Artist_URL LinkType = 185
	LinkType_OnlineData_Artist_URL      LinkType = 841
	LinkType_OnlineData_Label_URL       LinkType = 221
	LinkType_OnlineData_Place_URL       LinkType = 660
	// Links an event to an orchestra that performed in it.
	LinkType_Orchestra_Artist_Event LinkType = 807
	// This links two <a href="/doc/Work" title="Work">works</a> where one work is
	// an orchestration of the other.
	LinkType_Orchestration_Work_Work LinkType = 316
	// This indicates the person who orchestrated the recording. Orchestration is a
	// special type of arrangement. It means the adaptation of a composition for an
	// orchestra, done in a way that the musical substance remains essentially
	// unchanged. The orchestrator is also responsible for writing scores for an
	// orchestra, band, choral group, individual instrumentalist(s) or vocalist(s).
	// In practical terms it consists of deciding which instruments should play
	// which notes in a piece of music.
	LinkType_Orchestrator_Artist_Recording LinkType = 300
	// This indicates the person who orchestrated the release. Orchestration is a
	// special type of arrangement. It means the adaptation of a composition for an
	// orchestra, done in a way that the musical substance remains essentially
	// unchanged. The orchestrator is also responsible for writing scores for an
	// orchestra, band, choral group, individual instrumentalist(s) or vocalist(s).
	// In practical terms it consists of deciding which instruments should play
	// which notes in a piece of music.
	LinkType_Orchestrator_Artist_Release LinkType = 40
	// This indicates the person who orchestrated the work. Orchestration is a
	// special type of arrangement. It means the adaptation of a composition for an
	// orchestra, done in a way that the musical substance remains essentially
	// unchanged. The orchestrator is also responsible for writing scores for an
	// orchestra, band, choral group, individual instrumentalist(s) or vocalist(s).
	// In practical terms it consists of deciding which instruments should play
	// which notes in a piece of music.
	LinkType_Orchestrator_Artist_Work LinkType = 164
	// This relationship links an organist to the place(s) (most commonly religious
	// buildings) at which they are the resident organist.
	LinkType_Organist_Artist_Place LinkType = 856
	// This links an entity to the equivalent entry in another database. Please
	// respect the <a
	// href="/doc/Other_Databases_Relationship_Type/Whitelist">whitelist</a>.
	LinkType_OtherDatabases_Area_URL LinkType = 730
	// This links an entity to the equivalent entry in another database. Please
	// respect the <a
	// href="/doc/Other_Databases_Relationship_Type/Whitelist">whitelist</a>.
	LinkType_OtherDatabases_Artist_URL LinkType = 188
	// This links an entity to the equivalent entry in another database. Please
	// respect the <a
	// href="/doc/Other_Databases_Relationship_Type/Whitelist">whitelist</a>.
	LinkType_OtherDatabases_Event_URL LinkType = 803
	// This links an entity to the equivalent entry in another database. Please
	// respect the <a
	// href="/doc/Other_Databases_Relationship_Type/Whitelist">whitelist</a>.
	LinkType_OtherDatabases_Genre_URL      LinkType = 1086
	LinkType_OtherDatabases_Instrument_URL LinkType = 753
	// This links an entity to the equivalent entry in another database. Please
	// respect the <a
	// href="/doc/Other_Databases_Relationship_Type/Whitelist">whitelist</a>.
	LinkType_OtherDatabases_Label_URL LinkType = 222
	// This links an entity to the equivalent entry in another database. Please
	// respect the <a
	// href="/doc/Other_Databases_Relationship_Type/Whitelist">whitelist</a>.
	LinkType_OtherDatabases_Place_URL LinkType = 561
	// This links an entity to the equivalent entry in another database. Please
	// respect the <a
	// href="/doc/Other_Databases_Relationship_Type/Whitelist">whitelist</a>.
	LinkType_OtherDatabases_Recording_URL LinkType = 306
	// This links an entity to the equivalent entry in another database. Please
	// respect the <a
	// href="/doc/Other_Databases_Relationship_Type/Whitelist">whitelist</a>.
	LinkType_OtherDatabases_ReleaseGroup_URL LinkType = 96
	// This links an entity to the equivalent entry in another database. Please
	// respect the <a
	// href="/doc/Other_Databases_Relationship_Type/Whitelist">whitelist</a>.
	LinkType_OtherDatabases_Release_URL LinkType = 82
	// This links an entity to the equivalent entry in another database. Please
	// respect the <a
	// href="/doc/Other_Databases_Relationship_Type/Whitelist">whitelist</a>.
	LinkType_OtherDatabases_Series_URL LinkType = 746
	// This links an entity to the equivalent entry in another database. Please
	// respect the <a
	// href="/doc/Other_Databases_Relationship_Type/Whitelist">whitelist</a>.
	LinkType_OtherDatabases_URL_Work LinkType = 273
	// This links two versions of a <a href="/doc/Work" title="Work">work</a>.
	LinkType_OtherVersion_Work_Work LinkType = 241
	// Indicates a parent-child relationship.
	LinkType_Parent_Artist_Artist LinkType = 109
	// This relationship type is <strong>deprecated</strong>! Please enter a
	// release with multiple discs as a single release containing multiple discs.
	LinkType_PartOfSet_Release_Release LinkType = 1
	// Designates that one area is contained by another.
	LinkType_PartOf_Area_Area LinkType = 356
	// Indicates that the artist is part of a series.
	LinkType_PartOf_Artist_Series LinkType = 996
	// Indicates that the event is part of a series.
	LinkType_PartOf_Event_Series LinkType = 802
	// Indicates that the recording is part of a series.
	LinkType_PartOf_Recording_Series LinkType = 740
	// Indicates that the release group is part of a series.
	LinkType_PartOf_ReleaseGroup_Series LinkType = 742
	// Indicates that the release is part of a series.
	LinkType_PartOf_Release_Series LinkType = 741
	// Indicates that the work is part of a series.
	LinkType_PartOf_Series_Work LinkType = 743
	// This indicates that an event is made up of multiple parts (e.g. a festival
	// happening on multiple venues over the course of a few days).
	LinkType_Parts_Event_Event LinkType = 818
	// parts
	LinkType_Parts_Instrument_Instrument LinkType = 739
	// This indicates that a place is part of another place.
	LinkType_Parts_Place_Place LinkType = 717
	// This indicates that a work is made up of multiple parts (e.g. an orchestral
	// suite broken into movements)
	LinkType_Parts_Work_Work              LinkType = 281
	LinkType_Performance_Artist_Recording LinkType = 122
	LinkType_Performance_Artist_Release   LinkType = 34
	// This is used to link works to their recordings.
	LinkType_Performance_Recording_Work LinkType = 278
	// Indicates an artist that performed on this recording.
	LinkType_Performer_Artist_Recording LinkType = 156
	// Indicates an artist that performed on this release.
	LinkType_Performer_Artist_Release LinkType = 51
	// Indicates an orchestra that performed on this recording.
	LinkType_PerformingOrchestra_Artist_Recording LinkType = 150
	// Indicates an orchestra that performed on this release.
	LinkType_PerformingOrchestra_Artist_Release LinkType = 45
	// This indicates a personal production label for an artist. A personal label
	// is a small label (usually a subdivision of a larger one) that exclusively
	// handles releases by that artist.
	LinkType_PersonalLabel_Artist_Label LinkType = 723
	// This indicates a personal publishing label for an artist. A personal
	// publishing label is a small label (usually a subdivision of a larger one)
	// that exclusively handles the rights to works by that artist.
	LinkType_PersonalPublisher_Artist_Label     LinkType = 724
	LinkType_PersonalRelationship_Artist_Artist LinkType = 113
	// This relationship indicates the artist is the <a
	// href="//en.wikipedia.org/wiki/Sound_recording_copyright_symbol">phonographic
	// copyright</a> holder for this recording.
	LinkType_PhonographicCopyright_Artist_Recording LinkType = 869
	// This relationship indicates the artist is the <a
	// href="//en.wikipedia.org/wiki/Sound_recording_copyright_symbol">phonographic
	// copyright</a> holder for this release.
	LinkType_PhonographicCopyright_Artist_Release LinkType = 710
	// This relationship indicates the label is the <a
	// href="//en.wikipedia.org/wiki/Sound_recording_copyright_symbol">phonographic
	// copyright</a> holder for this recording.
	LinkType_PhonographicCopyright_Label_Recording LinkType = 867
	// This relationship indicates the label is the <a
	// href="//en.wikipedia.org/wiki/Sound_recording_copyright_symbol">phonographic
	// copyright</a> holder for this release.
	LinkType_PhonographicCopyright_Label_Release LinkType = 711
	// This credits a person or agency whose photographs are included as part of a
	// recording.
	LinkType_Photography_Artist_Recording LinkType = 123
	// This credits a person or agency whose photographs are included as part of a
	// release.
	LinkType_Photography_Artist_Release LinkType = 20
	// This relationship type links an event to a promotional poster for the event.
	LinkType_Poster_Event_URL LinkType = 808
	// Indicates the area where the work had its first performance
	LinkType_Premiere_Area_Work LinkType = 715
	// Indicates the event where the work had its first performance
	LinkType_Premiere_Event_Work LinkType = 845
	// Indicates the place where the work had its first performance
	LinkType_Premiere_Place_Work LinkType = 716
	// Indicates an artist (generally a composer) this work was previously
	// attributed to, but who is currently confirmed (or very strongly suspected)
	// not to be the real author.
	LinkType_PreviousAttribution_Artist_Work LinkType = 834
	// This is used to link an artist to its primary concert venue.
	LinkType_PrimaryConcertVenue_Artist_Place LinkType = 714
	// Links a release to the area it was printed in.
	LinkType_PrintedIn_Area_Release LinkType = 849
	// Links a recording to the place it was produced at.
	LinkType_ProducedAt_Place_Recording LinkType = 825
	// Links a release to the place it was produced at.
	LinkType_ProducedAt_Place_Release LinkType = 824
	// Links a recording to the area it was produced in. Use only when the place is
	// unknown!
	LinkType_ProducedIn_Area_Recording LinkType = 827
	// Links a release to the area it was produced in. Use only when the place is
	// unknown!
	LinkType_ProducedIn_Area_Release LinkType = 826
	// This indicates that an artist was officially employed by a label as a
	// producer.
	LinkType_ProducerPosition_Artist_Label LinkType = 117
	// This indicates an artist who is responsible for the creative and practical
	// day-to-day aspects involved with making a musical recording.
	LinkType_Producer_Artist_Recording LinkType = 141
	// This indicates an artist who is responsible for the creative and practical
	// day-to-day aspects involved with making a musical recording.
	LinkType_Producer_Artist_Release     LinkType = 30
	LinkType_Production_Artist_Recording LinkType = 160
	LinkType_Production_Artist_Release   LinkType = 59
	LinkType_Production_Recording_URL    LinkType = 256
	LinkType_Production_Release_URL      LinkType = 72
	// This links a recording to the artist who did the programming for electronic
	// instruments used on the recording. In the most cases, the 'electronic
	// instrument' is either a synthesizer or a drum machine.
	LinkType_Programming_Artist_Recording LinkType = 132
	// This links a release to the artist who did the programming for electronic
	// instruments used on the release. In the most cases, the 'electronic
	// instrument' is either a synthesizer or a drum machine.
	LinkType_Programming_Artist_Release LinkType = 37
	// This indicates the organization that promotes (or contracts out promotion)
	// for a release. This is <strong>not</strong> the same concept as the <a
	// href="/doc/Label">record label</a>.
	LinkType_Promoted_Label_Release LinkType = 359
	// This indicates the organization which releases a release. This is
	// <strong>not</strong> the same concept as the <a href="/doc/Label">record
	// label</a>.
	LinkType_Published_Label_Release LinkType = 362
	// Indicates the publisher of this recording. This is <strong>not</strong> the
	// same concept as the <a href="/doc/Label">record label</a>.
	LinkType_Publishing_Artist_Recording LinkType = 127
	// Indicates the publisher of this release. This is <strong>not</strong> the
	// same concept as the <a href="/doc/Label">record label</a>.
	LinkType_Publishing_Artist_Release LinkType = 32
	// Indicates the publisher of this work. This is <strong>not</strong> the same
	// concept as the <a href="/doc/Label">record label</a>.
	LinkType_Publishing_Artist_Work LinkType = 161
	// This relationship is deprecated. To indicate work publishers, add label-work
	// relationships. To indicate (P) holders, use the phonographic copyright
	// relationship.
	LinkType_Publishing_Label_Recording LinkType = 206
	LinkType_Publishing_Label_Release   LinkType = 66
	// Indicates the publisher of this work. This is <strong>not</strong> the same
	// concept as the <a href="/doc/Label">record label</a>.
	LinkType_Publishing_Label_Work LinkType = 208
	// This is used to link to a page where the artist's releases can be purchased
	// for download.
	LinkType_PurchaseForDownload_Artist_URL LinkType = 176
	// This is used to link to a page where the recording can be purchased for
	// download.
	LinkType_PurchaseForDownload_Recording_URL LinkType = 254
	// This is used to link to a page where the release can be purchased for
	// download.
	LinkType_PurchaseForDownload_Release_URL LinkType = 74
	// This relationship type is used to link to a page where the artist's releases
	// can be purchased for mail order.
	LinkType_PurchaseForMailOrder_Artist_URL LinkType = 175
	// This relationship type is used to link to a page where the release can be
	// purchased for mail order.
	LinkType_PurchaseForMailOrder_Release_URL LinkType = 79
	// This links an artist to the equivalent entry at PureVolume.
	LinkType_Purevolume_Artist_URL LinkType = 174
	// Links a recording to the event it was recorded at.
	LinkType_RecordedAt_Event_Recording LinkType = 809
	// Links a release to the event it was recorded at.
	LinkType_RecordedAt_Event_Release LinkType = 810
	// Links a recording to the place it was recorded at.
	LinkType_RecordedAt_Place_Recording LinkType = 693
	// Links a release to the place it was recorded at.
	LinkType_RecordedAt_Place_Release LinkType = 695
	// Links a recording to the area it was recorded in. Use only when the place is
	// unknown!
	LinkType_RecordedIn_Area_Recording LinkType = 698
	// Links a release to the area it was recorded in. Use only when the place is
	// unknown!
	LinkType_RecordedIn_Area_Release LinkType = 699
	// This indicates that an artist had a recording contract with a label.
	LinkType_RecordingContract_Artist_Label LinkType = 121
	// Describes the fact a person was contracted by a place as a recording
	// engineer.
	LinkType_RecordingEngineerPosition_Artist_Place LinkType = 702
	// This describes an engineer responsible for committing the performance to
	// tape. This can be as complex as setting up the microphones, amplifiers, and
	// recording devices, or as simple as pressing the 'record' button on a
	// 4-track.
	LinkType_Recording_Artist_Recording LinkType = 128
	// This describes an engineer responsible for committing the performance to
	// tape. This can be as complex as setting up the microphones, amplifiers, and
	// recording devices, or as simple as pressing the 'record' button on a
	// 4-track.
	LinkType_Recording_Artist_Release LinkType = 36
	// related to
	LinkType_RelatedTo_Instrument_Instrument LinkType = 738
	// This relationship type is <strong>deprecated</strong>! <a
	// href="/doc/Style/Recording#Recordings_with_Different_Mastering">Different
	// remasters should be merged.</a>
	LinkType_Remaster_Recording_Recording LinkType = 236
	// This links two releases, where one is a <a
	// href="/doc/Mix_Terminology#remaster">remaster</a> of the other. This is
	// usually done to improve the audio quality or to adjust for more modern
	// playback equipment. The process generally doesn't involve changing the music
	// in any artistically important way. It may, however, result in recordings
	// that differ in length by a few seconds.
	LinkType_Remaster_Release_Release LinkType = 6
	// This links a <a href="/doc/Mix_Terminology#remix">remixed</a> recording to
	// the source recording.
	LinkType_Remix_Recording_Recording LinkType = 230
	// This links a <a href="/doc/Mix_Terminology#remix">remix</a> release group to
	// the source release group and is used to indicate that the release group
	// includes remixed versions of all (or most of) the tracks in the other
	// release group.
	LinkType_Remix_ReleaseGroup_ReleaseGroup LinkType = 9
	// Links a recording to the place it was remixed at.
	LinkType_RemixedAt_Place_Recording LinkType = 829
	// Links a release to the place it was remixed at.
	LinkType_RemixedAt_Place_Release LinkType = 828
	// Links a recording to the area it was remixed in. Use only when the place is
	// unknown!
	LinkType_RemixedIn_Area_Recording LinkType = 830
	// Links a release to the area it was remixed in. Use only when the place is
	// unknown!
	LinkType_RemixedIn_Area_Release LinkType = 831
	// This links a recording to the person who remixed it by taking one or more
	// other tracks, substantially altering them and mixing them together with
	// other material. Note that this includes the artist who created a mash-up or
	// used samples as well.
	LinkType_Remixer_Artist_Recording LinkType = 153
	// This links a release to the person who remixed it by taking one or more
	// other tracks, substantially altering them and mixing them together with
	// other material. Note that this includes the artist who created a mash-up or
	// used samples as well.
	LinkType_Remixer_Artist_Release                           LinkType = 47
	LinkType_RemixesAndCompilations_Artist_Recording          LinkType = 157
	LinkType_RemixesAndCompilations_Artist_Release            LinkType = 50
	LinkType_RemixesAndCompilations_Recording_Recording       LinkType = 234
	LinkType_RemixesAndCompilations_ReleaseGroup_ReleaseGroup LinkType = 13
	// This links a postponed event to the later rescheduled event.
	LinkType_RescheduledAs_Event_Event LinkType = 836
	// Indicates a webpage that reviews the event in question.
	LinkType_Review_Event_URL LinkType = 842
	// Indicates a webpage that reviews the release (group) in question.
	LinkType_Review_ReleaseGroup_URL LinkType = 94
	// Indicates that an artist revised a work. In most cases, this will be the
	// original composer revising the work at a later date.
	LinkType_RevisedBy_Artist_Work LinkType = 844
	// This links different revisions of the same <a href="/doc/Work"
	// title="Work">work</a>.
	LinkType_RevisionOf_Work_Work LinkType = 315
	// This indicates the rights society associated with a release. The rights
	// society is an organization which collects royalties on behalf of the
	// artists.
	LinkType_RightsSociety_Label_Release LinkType = 349
	// Indicates that the recording contains samples from material by the indicated
	// artist. Use this only if you really cannot figure out the particular
	// recording that has been sampled.
	LinkType_SamplesFromArtist_Artist_Recording LinkType = 154
	// Indicates that the release contains samples from material by the indicated
	// artist. Use this only if you really cannot figure out the particular
	// recording that has been sampled.
	LinkType_SamplesFromArtist_Artist_Release LinkType = 49
	// Indicates that the recording contains samples from another.
	LinkType_SamplesMaterial_Recording_Recording LinkType = 231
	// Indicates that the recording contains samples from this release.
	LinkType_SamplesMaterial_Recording_Release LinkType = 69
	// This describes a URL where a score / sheet music for the work can be found.
	LinkType_Score_URL_Work LinkType = 274
	// This is used to link an artist to its corresponding page in SecondHandSongs
	// database.
	LinkType_Secondhandsongs_Artist_URL LinkType = 307
	// This is used to link a release to its corresponding page in SecondHandSongs
	// database.
	LinkType_Secondhandsongs_Release_URL LinkType = 308
	// This is used to link a work to its corresponding page in SecondHandSongs
	// database.
	LinkType_Secondhandsongs_URL_Work LinkType = 280
	// This relationship type links an artist to its corresponding page at
	// setlist.fm
	LinkType_Setlistfm_Artist_URL LinkType = 816
	// This relationship type links an event to its corresponding page at
	// setlist.fm
	LinkType_Setlistfm_Event_URL LinkType = 811
	// This relationship type links a place to its corresponding page at setlist.fm
	LinkType_Setlistfm_Place_URL LinkType = 817
	// This relationship links the release of a show's episode (for example a
	// podcast) to the show notes for this episode.
	LinkType_ShowNotes_Release_URL LinkType = 729
	// This links two siblings (brothers or sisters).
	LinkType_Sibling_Artist_Artist LinkType = 110
	// This indicates that a single or EP release group includes at least one track
	// taken from an album release group. This allows a release group to be linked
	// to its associated singles and EPs.
	LinkType_SingleFrom_ReleaseGroup_ReleaseGroup LinkType = 11
	// A social network page is an artist's own profile page on a <a
	// href="https://en.wikipedia.org/wiki/Social_networking_service">social
	// network</a> which only they (or their management) can post content to. Other
	// people can create their own profiles and interact with the artist, e.g. by
	// adding them as a friend or by commenting on the things that they post.
	// Examples include Facebook pages and profiles, Last.fm users and accounts on
	// Twitter, Instagram and Flickr.
	LinkType_SocialNetwork_Artist_URL LinkType = 192
	// A social network page is an event's own page on a <a
	// href="https://en.wikipedia.org/wiki/Social_networking_service">social
	// network</a> which only people involved with the event can post content to.
	// Examples include Facebook pages and event entries, and accounts on Twitter,
	// Instagram and Flickr.
	LinkType_SocialNetwork_Event_URL LinkType = 783
	// A social network page is a label's own page on a <a
	// href="https://en.wikipedia.org/wiki/Social_networking_service">social
	// network</a> which only people involved with the label can post content to.
	// Examples include Facebook pages, and accounts on Twitter, Instagram and
	// Flickr.
	LinkType_SocialNetwork_Label_URL LinkType = 218
	// A social network page is a place's own page on a <a
	// href="https://en.wikipedia.org/wiki/Social_networking_service">social
	// network</a> which only people involved with the place can post content to.
	// Examples include Facebook pages, and accounts on Twitter, Instagram and
	// Flickr.
	LinkType_SocialNetwork_Place_URL LinkType = 429
	// A social network page is a page for a series on a <a
	// href="https://en.wikipedia.org/wiki/Social_networking_service">social
	// network</a> which only people involved with the series can post content to.
	// Examples include Facebook pages, and accounts on Twitter, Instagram and
	// Flickr.
	LinkType_SocialNetwork_Series_URL LinkType = 784
	// This links an entity to the appropriate listing in the Songfacts database, a
	// user contributed database concerned with the stories behind the songs.
	LinkType_Songfacts_URL_Work LinkType = 289
	// This relationship type links an artist to its corresponding page at
	// Songkick.
	LinkType_Songkick_Artist_URL LinkType = 785
	// This relationship type links an event to its corresponding page at Songkick.
	LinkType_Songkick_Event_URL LinkType = 786
	// This relationship type links a place to its corresponding page at Songkick.
	LinkType_Songkick_Place_URL LinkType = 787
	// This describes an engineer responsible for ensuring that the sounds that the
	// artists make reach the microphones sounding pleasant, without unwanted
	// resonance or noise. Sometimes known as acoustical engineering.
	LinkType_Sound_Artist_Recording LinkType = 133
	// This describes an engineer responsible for ensuring that the sounds that the
	// artists make reach the microphones sounding pleasant, without unwanted
	// resonance or noise. Sometimes known as acoustical engineering.
	LinkType_Sound_Artist_Release LinkType = 29
	// This links an artist to its profile at SoundCloud.
	LinkType_Soundcloud_Artist_URL LinkType = 291
	// This links a label to its profile at SoundCloud.
	LinkType_Soundcloud_Label_URL LinkType = 290
	// This links a series (most commonly, but not necessarily always, a music
	// festival) to its official page at SoundCloud.
	LinkType_Soundcloud_Series_URL LinkType = 870
	// This relationship type is used to link an artist to a site where music can
	// be legally streamed for free, e.g. Spotify.
	LinkType_StreamingMusic_Artist_URL LinkType = 194
	// This relationship type is used to link a track to a site where the track can
	// be legally streamed for free, such as Spotify for audio tracks or YouTube
	// for videos.
	LinkType_StreamingMusic_Recording_URL LinkType = 268
	// This relationship type is used to link a release to a site where the tracks
	// can be legally streamed for free, e.g. Spotify.
	LinkType_StreamingMusic_Release_URL LinkType = 85
	// This relationship type is used to link a track to a site where the track can
	// be legally streamed for a subscription fee, e.g. Tidal. If the site allows
	// free streaming, use "free streaming" instead.
	LinkType_StreamingPaid_Recording_URL LinkType = 979
	// This relationship type is used to link a release to a site where the tracks
	// can be legally streamed for a subscription fee, e.g. Tidal.
	LinkType_StreamingPaid_Release_URL LinkType = 980
	// This links a subgroup to the group from which it was created. This
	// relationship type is the functional equivalent of the <a
	// href="/relationship/5be4c609-9afa-4ea0-910b-12ffb71e3821">member of band
	// type</a> for group-group relationships.
	LinkType_Subgroup_Artist_Artist LinkType = 722
	// Links a series to another series that exists within it.
	LinkType_Subseries_Series_Series LinkType = 823
	// type of
	LinkType_Subtype_Instrument_Instrument LinkType = 736
	// Links an event to (one of) its support act(s).
	LinkType_SupportAct_Artist_Event LinkType = 799
	// Indicates an artist doing long-time instrumental or vocal support for
	// another one on albums and/or at concerts. This is a person-to-artist
	// relationship that normally applies to well-known solo artists, although it
	// can sometimes apply to groups.
	LinkType_SupportingMusician_Artist_Artist LinkType = 104
	// This indicates that a release was released in support of another
	// release.This allows a release to be linked to its supporting singles, EPs,
	// and remix releases. A 'supporting release' is one which is released to
	// increase sales of an album or to create publicity for an album.
	LinkType_SupportingRelease_Release_Release LinkType = 3
	// This relationship indicates that a person was another's teacher/student.
	LinkType_Teacher_Artist_Artist LinkType = 847
	// This relationship links a concert tour to the artist(s) the tour is by.
	LinkType_Tour_Artist_Series LinkType = 859
	// This indicates that one release is identical to another release, but that
	// the release title and track titles have been either translated (into another
	// language) or transliterated (into another script).
	LinkType_TranslTracklisting_Release_Release LinkType = 2
	// This relationship specifies that an artist is a <a
	// href="http://en.wikipedia.org/wiki/Tribute_act">tribute</a> to another
	// specific artist/band; that is, it primarily performs covers of that artist.
	// They may also be referred to as cover bands. Some tribute artists may name
	// themselves, dress, and/or act similarly to the artists they pay tribute to.
	LinkType_Tribute_Artist_Artist LinkType = 728
	// This links a release group to an artist, to indicate that it is a tribute
	// album. Tribute albums often have a title in the form "A Tribute to Artist",
	// and they consist of covers of songs by the target artist, played by other
	// (sometimes very unknown) bands, to honor the target artist. Often they are
	// various artist compilations, but a single artist can perform the entire
	// tribute album.
	LinkType_Tribute_Artist_ReleaseGroup LinkType = 65
	// This relationship type links an artist to its corresponding page at <a
	// href="http://vgmdb.net/">VGMdb</a>. VGMdb is a community project dedicated
	// to cataloguing the music of video games and anime.
	LinkType_VGMdb_Artist_URL LinkType = 191
	// This relationship type links an event to its corresponding page at <a
	// href="http://vgmdb.net/">VGMdb</a>. VGMdb is a community project dedicated
	// to cataloguing the music of video games and anime.
	LinkType_VGMdb_Event_URL LinkType = 788
	// This relationship type links a label to its corresponding page at <a
	// href="http://vgmdb.net/">VGMdb</a>. VGMdb is a community project dedicated
	// to cataloguing the music of video games and anime.
	LinkType_VGMdb_Label_URL LinkType = 210
	// This relationship type links a release to its corresponding page <a
	// href="http://vgmdb.net/">VGMdb</a>. VGMdb is a community project dedicated
	// to cataloguing the music of video games and anime.
	LinkType_VGMdb_Release_URL LinkType = 86
	// This points to the <a href="//viaf.org/">VIAF</a> page for this artist. VIAF
	// is an international project to make a common authority file available to
	// libraries across the world. An authority file is similar to an MBID for
	// libraries. (<a
	// href="//en.wikipedia.org/wiki/Virtual_International_Authority_File">more
	// information on Wikipedia</a>)
	LinkType_VIAF_Artist_URL LinkType = 310
	// This points to the <a href="//viaf.org/">VIAF</a> page for this label. VIAF
	// is an international project to make a common authority file available to
	// libraries across the world. An authority file is similar to an MBID for
	// libraries. (<a
	// href="//en.wikipedia.org/wiki/Virtual_International_Authority_File">more
	// information on Wikipedia</a>)
	LinkType_VIAF_Label_URL LinkType = 311
	// This points to the <a href="//viaf.org/">VIAF</a> page for this work. VIAF
	// is an international project to make a common authority file available to
	// libraries across the world. An authority file is similar to an MBID for
	// libraries. (<a
	// href="//en.wikipedia.org/wiki/Virtual_International_Authority_File">more
	// information on Wikipedia</a>)
	// <br/><br/>
	// <strong>Note:</strong> Works in VIAF aren't very detailed. Only add links to
	// MusicBrainz works if you're absolutely sure it's the same work.
	LinkType_VIAF_URL_Work LinkType = 312
	// This indicates that an artist appears on a music video, but doesn't actually
	// perform on the audio track.
	LinkType_VideoAppearance_Artist_Recording LinkType = 858
	// This links an artist to a channel, playlist, or user page on a video sharing
	// site containing videos curated by it.
	LinkType_VideoChannel_Artist_URL LinkType = 303
	// This links an event to a channel, playlist, or user page on a video sharing
	// site containing videos curated by it.
	LinkType_VideoChannel_Event_URL LinkType = 804
	// This links a label to a channel, playlist, or user page on a video sharing
	// site containing videos curated by it.
	LinkType_VideoChannel_Label_URL LinkType = 304
	// This links a place to a channel, playlist, or user page on a video sharing
	// site containing videos curated by it.
	LinkType_VideoChannel_Place_URL LinkType = 495
	// This links a series to a channel, playlist, or user page on a video sharing
	// site containing videos curated by it.
	LinkType_VideoChannel_Series_URL LinkType = 805
	// This indicates the artist who arranged a tune into a form suitable for
	// performance. 'Arrangement' is used as a catch-all term for all processes
	// that turn a composition into a form that can be played by a specific type of
	// ensemble.
	LinkType_VocalArranger_Artist_Recording LinkType = 298
	// This indicates the artist who arranged a tune into a form suitable for
	// performance. 'Arrangement' is used as a catch-all term for all processes
	// that turn a composition into a form that can be played by a specific type of
	// ensemble.
	LinkType_VocalArranger_Artist_Release LinkType = 296
	// This indicates the artist who arranged a tune into a form suitable for
	// performance. 'Arrangement' is used as a catch-all term for all processes
	// that turn a composition into a form that can be played by a specific type of
	// ensemble.
	LinkType_VocalArranger_Artist_Work LinkType = 294
	// Indicates a musician doing long-time vocal support for another one on albums
	// and/or at concerts. This is a person-to-artist relationship that normally
	// applies to well-known solo artists, although it can sometimes apply to
	// groups.
	LinkType_VocalSupportingMusician_Artist_Artist LinkType = 107
	// Indicates an artist that performed vocals on this recording.
	LinkType_Vocal_Artist_Recording LinkType = 149
	// Indicates an artist that performed vocals on this release.
	LinkType_Vocal_Artist_Release LinkType = 60
	// This links an (fictional) artist to the person that voice acted it.
	LinkType_VoiceActor_Artist_Artist LinkType = 292
	// Points to the Wikidata page for this area.
	LinkType_Wikidata_Area_URL LinkType = 358
	// Points to the Wikidata page for this artist.
	LinkType_Wikidata_Artist_URL LinkType = 352
	// Points to the Wikidata page for this event.
	LinkType_Wikidata_Event_URL LinkType = 790
	// Points to the Wikidata page for this genre, and will be used to fetch
	// Wikipedia summaries
	LinkType_Wikidata_Genre_URL LinkType = 1087
	// wikidata
	LinkType_Wikidata_Instrument_URL LinkType = 733
	// Points to the Wikidata page for this label.
	LinkType_Wikidata_Label_URL LinkType = 354
	// Points to the Wikidata page for this place
	LinkType_Wikidata_Place_URL LinkType = 594
	// Points to the Wikidata page for this release group.
	LinkType_Wikidata_ReleaseGroup_URL LinkType = 353
	// Points to the Wikidata page for this series.
	LinkType_Wikidata_Series_URL LinkType = 749
	// Points to the Wikidata page for this work.
	LinkType_Wikidata_URL_Work LinkType = 351
	// Points to the Wikipedia page for this area.
	LinkType_Wikipedia_Area_URL LinkType = 355
	// Points to the Wikipedia page for this artist.
	LinkType_Wikipedia_Artist_URL LinkType = 179
	// Points to the Wikipedia page for this event.
	LinkType_Wikipedia_Event_URL LinkType = 789
	// wikipedia
	LinkType_Wikipedia_Instrument_URL LinkType = 731
	// This is used to link a label to its corresponding Wikipedia page.
	LinkType_Wikipedia_Label_URL LinkType = 216
	// Points to the Wikipedia page for this place
	LinkType_Wikipedia_Place_URL LinkType = 595
	// Points to the Wikipedia page for this album.
	LinkType_Wikipedia_ReleaseGroup_URL LinkType = 89
	// Points to the Wikipedia page for this series.
	LinkType_Wikipedia_Series_URL LinkType = 744
	// Points to the Wikipedia page for this work.
	LinkType_Wikipedia_URL_Work LinkType = 279
	// This relationship is used to link a release to the artist responsible for
	// writing the music and/or the words (lyrics, libretto, etc.), when no more
	// specific information is available. If possible, the more specific composer,
	// lyricist and/or librettist types should be used, rather than this
	// relationship type.
	LinkType_Writer_Artist_Release LinkType = 54
	// This relationship is used to link a work to the artist responsible for
	// writing the music and/or the words (lyrics, libretto, etc.), when no more
	// specific information is available. If possible, the more specific composer,
	// lyricist and/or librettist types should be used, rather than this
	// relationship type.
	LinkType_Writer_Artist_Work LinkType = 167
	// This links an artist to the equivalent entry at YouTube.
	LinkType_YouTube_Artist_URL LinkType = 193
	// This relationship type can be used to link an event to the equivalent entry
	// in YouTube. URLs should follow the format
	// http://www.youtube.com/user/&lt;username&gt;
	LinkType_YouTube_Event_URL LinkType = 791
	// This links a label to the equivalent entry at YouTube.
	LinkType_YouTube_Label_URL LinkType = 225
	// This relationship type can be used to link a place to the equivalent entry
	// in YouTube. URLs should follow the format
	// http://www.youtube.com/user/<username>
	LinkType_YouTube_Place_URL LinkType = 528
	// This relationship type can be used to link a series to the equivalent entry
	// in YouTube. URLs should follow the format
	// http://www.youtube.com/user/&lt;username&gt;
	LinkType_YouTube_Series_URL LinkType = 792
)

type Medium

type Medium struct {
	// Format contains the medium's format name.
	// See https://wiki.musicbrainz.org/Release/Format.
	Format MediumFormat
	// Name contains the medium's name (e.g. "Live & Unreleased").
	Name string
	// Tracks contains the medium's tracklist.
	Tracks []Track
}

Medium describes a medium that is part of a release. See https://musicbrainz.org/doc/Medium.

type MediumFormat

type MediumFormat string

MediumFormat describes a medium's format (e.g. CD, cassette, digital media).

const (
	MediumFormat_CD                MediumFormat = "CD"
	MediumFormat_DVD               MediumFormat = "DVD"
	MediumFormat_SACD              MediumFormat = "SACD"
	MediumFormat_DualDisc          MediumFormat = "DualDisc"
	MediumFormat_Other             MediumFormat = "Other"
	MediumFormat_LaserDisc         MediumFormat = "LaserDisc"
	MediumFormat_MiniDisc          MediumFormat = "MiniDisc"
	MediumFormat_Vinyl             MediumFormat = "Vinyl"
	MediumFormat_Cassette          MediumFormat = "Cassette"
	MediumFormat_Cartridge         MediumFormat = "Cartridge"
	MediumFormat_ReelToReel        MediumFormat = "Reel-to-reel"
	MediumFormat_DAT               MediumFormat = "DAT"
	MediumFormat_DigitalMedia      MediumFormat = "Digital Media"
	MediumFormat_WaxCylinder       MediumFormat = "Wax Cylinder"
	MediumFormat_PianoRoll         MediumFormat = "Piano Roll"
	MediumFormat_DCC               MediumFormat = "DCC"
	MediumFormat_HDDVD             MediumFormat = "HD-DVD"
	MediumFormat_DVDAudio          MediumFormat = "DVD-Audio"
	MediumFormat_DVDVideo          MediumFormat = "DVD-Video"
	MediumFormat_BluRay            MediumFormat = "Blu-ray"
	MediumFormat_VHS               MediumFormat = "VHS"
	MediumFormat_VCD               MediumFormat = "VCD"
	MediumFormat_SVCD              MediumFormat = "SVCD"
	MediumFormat_Betamax           MediumFormat = "Betamax"
	MediumFormat_HDCD              MediumFormat = "HDCD"
	MediumFormat_USBFlashDrive     MediumFormat = "USB Flash Drive"
	MediumFormat_slotMusic         MediumFormat = "slotMusic"
	MediumFormat_UMD               MediumFormat = "UMD"
	MediumFormat_7Vinyl            MediumFormat = "7\" Vinyl"
	MediumFormat_10Vinyl           MediumFormat = "10\" Vinyl"
	MediumFormat_12Vinyl           MediumFormat = "12\" Vinyl"
	MediumFormat_CDR               MediumFormat = "CD-R"
	MediumFormat_8cmCD             MediumFormat = "8cm CD"
	MediumFormat_BluSpecCD         MediumFormat = "Blu-spec CD"
	MediumFormat_SHMCD             MediumFormat = "SHM-CD"
	MediumFormat_HQCD              MediumFormat = "HQCD"
	MediumFormat_HybridSACD        MediumFormat = "Hybrid SACD"
	MediumFormat_CDG               MediumFormat = "CD+G"
	MediumFormat_8cmCDG            MediumFormat = "8cm CD+G"
	MediumFormat_CDV               MediumFormat = "CDV"
	MediumFormat_EnhancedCD        MediumFormat = "Enhanced CD"
	MediumFormat_DataCD            MediumFormat = "Data CD"
	MediumFormat_DTSCD             MediumFormat = "DTS CD"
	MediumFormat_Playbutton        MediumFormat = "Playbutton"
	MediumFormat_MusicCard         MediumFormat = "Music Card"
	MediumFormat_DVDplus           MediumFormat = "DVDplus"
	MediumFormat_VinylDisc         MediumFormat = "VinylDisc"
	MediumFormat_35FloppyDisk      MediumFormat = "3.5\" Floppy Disk"
	MediumFormat_EdisonDiamondDisc MediumFormat = "Edison Diamond Disc"
	// Flexi-discs are phonograph records made of a thin, flexible vinyl sheet with
	// a molded-in groove, designed to be playable on a normal phonograph
	// turntable.
	MediumFormat_FlexiDisc  MediumFormat = "Flexi-disc"
	MediumFormat_7FlexiDisc MediumFormat = "7\" Flexi-disc"
	// Shellac records were the most predominant type of gramophone record during
	// the first half of the 20th century.
	MediumFormat_Shellac   MediumFormat = "Shellac"
	MediumFormat_10Shellac MediumFormat = "10\" Shellac"
	MediumFormat_12Shellac MediumFormat = "12\" Shellac"
	MediumFormat_7Shellac  MediumFormat = "7\" Shellac"
	MediumFormat_SHMSACD   MediumFormat = "SHM-SACD"
	// 90 rpm, vertical-cut shellac discs, produced by the Pathé label from 1906
	// to 1932.
	MediumFormat_PatheDisc MediumFormat = "Pathé disc"
	// Video High Density (VHD) was a videodisc format which was marketed
	// predominantly in Japan by JVC.
	MediumFormat_VHD MediumFormat = "VHD"
	// The Capacitance Electronic Disc (CED) is an analog video disc playback
	// system developed by RCA, in which video and audio could be played back on a
	// TV set using a special needle and high-density groove system similar to
	// phonograph records.
	MediumFormat_CED MediumFormat = "CED"
	// Copy Control CD (CCCD) is an umbrella term for CDs released circa 2001-2006
	// containing software that is ostensibly designed to prevent the CD from being
	// ripped. There are a number of software variants: the most well-known are
	// Macrovision's Cactus Data Shield (CDS) and SunnComm's MediaMax.
	MediumFormat_CopyControlCD MediumFormat = "Copy Control CD"
)

type Recording

type Recording struct {
	// MBID contains the recording's MBID (for editing an existing recording rather than
	// creating a new one).
	MBID string
	// Name contains the recording's title.
	Name string
	// Artist contains the MBID of the artist primarily credited with the recording.
	// TODO: Drop this in favor of only using Artists?
	Artist string
	// Artists contains detailed information about artists credited with the recording.
	Artists []ArtistCredit
	// Disambiguation differentiates this recording from other recordings with similar names.
	// See https://musicbrainz.org/doc/Disambiguation_Comment.
	Disambiguation string
	// Length contains the recording's duration.
	Length time.Duration
	// Video is true if this is a video recording.
	// Per https://musicbrainz.org/doc/How_to_Add_Standalone_Recordings, "an audio track uploaded to
	// Youtube with a static photo does not qualify as a video, this should be used only for actual
	// videos".
	Video bool
	// ISRCs contains 12-byte alphanumeric codes that identify audio or music video recordings.
	// See https://musicbrainz.org/doc/ISRC.
	ISRCs []string
	// URLs contains relationships between this recording and one or more URLs.
	// See https://musicbrainz.org/doc/Style/Relationships/URLs.
	//
	// As of 20221107, https://musicbrainz.org/recording/create lists the following types:
	//
	//  LinkType_License_Recording_URL ("license")
	//  LinkType_PurchaseForDownload_Recording_URL ("purchase for download")
	//  LinkType_DownloadForFree_Recording_URL ("download for free")
	//  LinkType_StreamingMusic_Recording_URL ("stream for free")
	//  LinkType_StreamingPaid_Recording_URL ("streaming page")
	//  LinkType_Crowdfunding_Recording_URL ("crowdfunding page")
	URLs []URL
	// Relationships contains (non-URL) relationships between this recording and other entities.
	Relationships []Relationship
	// EditNote contains the note attached to the edit.
	// See https://musicbrainz.org/doc/Edit_Note.
	EditNote string
}

Recording holds data used to seed the "Add Standalone Recording" form at https://musicbrainz.org/recording/create and the edit-recording form at https://musicbrainz.org/recording/<MBID>/edit. See https://musicbrainz.org/doc/Recording for more information about recording entities.

func (*Recording) Description

func (rec *Recording) Description() string

func (*Recording) Entity added in v0.1.3

func (rec *Recording) Entity() Entity

func (*Recording) Finish

func (rec *Recording) Finish(ctx context.Context, db *db.DB) error

func (*Recording) Method

func (rec *Recording) Method() string

I'm not sure how bogus it is to use GET instead of POST here, but there's no documentation about seeding recordings. ¯\_(ツ)_/¯ When I tried using POST, the recording length wasn't accepted (maybe it needs to be MM:SS instead of milliseconds?), and it's generally more annoying to use POST since there's an interstitial page to prevent XSRFs that the user needs to click through.

func (*Recording) Params

func (rec *Recording) Params() url.Values

func (*Recording) URL

func (rec *Recording) URL(srv string) string

type Relationship added in v0.1.3

type Relationship struct {
	// Target contains the MBID or name of the entity at the other end of the relationship.
	// If a name is supplied rather than an MBID, the field will be seeded for a database search.
	Target string
	// Type contains the database ID of the relationship type.
	// The relationship will be ignored if the link type is inappropriate for the type of the
	// entity being edited (e.g. when seeding a recording, a LinkType_*_Recording type should
	// be specified).
	Type LinkType
	// TypeUUID contains the UUID of the relationship type. It is only used if Type is unset.
	// UUIDs can be found at https://musicbrainz.org/relationships.
	TypeUUID string
	// Attributes contains additional attributes associated with this relationship.
	Attributes []RelationshipAttribute
	// BeginYear contains the year when the relationship started, or 0 if unknown.
	BeginYear int
	// BeginMonth contains the 1-indexed month when the relationship started, or 0 if unknown.
	BeginMonth int
	// BeginDay contains the day of the month when the relationship started, or 0 if unknown.
	BeginDay int
	// EndYear contains the year when the relationship ended, or 0 if unknown.
	EndYear int
	// EndMonth contains the 1-indexed month when the relationship ended, or 0 if unknown.
	EndMonth int
	// EndDay contains the day of the month when the relationship ended, or 0 if unknown.
	EndDay int
	// Ended describes whether the relationship has ended.
	Ended bool
	// Backward describes whether the relationship direction should be reversed.
	// For example, when using LinkType_SamplesMaterial_Recording_Recording,
	// a true value indicates that Target sampled the seeded recording rather than
	// the seeded recording sampling Target.
	Backward bool
}

Relationship holds data used to seed forms with non-URL relationships between entities. See https://musicbrainz.org/doc/Relationships.

type RelationshipAttribute added in v0.1.3

type RelationshipAttribute struct {
	// Type contains the database ID of the attribute type.
	Type LinkAttributeType
	// TypeUUID contains the UUID of the attribute type. It is only used if Type is unset.
	// UUIDs can be found at https://musicbrainz.org/relationship-attributes.
	TypeUUID string
	// CreditedAs is used to fill the "credited as" field (e.g. describing how an instrument was credited).
	CreditedAs string
	// TextValue holds an additional text value associated with the relationship.
	// This is used for e.g. holding the actual number when a LinkAttributeType_Number
	// attribute is added to a LinkType_PartOf_Recording_Series relationship.
	TextValue string
}

RelationshipAttribute modifies a relationship between two entities.

type Release

type Release struct {
	// Title contains the release's title.
	Title string
	// ReleaseGroup the MBID of an existing release group.
	// See https://musicbrainz.org/doc/Release_Group.
	ReleaseGroup string
	// Types contains types for a new release group (if ReleaseGroup is empty).
	// See https://wiki.musicbrainz.org/Release_Group/Type.
	Types []ReleaseGroupType
	// Disambiguation differentiates this release from other releases with similar names.
	// See https://musicbrainz.org/doc/Disambiguation_Comment.
	Disambiguation string
	// Annotation contains additional information that doesn't fit in MusicBrainz's data scheme.
	// See https://musicbrainz.org/doc/Annotation.
	Annotation string
	// Barcode contains the release's barcode. "none" indicates that the release has no barcode.
	Barcode string
	// Language contains the release's language as an ISO 639-3 code (e.g. "eng", "deu", "jpn").
	// See https://en.wikipedia.org/wiki/List_of_ISO_639-3_codes.
	Language string
	// Script contains the script of the text on the release as an ISO 15924 code (e.g. "Latn", "Cyrl").
	// See https://en.wikipedia.org/wiki/ISO_15924.
	Script string
	// Status contains the release's status.
	Status ReleaseStatus
	// Packaging contains the release's packaging as an English string.
	// See https://wiki.musicbrainz.org/Release/Packaging.
	Packaging ReleasePackaging
	// Events contains events corresponding to this release.
	Events []ReleaseEvent
	// Labels contains label-related information corresponding to this release.
	Labels []ReleaseLabel
	// ArtistCredits contains artists credited with the release.
	Artists []ArtistCredit
	// Mediums contains the release's media (which themselves contain tracklists).
	Mediums []Medium
	// URLs contains relationships between this release and one or more URLs.
	// See https://musicbrainz.org/doc/Style/Relationships/URLs.
	//
	// As of 20221028, https://musicbrainz.org/release/add lists the following types:
	//  LinkType_PurchaseForDownload_Release_URL ("purchase for download")
	//  LinkType_DownloadForFree_Release_URL ("download for free")
	//  LinkType_PurchaseForMailOrder_Release_URL ("purchase for mail-order")
	//  LinkType_StreamingMusic_Release_URL ("stream for free")
	//  LinkType_DiscographyEntry_Release_URL ("discography entry")
	//  LinkType_License_Release_URL ("license")
	//  LinkType_ShowNotes_Release_URL ("show notes")
	//  LinkType_Crowdfunding_Release_URL ("crowdfunding page")
	//  LinkType_StreamingPaid_Release_URL ("streaming page")
	URLs []URL
	// EditNote contains the note attached to the edit.
	// See https://musicbrainz.org/doc/Edit_Note.
	EditNote string
	// RedirectURI contains a URL for MusicBrainz to redirect to after the edit is created.
	// The MusicBrainz server will add a "release_mbid" query parameter containing the
	// new release's MBID.
	RedirectURI string
}

Release holds data used to seed the "Add Release" form at http://musicbrainz.org/release/add. See https://musicbrainz.org/doc/Release for more information about releases and https://wiki.musicbrainz.org/Development/Release_Editor_Seeding for information about seeding this form.

func (*Release) Autofill added in v0.1.3

func (rel *Release) Autofill(ctx context.Context, network bool)

Autofill attempts to automatically fill empty fields in rel. The Language and Script fields are filled based on the release and track titles. If network is true, network requests may be made.

func (*Release) Description

func (rel *Release) Description() string

func (*Release) Entity added in v0.1.3

func (rel *Release) Entity() Entity

func (*Release) Finish

func (rel *Release) Finish(ctx context.Context, db *db.DB) error

func (*Release) Method

func (rel *Release) Method() string

func (*Release) Params

func (rel *Release) Params() url.Values

func (*Release) URL

func (rel *Release) URL(srv string) string

type ReleaseEvent

type ReleaseEvent struct {
	// Year contains the event's year, or 0 if unknown.
	Year int
	// Month contains the event's 1-indexed month, or 0 if unknown.
	Month int
	// Day contains the event's day, or 0 if unknown.
	Day int
	// Country contains the event's country as an ISO code (e.g. "GB", "US", "FR").
	// "XW" corresponds to "[Worldwide]".
	Country string
}

ReleaseEvent contains an event corresponding to a release. Unknown fields can be omitted.

type ReleaseGroupType

type ReleaseGroupType string

ReleaseGroupType describes a release group. A release group can be assigned a single primary type and multiple secondary types.

const (
	ReleaseGroupType_Album         ReleaseGroupType = "Album"          // primary
	ReleaseGroupType_Single        ReleaseGroupType = "Single"         // primary
	ReleaseGroupType_EP            ReleaseGroupType = "EP"             // primary
	ReleaseGroupType_Other         ReleaseGroupType = "Other"          // primary
	ReleaseGroupType_Broadcast     ReleaseGroupType = "Broadcast"      // primary
	ReleaseGroupType_Compilation   ReleaseGroupType = "Compilation"    // secondary
	ReleaseGroupType_Soundtrack    ReleaseGroupType = "Soundtrack"     // secondary
	ReleaseGroupType_Spokenword    ReleaseGroupType = "Spokenword"     // secondary
	ReleaseGroupType_Interview     ReleaseGroupType = "Interview"      // secondary
	ReleaseGroupType_Audiobook     ReleaseGroupType = "Audiobook"      // secondary
	ReleaseGroupType_Live          ReleaseGroupType = "Live"           // secondary
	ReleaseGroupType_Remix         ReleaseGroupType = "Remix"          // secondary
	ReleaseGroupType_DJMix         ReleaseGroupType = "DJ-mix"         // secondary
	ReleaseGroupType_MixtapeStreet ReleaseGroupType = "Mixtape/Street" // secondary
	ReleaseGroupType_Demo          ReleaseGroupType = "Demo"           // secondary
)

type ReleaseLabel

type ReleaseLabel struct {
	// MBID contains the label's MBID if known.
	MBID string
	// CatalogNumber contains the release's catalog number.
	CatalogNumber string
	// Name contains the label's name (to prefill the search field if MBID is empty).
	Name string
}

ReleaseLabel contains label-related information associated with a release.

type ReleasePackaging

type ReleasePackaging string

ReleasePackaging describes a release's packaging.

const (
	// The traditional CD case, made of hard, brittle plastic.
	ReleasePackaging_JewelCase ReleasePackaging = "Jewel Case"
	// A thinner jewel case, commonly used for CD singles.
	ReleasePackaging_SlimJewelCase        ReleasePackaging = "Slim Jewel Case"
	ReleasePackaging_Digipak              ReleasePackaging = "Digipak"
	ReleasePackaging_CardboardPaperSleeve ReleasePackaging = "Cardboard/Paper Sleeve"
	ReleasePackaging_Other                ReleasePackaging = "Other"
	ReleasePackaging_None                 ReleasePackaging = "None"
)

type ReleaseStatus

type ReleaseStatus string

ReleaseStatus describes a release's status.

const (
	// Any release officially sanctioned by the artist and/or their record company.
	// Most releases will fit into this category.
	ReleaseStatus_Official ReleaseStatus = "Official"
	// A give-away release or a release intended to promote an upcoming official
	// release (e.g. pre-release versions, releases included with a magazine,
	// versions supplied to radio DJs for air-play).
	ReleaseStatus_Promotion ReleaseStatus = "Promotion"
	// An unofficial/underground release that was not sanctioned by the artist
	// and/or the record company. This includes unofficial live recordings and
	// pirated releases.
	ReleaseStatus_Bootleg ReleaseStatus = "Bootleg"
	// An alternate version of a release where the titles have been changed. These
	// don't correspond to any real release and should be linked to the original
	// release using the transl(iter)ation relationship.
	ReleaseStatus_PseudoRelease ReleaseStatus = "Pseudo-Release"
)

type Track

type Track struct {
	// Title contains the track's name.
	Title string
	// Number contains a free-form track number.
	Number string
	// Recording contains the MBID of the recording corresponding to the track.
	Recording string
	// Length contains the track's duration.
	Length time.Duration
	// Artists contains the artists credited with the track.
	Artists []ArtistCredit
}

Track describes the way that a recording is represented on a medium. See https://musicbrainz.org/doc/Track.

type URL

type URL struct {
	// URL contains the full URL.
	URL string
	// LinkType contains the link type ID.
	// Applicable link types should end in "<Entity>_URL_Link", depending on the
	// type of the entity being linked to the URL (but note that the LinkType
	// enum may not include all possible values).
	LinkType LinkType
}

URL holds data used to seed forms with an entity's relationship to a URL.

type Work added in v0.1.3

type Work struct {
	// MBID contains the work's MBID (for editing an existing work rather than creating a new one).
	MBID string
	// Name contains the work's name.
	Name string
	// Disambiguation differentiates this work from other works with similar names.
	// See https://musicbrainz.org/doc/Disambiguation_Comment.
	Disambiguation string
	// Type describes the work's type.
	// See "Types of works" at https://musicbrainz.org/doc/Work.
	Type WorkType
	// Languages contains database IDs corresponding to the language(s) of the work's lyrics.
	Languages []Language
	// ISWCs contains unique identifiers for the work in T-DDD.DDD.DDD-C format.
	// See https://wiki.musicbrainz.org/ISWC.
	ISWCs []string
	// Attributes contains attributes describing this work.
	Attributes []WorkAttribute
	// Relationships contains (non-URL) relationships between this work and other entities.
	Relationships []Relationship
	// URLs contains relationships between this work and one or more URLs.
	// See https://musicbrainz.org/doc/Style/Relationships/URLs.
	URLs []URL
	// EditNote contains the note attached to the edit.
	// See https://musicbrainz.org/doc/Edit_Note.
	EditNote string
}

Work holds data used to seed the "Add Work" form at https://musicbrainz.org/work/create and the edit-work form at https://musicbrainz.org/work/<MBID>/edit. See https://musicbrainz.org/doc/Work for more information about work entities.

func (*Work) Description added in v0.1.3

func (w *Work) Description() string

func (*Work) Entity added in v0.1.3

func (w *Work) Entity() Entity

func (*Work) Finish added in v0.1.3

func (w *Work) Finish(ctx context.Context, db *db.DB) error

func (*Work) Method added in v0.1.3

func (w *Work) Method() string

func (*Work) Params added in v0.1.3

func (w *Work) Params() url.Values

func (*Work) URL added in v0.1.3

func (w *Work) URL(srv string) string

type WorkAttribute added in v0.1.3

type WorkAttribute struct {
	// Type specifies the attribute's type.
	Type WorkAttributeType
	// Value holds the attribute's value, e.g. an actual ID.
	Value string
}

WorkAttribute describes an attribute associated with a work.

type WorkAttributeType added in v0.1.3

type WorkAttributeType int

WorkAttributeType describes an attribute attached to a work.

const (
	WorkAttributeType_AACIMH_ID           WorkAttributeType = 57  // AACIMH ID
	WorkAttributeType_ACAM_ID             WorkAttributeType = 44  // ACAM ID
	WorkAttributeType_ACDAM_ID            WorkAttributeType = 47  // ACDAM ID
	WorkAttributeType_AEI_ID              WorkAttributeType = 58  // AEI ID
	WorkAttributeType_AGADU_ID            WorkAttributeType = 43  // AGADU ID
	WorkAttributeType_AKKA_LAA_ID         WorkAttributeType = 63  // AKKA/LAA ID
	WorkAttributeType_AKM_ID              WorkAttributeType = 23  // AKM ID
	WorkAttributeType_AMRA_ID             WorkAttributeType = 38  // AMRA ID
	WorkAttributeType_APA_ID              WorkAttributeType = 46  // APA ID
	WorkAttributeType_APDAYC_ID           WorkAttributeType = 41  // APDAYC ID
	WorkAttributeType_APRA_ID             WorkAttributeType = 13  // APRA ID
	WorkAttributeType_ARTISJUS_ID         WorkAttributeType = 48  // ARTISJUS ID
	WorkAttributeType_ASCAP_ID            WorkAttributeType = 6   // ASCAP ID
	WorkAttributeType_BMI_ID              WorkAttributeType = 7   // BMI ID
	WorkAttributeType_BUMA_STEMRA_ID      WorkAttributeType = 26  // BUMA/STEMRA ID
	WorkAttributeType_CASH_ID             WorkAttributeType = 19  // CASH ID
	WorkAttributeType_CCLI_ID             WorkAttributeType = 22  // CCLI ID
	WorkAttributeType_COMPASS_ID          WorkAttributeType = 45  // COMPASS ID
	WorkAttributeType_COSCAP_ID           WorkAttributeType = 73  // COSCAP ID
	WorkAttributeType_COTT_ID             WorkAttributeType = 65  // COTT ID
	WorkAttributeType_ECAD_ID             WorkAttributeType = 37  // ECAD ID
	WorkAttributeType_FormOttomanTurkish  WorkAttributeType = 16  // Form (Ottoman, Turkish)
	WorkAttributeType_GEMA_ID             WorkAttributeType = 9   // GEMA ID
	WorkAttributeType_GMR_ID              WorkAttributeType = 106 // GMR ID
	WorkAttributeType_HFA_ID              WorkAttributeType = 64  // HFA ID
	WorkAttributeType_ICE_ID              WorkAttributeType = 29  // ICE ID
	WorkAttributeType_IMRO_ID             WorkAttributeType = 52  // IMRO ID
	WorkAttributeType_IPRS_ID             WorkAttributeType = 70  // IPRS ID
	WorkAttributeType_Identifiers         WorkAttributeType = 14  // Identifiers
	WorkAttributeType_JACAP_ID            WorkAttributeType = 69  // JACAP ID
	WorkAttributeType_JASRAC_ID           WorkAttributeType = 3   // JASRAC ID
	WorkAttributeType_KODA_ID             WorkAttributeType = 51  // KODA ID
	WorkAttributeType_KOMCA_ID            WorkAttributeType = 11  // KOMCA ID
	WorkAttributeType_Key                 WorkAttributeType = 1   // Key
	WorkAttributeType_LatinNet_ID         WorkAttributeType = 55  // LatinNet ID
	WorkAttributeType_MACP_ID             WorkAttributeType = 49  // MACP ID
	WorkAttributeType_MCSC_ID             WorkAttributeType = 71  // MCSC ID
	WorkAttributeType_MCT_ID              WorkAttributeType = 72  // MCT ID
	WorkAttributeType_MUST_ID             WorkAttributeType = 12  // MÜST ID
	WorkAttributeType_MakamOttomanTurkish WorkAttributeType = 15  // Makam (Ottoman, Turkish)
	WorkAttributeType_NICAUTOR_ID         WorkAttributeType = 59  // NICAUTOR ID
	WorkAttributeType_NexTone_ID          WorkAttributeType = 33  // NexTone ID
	WorkAttributeType_OSA_ID              WorkAttributeType = 25  // OSA ID
	WorkAttributeType_PRSTuneCode         WorkAttributeType = 34  // PRS tune code
	WorkAttributeType_RagaCarnatic        WorkAttributeType = 4   // Rāga (Carnatic)
	WorkAttributeType_RagaHindustani      WorkAttributeType = 32  // Rāga (Hindustani)
	WorkAttributeType_SABAM_ID            WorkAttributeType = 28  // SABAM ID
	WorkAttributeType_SACEM_ID            WorkAttributeType = 21  // SACEM ID
	WorkAttributeType_SACIM_ID            WorkAttributeType = 56  // SACIM ID
	WorkAttributeType_SACM_ID             WorkAttributeType = 27  // SACM ID
	WorkAttributeType_SACVEN_ID           WorkAttributeType = 42  // SACVEN ID
	WorkAttributeType_SADAIC_ID           WorkAttributeType = 24  // SADAIC ID
	WorkAttributeType_SAMRO_ID            WorkAttributeType = 68  // SAMRO ID
	WorkAttributeType_SAYCE_ID            WorkAttributeType = 40  // SAYCE ID
	WorkAttributeType_SAYCO_ID            WorkAttributeType = 39  // SAYCO ID
	WorkAttributeType_SESAC_ID            WorkAttributeType = 8   // SESAC ID
	WorkAttributeType_SGACEDOM_ID         WorkAttributeType = 60  // SGACEDOM ID
	WorkAttributeType_SGAE_ID             WorkAttributeType = 20  // SGAE ID
	WorkAttributeType_SIAE_ID             WorkAttributeType = 36  // SIAE ID
	WorkAttributeType_SOBODAYCOM_ID       WorkAttributeType = 61  // SOBODAYCOM ID
	WorkAttributeType_SOCAN_ID            WorkAttributeType = 10  // SOCAN ID
	WorkAttributeType_SODRAC_ID           WorkAttributeType = 53  // SODRAC ID
	WorkAttributeType_SPAC_ID             WorkAttributeType = 62  // SPAC ID
	WorkAttributeType_SPA_ID              WorkAttributeType = 35  // SPA ID
	WorkAttributeType_STEF_ID             WorkAttributeType = 54  // STEF ID
	WorkAttributeType_STIM_ID             WorkAttributeType = 50  // STIM ID
	WorkAttributeType_SUISA_ID            WorkAttributeType = 18  // SUISA ID
	WorkAttributeType_TEOSTO_ID           WorkAttributeType = 66  // TEOSTO ID
	WorkAttributeType_TONO_ID             WorkAttributeType = 67  // TONO ID
	WorkAttributeType_TalaCarnatic        WorkAttributeType = 5   // Tāla (Carnatic)
	WorkAttributeType_TalaHindustani      WorkAttributeType = 31  // Tāla (Hindustani)
	WorkAttributeType_UsulOttomanTurkish  WorkAttributeType = 17  // Usul (Ottoman, Turkish)
	WorkAttributeType_ZAiKS_ID            WorkAttributeType = 30  // ZAiKS ID
)

type WorkType added in v0.1.3

type WorkType int

WorkType describes a work's type.

const (
	// An aria is a self-contained piece for one voice usually with orchestral
	// accompaniment. They are most common inside operas, but also appear in
	// cantatas, oratorios and even on their own (concert arias).
	WorkType_Aria WorkType = 1
	// An audio drama is a dramatized, purely acoustic performance, broadcast on
	// radio or published on an audio medium (tape, CD, etc.).
	WorkType_AudioDrama WorkType = 25
	// A ballet is music composed to be used, together with a choreography, for a
	// ballet dance production.
	WorkType_Ballet WorkType = 2
	// Beijing opera is a form of traditional Chinese theatre which combines music,
	// vocal performance, mime, dance, and acrobatics.
	WorkType_BeijingOpera WorkType = 26
	// A cantata is a vocal (often choral) composition with an instrumental
	// (usually orchestral) accompaniment, typically in several movements.
	WorkType_Cantata WorkType = 3
	// A concerto is a musical work for soloist(s) accompanied by an orchestra.
	WorkType_Concerto WorkType = 4
	// An étude is an instrumental musical composition, most commonly of
	// considerable difficulty, usually designed to provide practice material for
	// perfecting a particular technical skill.
	WorkType_Etude WorkType = 20
	// Incidental music is music written as background for (usually) a theatre
	// play.
	WorkType_IncidentalMusic WorkType = 30
	// The madrigal is a type of secular vocal music composition. In its original
	// form, it had no instrumental accompaniment, although accompaniment is much
	// more common in later madrigals.
	WorkType_Madrigal WorkType = 7
	// A mass is a choral composition that sets the invariable portions of the
	// Christian Eucharistic liturgy (Kyrie - Gloria - Credo - Sanctus - Benedictus
	// - Agnus Dei, with other portions sometimes added) to music.
	WorkType_Mass WorkType = 8
	// "Motet" is a term that applies to different types of (usually unaccompanied)
	// choral works. What exactly is a motet depends quite a bit on the period.
	WorkType_Motet WorkType = 9
	// Musical theatre is a form of theatrical performance that combines songs,
	// spoken dialogue, acting, and dance.
	WorkType_Musical WorkType = 29
	// An opera is a dramatised work (text + musical score) for singers and
	// orchestra/ensemble. In true operas all dialog is sung, through arias and
	// recitatives, but some styles of opera include spoken dialogue.
	WorkType_Opera WorkType = 10
	// The operetta is a genre of light opera, in terms both of music and subject
	// matter. Operettas are generally short and include spoken parts.
	WorkType_Operetta WorkType = 24
	// An oratorio is a large (usually sacred) musical composition including an
	// orchestra, a choir, and soloists. While it has characters and a plot, it is
	// usually not performed theatrically (it lacks costumes, props and strong
	// character interaction).
	WorkType_Oratorio WorkType = 11
	// An overture is, generally, the instrumental introduction to an opera.
	// Independent ("concert") overtures also exist, which are generally
	// programmatic works shorter than a symphonic poem.
	WorkType_Overture WorkType = 12
	// A partita is an instrumental piece composed of a series of variations, and
	// it's by its current definition very similar to a suite.
	WorkType_Partita WorkType = 13
	// A play is a form of literature usually consisting of scripted dialogue
	// between characters, and intended for theatrical performance rather than just
	// reading.
	WorkType_Play WorkType = 28
	// A poem is a literary piece, generally short and in verse, where words are
	// usually chosen for their sound and for the images and ideas they suggest.
	WorkType_Poem WorkType = 21
	// This represents literary works written in prose, that is, written in
	// relatively ordinary language without metrical structure (e.g. novels, short
	// stories, essays...).
	WorkType_Prose WorkType = 23
	// A quartet is a musical composition scored for four voices or instruments.
	WorkType_Quartet WorkType = 14
	// "Sonata" is a general term used to describe small scale (very often solo or
	// solo + keyboard) instrumental works, initially in baroque music.
	WorkType_Sonata WorkType = 5
	// A song is in its origin (and still in most cases) a composition for voice,
	// with or without instruments, performed by singing. This is the most common
	// form by far in folk and popular music, but also fairly common in a classical
	// context ("art songs").
	WorkType_Song WorkType = 17
	// A song cycle is a group of songs designed to be performed in a sequence as a
	// single entity. In most cases, all of the songs are by the same composer, and
	// often use words from the same poet or lyricist.
	WorkType_SongCycle WorkType = 15
	// A soundtrack is the music that accompanies a film, TV program, videogame, or
	// even book.
	WorkType_Soundtrack WorkType = 22
	// A suite is an ordered set of instrumental or orchestral pieces normally
	// performed in a concert setting. They may be extracts from a ballet or opera,
	// or entirely original movements.
	WorkType_Suite WorkType = 6
	// A symphonic poem is a piece of programmatic orchestral music, usually in a
	// single movement, that evokes a painting, a landscape, the content of a poem,
	// a story or novel, or other non-musical source.
	WorkType_SymphonicPoem WorkType = 18
	// A symphony is an extended composition, almost always scored for orchestra
	// without soloists.
	WorkType_Symphony WorkType = 16
	// A zarzuela is a Spanish lyric-dramatic work that alternates between spoken
	// and sung scenes, the latter incorporating operatic and popular song, as well
	// as dance.
	WorkType_Zarzuela WorkType = 19
)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL