From b789b5cf477f58f66bff7fe5741051ff490fc824 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Wed, 6 Oct 2021 11:51:37 -0700 Subject: [PATCH] Fix repeat mode handling --- RedBookPlayer.Models/Hardware/Player.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/RedBookPlayer.Models/Hardware/Player.cs b/RedBookPlayer.Models/Hardware/Player.cs index 73d8e70..b5fdf30 100644 --- a/RedBookPlayer.Models/Hardware/Player.cs +++ b/RedBookPlayer.Models/Hardware/Player.cs @@ -730,7 +730,7 @@ namespace RedBookPlayer.Models.Hardware } // If we are supposed to change tracks, get the next one from the list - if(CurrentTrackNumber != previousTrack) + if(CurrentTrackNumber != previousTrack && !ShouldInvokePlaybackModes) NextTrack(); } @@ -1219,20 +1219,20 @@ namespace RedBookPlayer.Models.Hardware if(e.PropertyName != nameof(ShouldInvokePlaybackModes)) return; - // Always stop before doing anything else + // Always pause before doing anything else PlayerState wasPlaying = PlayerState; - await Dispatcher.UIThread.InvokeAsync(Stop); + await Dispatcher.UIThread.InvokeAsync(Pause); switch(RepeatMode) { case RepeatMode.None: - // No-op + await Dispatcher.UIThread.InvokeAsync(Stop); break; case RepeatMode.Single: _opticalDiscs[CurrentDisc].LoadTrack(CurrentTrackNumber); break; case RepeatMode.All: - SelectRelativeTrack(0); + NextTrack(); break; }