Development/Seeding/Release Editor: Difference between revisions

From MusicBrainz Wiki
Jump to navigationJump to search
No edit summary
(This change will actually apply in two weeks, but adding it now because we will otherwise 100% forget.)
(37 intermediate revisions by 12 users not shown)
Line 1: Line 1:
This page documents a lit of parameters you can post the release editor to "seed" it. All values are optional unless otherwise stated.
This page documents a list of parameters you can POST to the release editor to “seed” it. All values are optional unless otherwise stated.

To create a new release: http://musicbrainz.org/release/add

The MusicBrainz server includes an example which demonstrates seeding: [http://musicbrainz.org/static/tests/seed-love-bug.html seed-love-bug.html].


== Release data ==
== Release data ==


; name
; <code>name</code>
: The name of the release. Non-empty string. Required
: The name of the release. Non-empty string. '''Required'''
=== Release group data ===
; comment
<blockquote>
We can either re-use an existing release group with
; <code>release_group</code>
: The MBID of an existing release group
Or we can create a new release group which will have the name of the release by listing its type(s)
; <code>type</code>
: The type(s) of the release group that will be created. Possible values: <code>album</code>, <code>single</code>, <code>ep</code>, <code>compilation</code>, <code>soundtrack</code>, <code>spokenword</code>, <code>interview</code>, <code>audiobook</code>, <code>live</code>, <code>remix</code>, <code>other</code> (this can be specified multiple times to select multiple secondary types, though only one primary type should be specified).
</blockquote>
; <code>comment</code>
: A disambiguation comment for the release. Non-empty string
: A disambiguation comment for the release. Non-empty string
; annotation
; <code>annotation</code>
: Text to place in the releases annotation
: Text to place in the releases annotation. Use a text area / multi-line text
; barcode
; <code>barcode</code>
: The barcode of the release. May be any valid barcode without whitespace
: The barcode of the release. May be any valid barcode without whitespace. To indicate there is no barcode, seed "none".
; <code>language</code>
; date.year
: The language of the release. May be any valid [[wikipedia:List_of_ISO_639-2_codes|ISO 639-2/T]] code (for example: <code>eng</code>, <code>deu</code>, <code>jpn</code>)
; date.month
; <code>script</code>
; date.day
: The script of the text on the release. May be any valid [[wikipedia:ISO_15924|ISO 15924]] code (for example: <code>Latn</code>, <code>Cyrl</code>)
: The date of the release. Each field is an integer
; <code>status</code>
; country
: The status of the release, as defined by MusicBrainz. Possible values: <code>official</code>, <code>promotion</code>, <code>bootleg</code>, <code>pseudo</code>
: The country the release was released in. May be any valid country ISO code (for example, GB, US, FR)
; <code>packaging</code>
; language
: The type of packaging of the release. Possible values: <code>jewel case</code>, <code>slim jewel case</code>, <code>digipak</code>, <code>cardboard/paper sleeve</code>, <code>other</code>, <code>keep case</code>
: The language of the release. May be any valid ISO 639-2/T code (for example, eng, deu, jpn)

; script
=== Release events ===
: The script of the text on the release. May be any valid ISO 15924 code (for example, Latn, Cyrl)

; status
<blockquote>
: The status of the release, as defined by MusicBrainz. Possible values: official, promotion, bootleg, pseudo
A release can have zero, one or several release events. Each release event is composed of a date and a country. You must specify a positive integer for the <code>''x''</code> part of the field name to specify which release event referring to. For example: <code>events.''0''.date.year & events.''0''.country</code> or <code>events.''3''.date.year & events.''3''.date.month & events.''3''.date.day & events.''3''.country</code>
; type

: The type of the release group, if a release group will be created. Possible values: album, single, ep, compilation, soundtrack, spokenword, interview, audiobook, live, remix, other
; <code>events.''x''.date.year</code>
; packaging
; <code>events.''x''.date.month</code>
: The type of packaging of the release. Possible values: jewel-case, slim-jewel-case, digipak, paper-sleeve, other
; <code>events.''x''.date.day</code>
: The date of the release event. Each field is an integer
; <code>events.''x''.country</code>
: The country of the release event. May be any valid country ISO code (for example: <code>GB</code>, <code>US</code>, <code>FR</code>)
</blockquote>


=== Labels and catalog numbers ===
=== Labels and catalog numbers ===


<blockquote>
Releases may be associated with multiple labels and catalog numbers, so the fields for specifying these is a little different. You must specify a positive integer for the ''n'' part of the field name to specify which label/catalog number pair you are referring to. For example: label.0.mbid and label.0.catalog_number
Releases may be associated with multiple labels and catalog numbers, so the fields for specifying these is a little different. You must specify a positive integer for the <code>''x''</code> part of the field name to specify which label/catalog number pair you are referring to. For example: <code>label.''0''.mbid</code> and <code>label.''0''.catalog_number</code>


; labels.''n''.mbid
; <code>labels.''x''.mbid</code>
: The MBID of the label.
: The MBID of the label
; labels.''n''.catalog_number
; <code>labels.''x''.catalog_number</code>
: The catalog number of this release, for label ''n''.
: The catalog number of this release, for label <code>''x''</code>
; <code>labels.''x''.name</code>
: The name of the label. If an MBID is present, this value is ignored
</blockquote>


=== Artist credit ===
=== Artist credit ===


<blockquote>
A release may be credited to multiple artists via what is known as an "artist credit." To specify the artists a release is credited, you can use the following fields:
A release may be credited to multiple artists via what is known as an [[Artist Credit]]. To specify the artists a release is credited to, you can use the following fields:

; <code>artist_credit.names.''x''.mbid</code>
: The MBID of the artist. If omitted you will be able to either create the artist in the release editor, or search MusicBrainz for this artist
; <code>artist_credit.names.''x''.name</code>
: The name of the artist, as credited on the release. Optional, if omitted it will default to the artist’s current name
; <code>artist_credit.names.''x''.artist.name</code>
: The name of the artist as it is usually referred too. Optional if you already specified both credited name and MBID
; <code>artist_credit.names.''x''.join_phrase</code>
: An optional phrase to join this artist with the next artist. For example, you could use “ &amp; ” to join “Calvin” with “Hobbes” to get the final text “Calvin &amp; Hobbes”
</blockquote>

== Tracklists data ==

As with labels above, there may be multiple mediums and tracklists which themselves may contain multiple tracks, so again you will need to fill in the <code>''x''</code> and <code>''y''</code> parameters accordingly. As with others, <code>''x''</code> and <code>''y''</code> are 0-indexed. Values for <code>''x''</code> must be in consecutive order starting with <code>''0''</code>; with at least 1 track for each medium.

=== Mediums ===

; <code>mediums.''x''.format</code>
: Any valid medium format name: you can find the possible values in the release editor page’s source code
; <code>mediums.''x''.position</code>
: The position of this medium in the list of mediums. If omitted, it will be inferred from the order of all mediums passed in (which is normally what you want)
; <code>mediums.''x''.name</code>
: The name of medium <code>''x''</code> (for example “Live &amp; Unreleased”)

==== Tracks ====

<blockquote>
; <code>mediums.''x''.track.''y''.name</code>
: The name of track <code>''y''</code> on medium <code>''x''</code>
; <code>mediums.''x''.track.''y''.number</code>
: The free-form track number of track <code>''y''</code> on medium <code>''x''</code>
; <code>mediums.''x''.track.''y''.recording</code>
: The MBID of an existing recording in the database which should be associated with track <code>''y''</code> on medium <code>''x''</code>
; <code>mediums.''x''.track.''y''.length</code>
: The tracks duration, in <code>MM:SS</code> form or a single integer as milliseconds

===== Track artist credits =====

Refer to [[#Artist_credit|release artist credit]], as track artist credits share the same syntax. Here too you can have <code>''z''</code> artists (the first being <code>''0''</code> again).

; <code>mediums.''x''.track.''y''.artist_credit.names.''z''.mbid </code>
; <code>mediums.''x''.track.''y''.artist_credit.names.''z''.name </code>
; <code>mediums.''x''.track.''y''.artist_credit.names.''z''.artist.name </code>
; <code>mediums.''x''.track.''y''.artist_credit.names.''z''.join_phrase</code>
</blockquote>


== URL relationships ==
; artist_credit.names.''n''.mbid
: The MBID of the artist
; artist_credit.names.''n''.name
: The name of the artist, as credited on the release. Optional, if omitted it will default to the artist's current name
; artist_credit.names.''n''.join_pahres
: An optional phrase to join this artist with the next artist. For example, you could use " & " to join "Calvin" with "Hobbes" to get the final text "Calvin & Hobbes"


You can seed a list of URLs to add as relationships to the release, using the following fields:


; <code>urls.''x''.url</code>
== Tracklists and Mediums ==
: The URL to relate to. Non-empty string.
; <code>urls.''x''.link_type</code>
: The integer link type ID to use for the relationship. Not required; if left blank, can be selected in the release editor.


== Other data ==
As with labels above, their may be multiple mediums and tracklists may contain multiple tracks, so again you will need to fill in the ''n'' and ''m'' parameters accordingly.


; <code>edit_note</code>
; medium.''n''.format
: Specify the content of the edit note. Use a text area / multi-line text
: Any valid medium format name: may be any one of '''auto generate me'''
; medium.''n''.position
: The position of this medium in the list of mediums. If omitted, it will be inferred from the order of all mediums passed in (which is normally what you want).
; medium.''n''.name
: The name of medium ''n'' (for example "Live & Unreleased")


; <code>redirect_uri</code>
; medium.''n''.track.''m''.name
: A URI to redirect to after the release is submitted. The release's MBID will be added to this URI under the 'release_mbid' query parameter. E.g., if 'http://example.com/' is provided for this, the user will be redirected to a URI like 'http://example.com/?release_mbid=4587fe99-db0e-4553-a56a-164dd38ab380'
: The name of track ''n'' on medium ''m''
; medium.''n''.track.''m''.duration
: The duration of track ''n'' on medium ''m'' in <code>MM:SS</code> form. You may also pass a single integer, which will be interpreted as seconds (milliseconds?)

Revision as of 09:47, 3 October 2019

This page documents a list of parameters you can POST to the release editor to “seed” it. All values are optional unless otherwise stated.

To create a new release: http://musicbrainz.org/release/add

The MusicBrainz server includes an example which demonstrates seeding: seed-love-bug.html.

Release data

name
The name of the release. Non-empty string. Required

Release group data

We can either re-use an existing release group with

release_group
The MBID of an existing release group

Or we can create a new release group which will have the name of the release by listing its type(s)

type
The type(s) of the release group that will be created. Possible values: album, single, ep, compilation, soundtrack, spokenword, interview, audiobook, live, remix, other (this can be specified multiple times to select multiple secondary types, though only one primary type should be specified).
comment
A disambiguation comment for the release. Non-empty string
annotation
Text to place in the releases annotation. Use a text area / multi-line text
barcode
The barcode of the release. May be any valid barcode without whitespace. To indicate there is no barcode, seed "none".
language
The language of the release. May be any valid ISO 639-2/T code (for example: eng, deu, jpn)
script
The script of the text on the release. May be any valid ISO 15924 code (for example: Latn, Cyrl)
status
The status of the release, as defined by MusicBrainz. Possible values: official, promotion, bootleg, pseudo
packaging
The type of packaging of the release. Possible values: jewel case, slim jewel case, digipak, cardboard/paper sleeve, other, keep case

 Release events

A release can have zero, one or several release events. Each release event is composed of a date and a country. You must specify a positive integer for the x part of the field name to specify which release event referring to. For example: events.0.date.year & events.0.country or events.3.date.year & events.3.date.month & events.3.date.day & events.3.country

events.x.date.year
events.x.date.month
events.x.date.day
The date of the release event. Each field is an integer
events.x.country
The country of the release event. May be any valid country ISO code (for example: GB, US, FR)

Labels and catalog numbers

Releases may be associated with multiple labels and catalog numbers, so the fields for specifying these is a little different. You must specify a positive integer for the x part of the field name to specify which label/catalog number pair you are referring to. For example: label.0.mbid and label.0.catalog_number

labels.x.mbid
The MBID of the label
labels.x.catalog_number
The catalog number of this release, for label x
labels.x.name
The name of the label. If an MBID is present, this value is ignored

Artist credit

A release may be credited to multiple artists via what is known as an Artist Credit. To specify the artists a release is credited to, you can use the following fields:

artist_credit.names.x.mbid
The MBID of the artist. If omitted you will be able to either create the artist in the release editor, or search MusicBrainz for this artist
artist_credit.names.x.name
The name of the artist, as credited on the release. Optional, if omitted it will default to the artist’s current name
artist_credit.names.x.artist.name
The name of the artist as it is usually referred too. Optional if you already specified both credited name and MBID
artist_credit.names.x.join_phrase
An optional phrase to join this artist with the next artist. For example, you could use “ & ” to join “Calvin” with “Hobbes” to get the final text “Calvin & Hobbes”

Tracklists data

As with labels above, there may be multiple mediums and tracklists which themselves may contain multiple tracks, so again you will need to fill in the x and y parameters accordingly. As with others, x and y are 0-indexed. Values for x must be in consecutive order starting with 0; with at least 1 track for each medium.

Mediums

mediums.x.format
Any valid medium format name: you can find the possible values in the release editor page’s source code
mediums.x.position
The position of this medium in the list of mediums. If omitted, it will be inferred from the order of all mediums passed in (which is normally what you want)
mediums.x.name
The name of medium x (for example “Live & Unreleased”)

Tracks

mediums.x.track.y.name
The name of track y on medium x
mediums.x.track.y.number
The free-form track number of track y on medium x
mediums.x.track.y.recording
The MBID of an existing recording in the database which should be associated with track y on medium x
mediums.x.track.y.length
The tracks duration, in MM:SS form or a single integer as milliseconds
Track artist credits

Refer to release artist credit, as track artist credits share the same syntax. Here too you can have z artists (the first being 0 again).

mediums.x.track.y.artist_credit.names.z.mbid
mediums.x.track.y.artist_credit.names.z.name
mediums.x.track.y.artist_credit.names.z.artist.name
mediums.x.track.y.artist_credit.names.z.join_phrase

URL relationships

You can seed a list of URLs to add as relationships to the release, using the following fields:

urls.x.url
The URL to relate to. Non-empty string.
urls.x.link_type
The integer link type ID to use for the relationship. Not required; if left blank, can be selected in the release editor.

Other data

edit_note
Specify the content of the edit note. Use a text area / multi-line text
redirect_uri
A URI to redirect to after the release is submitted. The release's MBID will be added to this URI under the 'release_mbid' query parameter. E.g., if 'http://example.com/' is provided for this, the user will be redirected to a URI like 'http://example.com/?release_mbid=4587fe99-db0e-4553-a56a-164dd38ab380'