diff options
| author | Ruben Beltran del Rio <git@r.bdr.sh> | 2025-07-17 15:31:38 +0200 |
|---|---|---|
| committer | Ruben Beltran del Rio <git@r.bdr.sh> | 2025-07-17 15:31:38 +0200 |
| commit | ee8ac99d9fa1f348065108b73297eebc8033e57e (patch) | |
| tree | ffccfd2492503c667d9d7fe67361294fef54d130 /src/sources/mod.rs | |
| parent | b3964aefbcab8ff098afabf64befa04a4eebd993 (diff) | |
Use objc2, rename dbus to mpris, add swinsian4.0.0
Diffstat (limited to 'src/sources/mod.rs')
| -rw-r--r-- | src/sources/mod.rs | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/sources/mod.rs b/src/sources/mod.rs index bf68ec3..cac5833 100644 --- a/src/sources/mod.rs +++ b/src/sources/mod.rs @@ -1,20 +1,25 @@ +use crate::configuration::Configuration; use std::io::{Error, Result}; #[cfg(target_os = "macos")] mod apple_music; #[cfg(target_os = "macos")] mod spotify; +#[cfg(target_os = "macos")] +mod swinsian; #[cfg(target_os = "linux")] -mod dbus; +mod mpris; #[cfg(target_os = "macos")] use apple_music::AppleMusic; #[cfg(target_os = "macos")] use spotify::Spotify; +#[cfg(target_os = "macos")] +use swinsian::Swinsian; #[cfg(target_os = "linux")] -use dbus::Dbus; +use mpris::Mpris; use crate::Track; @@ -65,10 +70,12 @@ pub fn reset(source_name: &String) -> Result<()> { Err(Error::other("No such source was available.")) } -pub fn get_track() -> Option<Track> { +pub fn get_track(configuration: &Configuration) -> Option<Track> { let sources = available_sources(); for source in sources { - if let Some(track) = source.current_track() { + if configuration.is_enabled(&source.name()) + && let Some(track) = source.current_track() + { return Some(track); } } @@ -81,11 +88,12 @@ pub fn available_sources() -> Vec<Box<dyn LyricsSource>> { { sources.push(Box::new(AppleMusic::new())); sources.push(Box::new(Spotify::new())); + sources.push(Box::new(Swinsian::new())); } #[cfg(not(target_os = "macos"))] { - sources.push(Box::new(Dbus::new())); + sources.push(Box::new(Mpris::new())); } sources |