aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIonut Andrei Oanca <oancaionutandrei@gmail.com>2020-10-22 16:32:15 +0200
committerIonut Andrei Oanca <oancaionutandrei@gmail.com>2020-10-22 16:32:15 +0200
commit019bc19aa41e1729f1893365133679d8b87e90d0 (patch)
tree881b6da18c26c34f733705c304e9016179d08408
parent0c735a039538bfaa44d25df415f3d41519e37194 (diff)
parentf6ab98507ec6ac25e9b2239e519118db07672592 (diff)
Minor changes to play queue in Syncplay group
-rw-r--r--Emby.Server.Implementations/SyncPlay/GroupController.cs25
-rw-r--r--MediaBrowser.Controller/SyncPlay/Queue/PlayQueueManager.cs40
2 files changed, 40 insertions, 25 deletions
diff --git a/Emby.Server.Implementations/SyncPlay/GroupController.cs b/Emby.Server.Implementations/SyncPlay/GroupController.cs
index 65a711fb4..01e116617 100644
--- a/Emby.Server.Implementations/SyncPlay/GroupController.cs
+++ b/Emby.Server.Implementations/SyncPlay/GroupController.cs
@@ -643,12 +643,33 @@ namespace Emby.Server.Implementations.SyncPlay
/// <inheritdoc />
public void SetRepeatMode(string mode) {
- PlayQueue.SetRepeatMode(mode);
+ switch (mode)
+ {
+ case "RepeatOne":
+ PlayQueue.SetRepeatMode(GroupRepeatMode.RepeatOne);
+ break;
+ case "RepeatAll":
+ PlayQueue.SetRepeatMode(GroupRepeatMode.RepeatAll);
+ break;
+ default:
+ // On unknown values, default to repeat none.
+ PlayQueue.SetRepeatMode(GroupRepeatMode.RepeatNone);
+ break;
+ }
}
/// <inheritdoc />
public void SetShuffleMode(string mode) {
- PlayQueue.SetShuffleMode(mode);
+ switch (mode)
+ {
+ case "Shuffle":
+ PlayQueue.SetShuffleMode(GroupShuffleMode.Shuffle);
+ break;
+ default:
+ // On unknown values, default to sorted playlist.
+ PlayQueue.SetShuffleMode(GroupShuffleMode.Sorted);
+ break;
+ }
}
/// <inheritdoc />
diff --git a/MediaBrowser.Controller/SyncPlay/Queue/PlayQueueManager.cs b/MediaBrowser.Controller/SyncPlay/Queue/PlayQueueManager.cs
index 9ab0dfd2a..030005abe 100644
--- a/MediaBrowser.Controller/SyncPlay/Queue/PlayQueueManager.cs
+++ b/MediaBrowser.Controller/SyncPlay/Queue/PlayQueueManager.cs
@@ -461,21 +461,9 @@ namespace MediaBrowser.Controller.SyncPlay
/// Sets the repeat mode.
/// </summary>
/// <param name="mode">The new mode.</param>
- public void SetRepeatMode(string mode)
+ public void SetRepeatMode(GroupRepeatMode mode)
{
- switch (mode)
- {
- case "RepeatOne":
- RepeatMode = GroupRepeatMode.RepeatOne;
- break;
- case "RepeatAll":
- RepeatMode = GroupRepeatMode.RepeatAll;
- break;
- default:
- RepeatMode = GroupRepeatMode.RepeatNone;
- break;
- }
-
+ RepeatMode = mode;
LastChange = DateTime.UtcNow;
}
@@ -483,16 +471,15 @@ namespace MediaBrowser.Controller.SyncPlay
/// Sets the shuffle mode.
/// </summary>
/// <param name="mode">The new mode.</param>
- public void SetShuffleMode(string mode)
+ public void SetShuffleMode(GroupShuffleMode mode)
{
- switch (mode)
+ if (mode.Equals(GroupShuffleMode.Shuffle))
{
- case "Shuffle":
- ShufflePlaylist();
- break;
- default:
- RestoreSortedPlaylist();
- break;
+ ShufflePlaylist();
+ }
+ else
+ {
+ RestoreSortedPlaylist();
}
}
@@ -501,7 +488,14 @@ namespace MediaBrowser.Controller.SyncPlay
/// </summary>
public void ToggleShuffleMode()
{
- SetShuffleMode(ShuffleMode.Equals(GroupShuffleMode.Shuffle) ? "Shuffle" : "");
+ if (ShuffleMode.Equals(GroupShuffleMode.Sorted))
+ {
+ ShufflePlaylist();
+ }
+ else
+ {
+ RestoreSortedPlaylist();
+ }
}
/// <summary>