Skip to main content

ManifestEntry

Struct ManifestEntry 

Source
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: String

Relative path of the audio file under the account root.

§format: AudioFormat

Format the file was written in.

§meta_hash: String

Hash of the clip’s tag-bearing metadata, for detecting retag needs.

§art_hash: String

Hash of the embedded cover art, for detecting art drift.

§size: u64

Size of the file in bytes when last written.

§preserve: bool

When 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

Source§

fn clone(&self) -> ManifestEntry

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ManifestEntry

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Default for ManifestEntry

Source§

fn default() -> ManifestEntry

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for ManifestEntry

Source§

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

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Eq for ManifestEntry

Source§

impl PartialEq for ManifestEntry

Source§

fn eq(&self, other: &ManifestEntry) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for ManifestEntry

Source§

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

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for ManifestEntry

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

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

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

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

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.