From 31e9c3d95e85f8c5e3d11c3ce401f2a35e1d62fa Mon Sep 17 00:00:00 2001 From: Ionut Andrei Oanca Date: Sun, 24 Jan 2021 01:02:10 +0100 Subject: [PATCH 1/3] Clear playlist in SyncPlay group --- src/components/syncPlay/core/Controller.js | 12 ++++++++++++ src/components/syncPlay/ui/players/NoActivePlayer.js | 11 +++++++++++ 2 files changed, 23 insertions(+) diff --git a/src/components/syncPlay/core/Controller.js b/src/components/syncPlay/core/Controller.js index 695ccde9f1..df0dbd177a 100644 --- a/src/components/syncPlay/core/Controller.js +++ b/src/components/syncPlay/core/Controller.js @@ -100,6 +100,18 @@ class Controller { }); } + /** + * Clears the playlist of a SyncPlay group. + * @param {Array} clearPlayingItem Whether to remove the playing item as well. + */ + clearPlaylist(clearPlayingItem = false) { + const apiClient = this.manager.getApiClient(); + apiClient.requestSyncPlayRemoveFromPlaylist({ + ClearPlaylist: true, + ClearPlayingItem: clearPlayingItem + }); + } + /** * Removes items from SyncPlay group playlist. * @param {Array} playlistItemIds The items to remove. diff --git a/src/components/syncPlay/ui/players/NoActivePlayer.js b/src/components/syncPlay/ui/players/NoActivePlayer.js index 48dfe953ba..92dced3ef4 100644 --- a/src/components/syncPlay/ui/players/NoActivePlayer.js +++ b/src/components/syncPlay/ui/players/NoActivePlayer.js @@ -45,6 +45,7 @@ class NoActivePlayer extends SyncPlay.Players.GenericPlayer { playbackManager._localPlay = playbackManager.play; playbackManager._localSetCurrentPlaylistItem = playbackManager.setCurrentPlaylistItem; + playbackManager._localClearQueue = playbackManager.clearQueue; playbackManager._localRemoveFromPlaylist = playbackManager.removeFromPlaylist; playbackManager._localMovePlaylistItem = playbackManager.movePlaylistItem; playbackManager._localQueue = playbackManager.queue; @@ -62,6 +63,7 @@ class NoActivePlayer extends SyncPlay.Players.GenericPlayer { playbackManager.play = this.playRequest; playbackManager.setCurrentPlaylistItem = this.setCurrentPlaylistItemRequest; + playbackManager.clearQueue = this.clearQueueRequest; playbackManager.removeFromPlaylist = this.removeFromPlaylistRequest; playbackManager.movePlaylistItem = this.movePlaylistItemRequest; playbackManager.queue = this.queueRequest; @@ -93,6 +95,7 @@ class NoActivePlayer extends SyncPlay.Players.GenericPlayer { playbackManager.play = playbackManager._localPlay; playbackManager.setCurrentPlaylistItem = playbackManager._localSetCurrentPlaylistItem; + playbackManager.clearQueue = this._localClearQueue; playbackManager.removeFromPlaylist = playbackManager._localRemoveFromPlaylist; playbackManager.movePlaylistItem = playbackManager._localMovePlaylistItem; playbackManager.queue = playbackManager._localQueue; @@ -247,6 +250,14 @@ class NoActivePlayer extends SyncPlay.Players.GenericPlayer { controller.setCurrentPlaylistItem(playlistItemId); } + /** + * Overrides PlaybackManager's clearQueue method. + */ + clearQueueRequest(clearPlayingItem, player) { + const controller = syncPlayManager.getController(); + controller.clearPlaylist(clearPlayingItem); + } + /** * Overrides PlaybackManager's removeFromPlaylist method. */ From c6a245fa6a0b3189ca8fdd9185ea29da262cb1d9 Mon Sep 17 00:00:00 2001 From: Ionut Andrei Oanca Date: Sun, 24 Jan 2021 01:26:24 +0100 Subject: [PATCH 2/3] Fix queue forcing unique items in SyncPlay --- src/components/syncPlay/core/Helper.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/components/syncPlay/core/Helper.js b/src/components/syncPlay/core/Helper.js index 53b47c47dd..3ecb44facb 100644 --- a/src/components/syncPlay/core/Helper.js +++ b/src/components/syncPlay/core/Helper.js @@ -91,8 +91,7 @@ export function getItemsForPlayback(apiClient, query) { return apiClient.getItem(apiClient.getCurrentUserId(), itemId).then(function (item) { return { - Items: [item], - TotalRecordCount: 1 + Items: [item] }; }); } else { From 533d92169fd2763c19fe1838e7a6fe680a4ddae3 Mon Sep 17 00:00:00 2001 From: dkanada Date: Mon, 6 Sep 2021 16:00:18 +0900 Subject: [PATCH 3/3] remove unused argument from method --- src/components/syncPlay/ui/players/NoActivePlayer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/syncPlay/ui/players/NoActivePlayer.js b/src/components/syncPlay/ui/players/NoActivePlayer.js index 92dced3ef4..e6faebf79d 100644 --- a/src/components/syncPlay/ui/players/NoActivePlayer.js +++ b/src/components/syncPlay/ui/players/NoActivePlayer.js @@ -253,7 +253,7 @@ class NoActivePlayer extends SyncPlay.Players.GenericPlayer { /** * Overrides PlaybackManager's clearQueue method. */ - clearQueueRequest(clearPlayingItem, player) { + clearQueueRequest(clearPlayingItem) { const controller = syncPlayManager.getController(); controller.clearPlaylist(clearPlayingItem); }