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,