From d99c64f33e8e2ac351edc46d3bc0125b05031db0 Mon Sep 17 00:00:00 2001 From: mars Date: Sun, 20 Nov 2022 00:33:05 -0700 Subject: [PATCH] Track position --- apps/music-player/src/main.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/apps/music-player/src/main.rs b/apps/music-player/src/main.rs index 9872c00..bbdffb8 100644 --- a/apps/music-player/src/main.rs +++ b/apps/music-player/src/main.rs @@ -80,6 +80,7 @@ async fn player_main( use futures_util::StreamExt; let mut playback_status = player.receive_playback_status_changed().await.fuse(); let mut metadata_tracker = player.receive_metadata_changed().await.fuse(); + let mut position_tracker = player.receive_position_changed().await.fuse(); let mut metadata = Metadata::new(magpie, player.metadata().await?); @@ -104,6 +105,17 @@ async fn player_main( magpie.send_json_message(0, &InMsg::PlaybackStatusChanged(status)); } } + position = position_tracker.next() => { + let position = match position { + Some(v) => v, + None => break, + }; + + let position = position.get().await?; + let position = position as f32 / 1_000_000.0; // Microseconds to seconds + let progress = ProgressChanged { position }; + magpie.send_json_message(0, &InMsg::ProgressChanged(progress)); + } new_metadata = metadata_tracker.next() => { let new_metadata = match new_metadata { Some(v) => v,