Added tracking/capturing/restoration of audio playback state and position.

This commit is contained in:
2026-08-08 16:37:55 -04:00
parent c262ee4caa
commit 0942e3e5ad
11 changed files with 92 additions and 15 deletions

View File

@@ -13,6 +13,7 @@ public class SessionTracker(
{
playlistManager.CurrentPlaylistChanged += OnCurrentPlaylistChanged;
audioPlayer.PlayingSongChanged += OnPlayingSongChanged;
audioPlayer.PropertyChanged += OnAudioPlayerPropertyChanged;
}
private void OnCurrentPlaylistChanged(object? sender, EventArgs e)
@@ -26,4 +27,19 @@ public class SessionTracker(
AudioPlayerState audioPlayerState = sessionService.Session.Player;
audioPlayerState.PlaylistSongUID = e.NewSong?.UID;
}
private void OnAudioPlayerPropertyChanged(object? sender, System.ComponentModel.PropertyChangedEventArgs e)
{
switch (e.PropertyName)
{
case nameof(IAudioPlayer.State):
sessionService.Session.Player.PlaybackState = audioPlayer.State;
break;
}
}
public void Capture()
{
sessionService.Session.Player.Position = audioPlayer.Position;
}
}