Struct musicbrainz_rs::entity::release::Release[][src]

pub struct Release {
Show 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<String>, pub release_group: Option<ReleaseGroup>, 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: Stringtitle: 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>disambiguation: Option<String>packaging_id: Option<String>packaging: Option<String>

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

release_group: Option<ReleaseGroup>media: Option<Vec<Media>>label_info: Option<Vec<LabelInfo>>tags: Option<Vec<Tag>>aliases: Option<Vec<Alias>>genres: Option<Vec<Genre>>annotation: Option<String>

Trait Implementations

impl Browsable for Release[src]

const COUNT_FIELD: &'static str[src]

const OFFSET_FIELD: &'static str[src]

const ENTITIES_FIELD: &'static str[src]

impl Browse<'_> for Release[src]

fn browse() -> BrowseQuery<Self> where
    Self: Sized + Path<'a>, 
[src]

impl Clone for Release[src]

fn clone(&self) -> Release[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for Release[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl<'de> Deserialize<'de> for Release[src]

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
    __D: Deserializer<'de>, 
[src]

Deserialize this value from the given Serde deserializer. Read more

impl Fetch<'_> for Release[src]

fn fetch() -> FetchQuery<Self> where
    Self: Sized + Path<'a>, 
[src]

impl FetchCoverart<'_> for Release[src]

fn fetch_coverart() -> FetchCoverartQuery<Self> where
    Self: Sized + Path<'a>, 
[src]

impl PartialEq<Release> for Release[src]

fn eq(&self, other: &Release) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

fn ne(&self, other: &Release) -> bool[src]

This method tests for !=.

impl Path<'_> for Release[src]

fn path() -> &'static str[src]

impl Serialize for Release[src]

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
    __S: Serializer
[src]

Serialize this value into the given Serde serializer. Read more

impl StructuralPartialEq for Release[src]

Auto Trait Implementations

impl RefUnwindSafe for Release

impl Send for Release

impl Sync for Release

impl Unpin for Release

impl UnwindSafe for Release

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Err = <U as TryFrom<T>>::Err

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Err>

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]