From ef789439406e1e95bfac0d7df49b26aca795f543 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Hru=C5=A1ka?= Date: Mon, 25 Feb 2019 21:52:12 +0100 Subject: [PATCH] fresh fixes --- src/main.rs | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/main.rs b/src/main.rs index 6cf9a48..f39c4b8 100644 --- a/src/main.rs +++ b/src/main.rs @@ -161,20 +161,28 @@ fn main() -> Result<(), Error> { match event { Ok(event) => { debug!("MPRIS event: {:#?}", event); - match &event { + match event { Event::PlayerShutDown => { info!("Player shut down"); break 'event_loop; } - Event::TrackChanged(metadata) => { - let title = metadata.title().unwrap_or(""); + Event::TrackChanged(mut metadata) => { + let mut title = metadata.title().unwrap_or(""); info!("--- new track : {} ---", title); - debug!("{:#?}", event); if title.is_empty() { warn!("!!! Spotify is giving us garbage - empty metadata struct !!!"); - // wait for next event - continue 'event_loop; + + ::std::thread::sleep(Duration::from_millis(250)); + metadata = player.get_metadata().unwrap_or(metadata); + title = metadata.title().unwrap_or(""); + info!("After metadata reload -> new track : {}", title); + + if title.is_empty() { + // wait for next event + warn!("Still bad"); + continue 'event_loop; + } } let mut artists = HashSet::new();