From 9a43ea0e4a3b219298352dcc7c6147f13de3b70d Mon Sep 17 00:00:00 2001 From: jeffvli Date: Fri, 16 Feb 2024 22:12:28 -0800 Subject: [PATCH] Attempt to fix player unresponsive on first start --- src/main/features/core/player/index.ts | 11 +++++++---- .../features/now-playing/components/play-queue.tsx | 3 +-- .../features/player/hooks/use-handle-playqueue-add.ts | 3 +-- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/main/features/core/player/index.ts b/src/main/features/core/player/index.ts index 26307093..f6d6f4b3 100644 --- a/src/main/features/core/player/index.ts +++ b/src/main/features/core/player/index.ts @@ -323,13 +323,16 @@ ipcMain.on('player-set-queue', async (_event, data: PlayerData, pause?: boolean) await getMpvInstance()?.load(data.queue.next.streamUrl, 'append'); } } + + if (pause) { + await getMpvInstance()?.pause(); + } else if (pause === false) { + // Only force play if pause is explicitly false + await getMpvInstance()?.play(); + } } catch (err: NodeMpvError | any) { mpvLog({ action: `Failed to set play queue` }, err); } - - if (pause) { - getMpvInstance()?.pause(); - } }); // Replaces the queue in position 1 to the given data diff --git a/src/renderer/features/now-playing/components/play-queue.tsx b/src/renderer/features/now-playing/components/play-queue.tsx index 1c98b6c3..69588792 100644 --- a/src/renderer/features/now-playing/components/play-queue.tsx +++ b/src/renderer/features/now-playing/components/play-queue.tsx @@ -89,8 +89,7 @@ export const PlayQueue = forwardRef(({ type }: QueueProps, ref: Ref) => { if (playbackType === PlaybackType.LOCAL) { mpvPlayer!.volume(volume); - mpvPlayer!.setQueue(playerData); - mpvPlayer!.play(); + mpvPlayer!.setQueue(playerData, false); } play(); diff --git a/src/renderer/features/player/hooks/use-handle-playqueue-add.ts b/src/renderer/features/player/hooks/use-handle-playqueue-add.ts index d4e37433..2ebf6bea 100644 --- a/src/renderer/features/player/hooks/use-handle-playqueue-add.ts +++ b/src/renderer/features/player/hooks/use-handle-playqueue-add.ts @@ -175,8 +175,7 @@ export const useHandlePlayQueueAdd = () => { if (playType === Play.NOW || !hadSong) { mpvPlayer!.pause(); - mpvPlayer!.setQueue(playerData); - mpvPlayer!.play(); + mpvPlayer!.setQueue(playerData, false); } else { mpvPlayer!.setQueueNext(playerData); }