Struct itunes_com::wrappers::Source
source · pub struct Source { /* private fields */ }Expand description
Safe wrapper over a IITSource
Implementations§
source§impl Source
impl Source
sourcepub fn Kind(&self) -> Result<ITSourceKind>
pub fn Kind(&self) -> Result<ITSourceKind>
The source kind.
Examples found in repository?
examples/wrappers.rs (line 28)
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
fn show_playlists(iTunes: &itunes_com::wrappers::iTunes) -> windows::core::Result<()> {
let sources = iTunes.Sources()?;
for source in sources.iter()? {
let kind = source.Kind()?;
println!("Source kind: {:?}", kind);
if kind == ITSourceKind::ITSourceKindLibrary {
for pl in source.Playlists()?.iter()? {
let pl_kind = pl.Kind()?;
let tracks = pl.Tracks()?;
let track_count = tracks.iter()?.len();
let first_track = tracks.ItemByPlayOrder(1);
let first_track_name = first_track.and_then(|t| t.Name()).unwrap_or(String::from("<no track>"));
println!(" * {}\t{:?}: {} tracks (first one is {})", pl.Name()?, pl_kind, track_count, first_track_name);
}
}
}
Ok(())
}sourcepub fn Playlists(&self) -> Result<PlaylistCollection>
pub fn Playlists(&self) -> Result<PlaylistCollection>
Returns a collection of playlists.
Examples found in repository?
examples/wrappers.rs (line 31)
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
fn show_playlists(iTunes: &itunes_com::wrappers::iTunes) -> windows::core::Result<()> {
let sources = iTunes.Sources()?;
for source in sources.iter()? {
let kind = source.Kind()?;
println!("Source kind: {:?}", kind);
if kind == ITSourceKind::ITSourceKindLibrary {
for pl in source.Playlists()?.iter()? {
let pl_kind = pl.Kind()?;
let tracks = pl.Tracks()?;
let track_count = tracks.iter()?.len();
let first_track = tracks.ItemByPlayOrder(1);
let first_track_name = first_track.and_then(|t| t.Name()).unwrap_or(String::from("<no track>"));
println!(" * {}\t{:?}: {} tracks (first one is {})", pl.Name()?, pl_kind, track_count, first_track_name);
}
}
}
Ok(())
}Trait Implementations§
source§impl IITObjectWrapper for Source
impl IITObjectWrapper for Source
source§fn GetITObjectIDs(&self) -> Result<ObjectIDs>
fn GetITObjectIDs(&self) -> Result<ObjectIDs>
Returns the four IDs that uniquely identify this object.
source§fn Index(&self) -> Result<i32>
fn Index(&self) -> Result<i32>
The index of the object in internal application order (1-based).
source§fn playlistID(&self) -> Result<i32>
fn playlistID(&self) -> Result<i32>
The playlist ID of the object.
source§fn TrackDatabaseID(&self) -> Result<i32>
fn TrackDatabaseID(&self) -> Result<i32>
The track database ID of the object.
Auto Trait Implementations§
impl RefUnwindSafe for Source
impl !Send for Source
impl !Sync for Source
impl Unpin for Source
impl UnwindSafe for Source
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
Mutably borrows from an owned value. Read more