From da0251d55d3902c90967b36b7a5441404bdf24ef Mon Sep 17 00:00:00 2001 From: salmonik Date: Thu, 30 Jul 2026 18:37:52 +0200 Subject: Fix synchronous HTTP calls --- src/mpris.rs | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) (limited to 'src/mpris.rs') diff --git a/src/mpris.rs b/src/mpris.rs index a7ac360..39630b0 100644 --- a/src/mpris.rs +++ b/src/mpris.rs @@ -162,14 +162,12 @@ impl MprisPlayer { fn next(&self) { crate::debug_eprintln(format_args!("mpris: next")); - if let Ok(mut s) = self.scrobble_state.lock() { - crate::daemon::try_scrobble_current(&self.scrobbler, &mut s); - } + crate::daemon::spawn_try_scrobble_current(&self.scrobbler, &self.scrobble_state); if let Ok(mut q) = self.queue.lock() { if let Some(next_path) = q.next() { self.audio.play(next_path.clone()); let track = Track::from_path(next_path); - crate::daemon::send_now_playing(&self.scrobbler, &track); + crate::daemon::spawn_send_now_playing(&self.scrobbler, &track); if let Ok(mut s) = self.scrobble_state.lock() { s.start(track.clone()); } @@ -185,15 +183,13 @@ impl MprisPlayer { fn previous(&self) { crate::debug_eprintln(format_args!("mpris: previous")); - if let Ok(mut s) = self.scrobble_state.lock() { - crate::daemon::try_scrobble_current(&self.scrobbler, &mut s); - } + crate::daemon::spawn_try_scrobble_current(&self.scrobbler, &self.scrobble_state); if let Ok(mut q) = self.queue.lock() && let Some(prev_path) = q.previous() { self.audio.play(prev_path.clone()); let track = Track::from_path(prev_path); - crate::daemon::send_now_playing(&self.scrobbler, &track); + crate::daemon::spawn_send_now_playing(&self.scrobbler, &track); if let Ok(mut s) = self.scrobble_state.lock() { s.start(track.clone()); } @@ -221,9 +217,7 @@ impl MprisPlayer { fn stop(&self) { crate::debug_eprintln(format_args!("mpris: stop")); - if let Ok(mut s) = self.scrobble_state.lock() { - crate::daemon::try_scrobble_current(&self.scrobbler, &mut s); - } + crate::daemon::spawn_try_scrobble_current(&self.scrobbler, &self.scrobble_state); self.audio.stop(); if let Ok(mut q) = self.queue.lock() { q.clear(); @@ -240,7 +234,7 @@ impl MprisPlayer { && let Some(track) = q.current() { self.audio.play(track.path.clone()); - crate::daemon::send_now_playing(&self.scrobbler, track); + crate::daemon::spawn_send_now_playing(&self.scrobbler, track); if let Ok(mut s) = self.scrobble_state.lock() { s.start(track.clone()); } @@ -277,7 +271,7 @@ impl MprisPlayer { && let Some(t) = q.current() { self.audio.play(t.path.clone()); - crate::daemon::send_now_playing(&self.scrobbler, t); + crate::daemon::spawn_send_now_playing(&self.scrobbler, t); if let Ok(mut s) = self.scrobble_state.lock() { s.start(t.clone()); } @@ -289,7 +283,7 @@ impl MprisPlayer { if was_empty && !was_playing { let track = Track::from_path(path); self.audio.play(track.path.clone()); - crate::daemon::send_now_playing(&self.scrobbler, &track); + crate::daemon::spawn_send_now_playing(&self.scrobbler, &track); if let Ok(mut s) = self.scrobble_state.lock() { s.start(track.clone()); } -- cgit v1.2.3