pub struct Release {
Show 20 fields pub id: String, pub title: String, pub status_id: Option<String>, pub status: Option<ReleaseStatus>, pub date: Option<NaiveDate>, pub country: Option<String>, pub quality: Option<ReleaseQuality>, pub barcode: Option<String>, pub disambiguation: Option<String>, pub packaging_id: Option<String>, pub packaging: Option<ReleasePackaging>, pub relations: Option<Vec<Relation>>, pub release_group: Option<ReleaseGroup>, pub artist_credit: Option<Vec<ArtistCredit>>, pub media: Option<Vec<Media>>, pub label_info: Option<Vec<LabelInfo>>, pub tags: Option<Vec<Tag>>, pub aliases: Option<Vec<Alias>>, pub genres: Option<Vec<Genre>>, pub annotation: Option<String>,
}
Expand description

A MusicBrainz release represents the unique release (i.e. issuing) of a product on a specific date with specific release information such as the country, label, barcode and packaging. If you walk into a store and purchase an album or single, they are each represented in MusicBrainz as one release.

Each release belongs to a release group and contains at least one medium (commonly referred to as a disc when talking about a CD release). Each medium has a tracklist. A medium is the actual physical medium that stores the audio content. This means that each CD in a multi-disc release will be entered as separate mediums within the release, and that both sides of a vinyl record or cassette will exist on one medium. Mediums have a format (e.g. CD, DVD, vinyl, and cassette) and can optionally also have a title. Sometimes a medium can be a side of a disc. For example, the two sides of a hybrid SACD (the CD side and the SACD side) should be entered as two mediums. Tracklists represent the set and ordering of tracks as listed on a liner, and the same tracklist can appear on more than one release. For example, a boxset compilation that contains previously released CDs would share the same tracklists as the separate releases.

Fields§

§id: String§title: String

The title of the release.

§status_id: Option<String>§status: Option<ReleaseStatus>

The status describes how “official” a release is.

§date: Option<NaiveDate>

The date the release was issued.

§country: Option<String>

The country the release was issued in.

§quality: Option<ReleaseQuality>

Data quality indicates how good the data for a release is. It is not a mark of how good or bad the music itself is - for that, use ratings.

§barcode: Option<String>

The barcode, if the release has one. The most common types found on releases are 12-digit UPCs and 13-digit EANs.

§disambiguation: Option<String>

The disambiguation comments are fields in the database used to help distinguish identically named artists, labels and other entities.

§packaging_id: Option<String>§packaging: Option<ReleasePackaging>

The physical packaging that accompanies the release. See the list of packaging for more information.

§relations: Option<Vec<Relation>>§release_group: Option<ReleaseGroup>

The release group associated with this release.

§artist_credit: Option<Vec<ArtistCredit>>

Artist credits indicate who is the main credited artist (or artists) for releases, release groups, tracks and recordings, and how they are credited.

§media: Option<Vec<Media>>§label_info: Option<Vec<LabelInfo>>

The label which issued the release. There may be more than one.

§tags: Option<Vec<Tag>>§aliases: Option<Vec<Alias>>

Aliases are alternate names for a release.

§genres: Option<Vec<Genre>>

Genres are currently supported in MusicBrainz as part of the tag system.

§annotation: Option<String>

Annotations are text fields, functioning like a miniature wiki, that can be added to any existing artists, labels, recordings, releases, release groups and works.

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
This method tests for self and other values to be equal, and is used by ==.
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more