pub struct Track {
pub file_path: PathBuf,
pub quality: QualityProfile,
pub title: Option<String>,
pub track_number: Option<u32>,
pub album: Option<String>,
pub artist: Option<String>,
pub album_artist: Option<String>,
pub year: Option<u32>,
pub genre: Option<String>,
pub comment: Option<String>,
}Expand description
Represents a single audio track in an audiobook
Fields§
§file_path: PathBufPath to the audio file
quality: QualityProfileQuality profile of this track
title: Option<String>Track title (from metadata or filename)
track_number: Option<u32>Track number
album: Option<String>Album/book title
artist: Option<String>Artist/author
album_artist: Option<String>Album artist
year: Option<u32>Year
genre: Option<String>Genre
comment: Option<String>Comment
Implementations§
Source§impl Track
impl Track
Sourcepub fn new(file_path: PathBuf, quality: QualityProfile) -> Self
pub fn new(file_path: PathBuf, quality: QualityProfile) -> Self
Create a new track with required fields
Sourcepub fn get_filename_stem(&self) -> String
pub fn get_filename_stem(&self) -> String
Get the filename without extension
Sourcepub fn get_extension(&self) -> Option<String>
pub fn get_extension(&self) -> Option<String>
Get the file extension
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Track
impl<'de> Deserialize<'de> for Track
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Track
impl RefUnwindSafe for Track
impl Send for Track
impl Sync for Track
impl Unpin for Track
impl UnwindSafe for Track
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)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>
Converts
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>
Converts
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