pub struct ManifestEntry {Show 14 fields
pub path: String,
pub format: AudioFormat,
pub meta_hash: String,
pub art_hash: String,
pub size: u64,
pub preserve: bool,
pub cover_jpg: Option<ArtifactState>,
pub cover_webp: Option<ArtifactState>,
pub details_txt: Option<ArtifactState>,
pub lyrics_txt: Option<ArtifactState>,
pub lrc: Option<ArtifactState>,
pub synced_lyrics: Option<SyncedLyricsCheck>,
pub video_mp4: Option<ArtifactState>,
pub stems: BTreeMap<String, ArtifactState>,
}Expand description
One manifest record: the prior known state of a single downloaded clip.
Fields§
§path: StringRelative path of the audio file under the account root.
format: AudioFormatFormat the file was written in.
meta_hash: StringHash of the clip’s tag-bearing metadata, for detecting retag needs.
art_hash: StringHash of the embedded cover art, for detecting art drift.
size: u64Size of the file in bytes when last written.
preserve: boolWhen set, this clip is held by a copy or archive source, or is private, so it must never be deleted as an orphan no matter the current selection. The caller writes this marker; the reconcile engine only reads it.
cover_jpg: Option<ArtifactState>Prior state of the external cover.jpg sidecar, when one was written.
cover_webp: Option<ArtifactState>Prior state of the external cover.webp sidecar, when one was written.
details_txt: Option<ArtifactState>Prior state of the plain-text .details.txt sidecar, when one was written.
lyrics_txt: Option<ArtifactState>Prior state of the plain-text .lyrics.txt sidecar, when one was written.
lrc: Option<ArtifactState>Prior state of the synced .lrc sidecar, when one was written. Its hash
is the content hash of the rendered .lrc body, so an alignment or
renderer change rewrites it.
synced_lyrics: Option<SyncedLyricsCheck>The synced-lyrics resolution marker, gating whether the clip’s alignment is re-fetched. Present once the clip has been resolved (written or empty).
video_mp4: Option<ArtifactState>Prior state of the standalone .mp4 music video, when one was written.
stems: BTreeMap<String, ArtifactState>Prior state of each downloaded stem, keyed by a stable per-stem key (the server stem id, falling back to its label). Unlike the single-slot sidecars above, a clip owns a set of stems, so this is a keyed map: individual stems are added, rewritten, or removed without disturbing the others (no whole-folder deletes). Empty and omitted from older manifests, so the growth is purely additive.
Trait Implementations§
Source§impl Clone for ManifestEntry
impl Clone for ManifestEntry
Source§fn clone(&self) -> ManifestEntry
fn clone(&self) -> ManifestEntry
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 ManifestEntry
impl Debug for ManifestEntry
Source§impl Default for ManifestEntry
impl Default for ManifestEntry
Source§fn default() -> ManifestEntry
fn default() -> ManifestEntry
Source§impl<'de> Deserialize<'de> for ManifestEntrywhere
ManifestEntry: Default,
impl<'de> Deserialize<'de> for ManifestEntrywhere
ManifestEntry: Default,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for ManifestEntry
Source§impl PartialEq for ManifestEntry
impl PartialEq for ManifestEntry
Source§fn eq(&self, other: &ManifestEntry) -> bool
fn eq(&self, other: &ManifestEntry) -> bool
self and other values to be equal, and is used by ==.