pub struct ComprehensiveMetadata {Show 30 fields
pub title: Option<String>,
pub track_version: Option<String>,
pub album: Option<String>,
pub album_version: Option<String>,
pub performers: Option<String>,
pub performer_name: Option<String>,
pub album_artist_name: Option<String>,
pub album_artists: Vec<AlbumArtistBrief>,
pub album_composer_name: Option<String>,
pub track_composer_name: Option<String>,
pub genre: Option<String>,
pub album_release_date_download: Option<String>,
pub album_release_date_original: Option<String>,
pub track_release_date_original: Option<String>,
pub released_at: Option<i64>,
pub copyright: Option<String>,
pub isrc: Option<String>,
pub upc: Option<String>,
pub product_url: Option<String>,
pub label: Option<String>,
pub release_type: Option<String>,
pub product_type: Option<String>,
pub track_number: Option<i32>,
pub track_total: Option<i32>,
pub disc_number: Option<i32>,
pub disc_total: Option<i32>,
pub parental_warning: Option<bool>,
pub is_classical: bool,
pub cover_art_url: Option<String>,
pub cover_art_data: Option<Vec<u8>>,
}Expand description
Comprehensive metadata extracted from API models.
Carries raw data needed by the embedder for format-specific processing. The embedder performs complex extraction logic (artists from performers, composers, format-specific handling) based on this data.
Fields§
§title: Option<String>Track title.
track_version: Option<String>Track version (e.g., “Remastered 2015”).
album: Option<String>Album title.
album_version: Option<String>Album version (e.g., “Deluxe Edition”).
performers: Option<String>Raw performers string from API (e.g., “Name, MainArtist - Other, Composer”).
performer_name: Option<String>Track performer artist name.
album_artist_name: Option<String>Album primary artist name.
album_artists: Vec<AlbumArtistBrief>Album artists with roles for format-specific album artist handling.
album_composer_name: Option<String>Album composer name.
track_composer_name: Option<String>Track composer name.
genre: Option<String>Genre name.
album_release_date_download: Option<String>Album download release date (highest priority).
album_release_date_original: Option<String>Album original release date.
track_release_date_original: Option<String>Track original release date.
released_at: Option<i64>Album release timestamp (unix).
copyright: Option<String>Copyright notice (from track).
isrc: Option<String>ISRC code.
upc: Option<String>Universal Product Code.
product_url: Option<String>Product URL for commercial information.
label: Option<String>Record label name.
release_type: Option<String>Release type (album, single, compilation, etc.).
product_type: Option<String>Product type (fallback for media type).
track_number: Option<i32>Track number.
track_total: Option<i32>Total tracks in album.
disc_number: Option<i32>Disc number.
disc_total: Option<i32>Total discs in album.
parental_warning: Option<bool>Explicit content flag.
is_classical: boolWhether track has a work field (classical music indicator).
cover_art_url: Option<String>Best available cover art URL.
cover_art_data: Option<Vec<u8>>Downloaded cover art binary data.
Trait Implementations§
Source§impl Clone for ComprehensiveMetadata
impl Clone for ComprehensiveMetadata
Source§fn clone(&self) -> ComprehensiveMetadata
fn clone(&self) -> ComprehensiveMetadata
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ComprehensiveMetadata
impl Debug for ComprehensiveMetadata
Source§impl Default for ComprehensiveMetadata
impl Default for ComprehensiveMetadata
Source§fn default() -> ComprehensiveMetadata
fn default() -> ComprehensiveMetadata
Source§impl PartialEq for ComprehensiveMetadata
impl PartialEq for ComprehensiveMetadata
impl StructuralPartialEq for ComprehensiveMetadata
Auto Trait Implementations§
impl Freeze for ComprehensiveMetadata
impl RefUnwindSafe for ComprehensiveMetadata
impl Send for ComprehensiveMetadata
impl Sync for ComprehensiveMetadata
impl Unpin for ComprehensiveMetadata
impl UnsafeUnpin for ComprehensiveMetadata
impl UnwindSafe for ComprehensiveMetadata
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more