mirror of
https://github.com/aaru-dps/RedBookPlayer.git
synced 2025-12-16 19:24:41 +00:00
Fix repeat mode handling
This commit is contained in:
@@ -730,7 +730,7 @@ namespace RedBookPlayer.Models.Hardware
|
|||||||
}
|
}
|
||||||
|
|
||||||
// If we are supposed to change tracks, get the next one from the list
|
// If we are supposed to change tracks, get the next one from the list
|
||||||
if(CurrentTrackNumber != previousTrack)
|
if(CurrentTrackNumber != previousTrack && !ShouldInvokePlaybackModes)
|
||||||
NextTrack();
|
NextTrack();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1219,20 +1219,20 @@ namespace RedBookPlayer.Models.Hardware
|
|||||||
if(e.PropertyName != nameof(ShouldInvokePlaybackModes))
|
if(e.PropertyName != nameof(ShouldInvokePlaybackModes))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// Always stop before doing anything else
|
// Always pause before doing anything else
|
||||||
PlayerState wasPlaying = PlayerState;
|
PlayerState wasPlaying = PlayerState;
|
||||||
await Dispatcher.UIThread.InvokeAsync(Stop);
|
await Dispatcher.UIThread.InvokeAsync(Pause);
|
||||||
|
|
||||||
switch(RepeatMode)
|
switch(RepeatMode)
|
||||||
{
|
{
|
||||||
case RepeatMode.None:
|
case RepeatMode.None:
|
||||||
// No-op
|
await Dispatcher.UIThread.InvokeAsync(Stop);
|
||||||
break;
|
break;
|
||||||
case RepeatMode.Single:
|
case RepeatMode.Single:
|
||||||
_opticalDiscs[CurrentDisc].LoadTrack(CurrentTrackNumber);
|
_opticalDiscs[CurrentDisc].LoadTrack(CurrentTrackNumber);
|
||||||
break;
|
break;
|
||||||
case RepeatMode.All:
|
case RepeatMode.All:
|
||||||
SelectRelativeTrack(0);
|
NextTrack();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user