pub struct ReleaseFacts {
pub lookup_mbid: Option<String>,
pub primary_type: Option<String>,
pub secondary_types: Vec<String>,
pub first_released: Option<String>,
pub label: Option<String>,
pub label_mbid: Option<String>,
pub cover_art: Option<String>,
pub edition_mbid: Option<String>,
pub edition_lookup_mbid: Option<String>,
pub credits: Vec<CreditLink>,
pub relationships_complete: bool,
}Expand description
What a source says about one release.
Unlike the artist fields, these do have tag counterparts — Picard writes
RELEASETYPE, DATE and LABEL — which is what makes a release the place
where agreement and disagreement can actually be observed.
Fields§
§lookup_mbid: Option<String>Release-group MBID whose exact lookup confirmed the canonical source ID. Edition lookups never establish this alias. Optional on legacy snapshots; it preserves identity through a merge without replacing the local tag.
primary_type: Option<String>Album, Single, EP, Broadcast, Other — the release group’s primary type.
secondary_types: Vec<String>Compilation, Soundtrack, Live, Remix, Demo… any number of them.
first_released: Option<String>First release date of the group, which is not the date of this edition: a 2011 remaster of a 1973 album was first released in 1973.
label: Option<String>Label, as the source names it.
label_mbid: Option<String>The label’s own MusicBrainz identifier, when the same answer carried one.
Kept beside the name rather than instead of it, the same choice
ArtistFacts::country_code makes beside ArtistFacts::area: the
source states both, and a reader who only wants to see the label reads
the name, while fetch --labels reads the identifier. Read from the
very label-info entry the name came from — never from a different
one — so a release crediting several labels is never misattributed.
Never from a tag: no widely used tag carries a label’s MusicBrainz
identifier, so this can only ever come from a release lookup, unlike
every other mbid in crate::model.
cover_art: Option<String>Address of the front image, when a source holds one.
The address rather than the picture: a catalog is a description of a
library, and megabytes of artwork inside sources.json would make every
load of it slower for something that belongs beside the music. The image
is written into the album’s folder, where the next scan discovers it
exactly as it would one the user put there.
Kept so that “asked, and there is a cover” can be told from “asked, and there is none” — the distinction this whole layer exists for — and so that a second run costs nothing.
edition_mbid: Option<String>Canonical edition returned for these relationships, absent for a group search.
edition_lookup_mbid: Option<String>Exact edition selector confirmed by a redirected lookup. This is separate from the release-group alias and absent from legacy snapshots.
credits: Vec<CreditLink>Artist relationships on this edition, never on the release group.
relationships_complete: boolDistinguishes an empty lookup from an edition never queried for credits.
Trait Implementations§
Source§impl Clone for ReleaseFacts
impl Clone for ReleaseFacts
Source§fn clone(&self) -> ReleaseFacts
fn clone(&self) -> ReleaseFacts
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more