aboutsummaryrefslogtreecommitdiff
path: root/src/sources/mod.rs
diff options
context:
space:
mode:
authorRuben Beltran del Rio <git@r.bdr.sh>2025-07-17 15:31:38 +0200
committerRuben Beltran del Rio <git@r.bdr.sh>2025-07-17 15:31:38 +0200
commitee8ac99d9fa1f348065108b73297eebc8033e57e (patch)
treeffccfd2492503c667d9d7fe67361294fef54d130 /src/sources/mod.rs
parentb3964aefbcab8ff098afabf64befa04a4eebd993 (diff)
Use objc2, rename dbus to mpris, add swinsian4.0.0
Diffstat (limited to 'src/sources/mod.rs')
-rw-r--r--src/sources/mod.rs18
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