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 6f459829..c2552925 100644 --- a/src/renderer/features/player/hooks/use-handle-playqueue-add.ts +++ b/src/renderer/features/player/hooks/use-handle-playqueue-add.ts @@ -176,10 +176,12 @@ export const useHandlePlayQueueAdd = () => { updateSong(playerData.current.song); + const replacesQueue = playType === Play.NOW || playType === Play.SHUFFLE; + if (playbackType === PlaybackType.LOCAL) { mpvPlayer!.volume(usePlayerStore.getState().volume); - if (playType === Play.NOW || !hadSong) { + if (replacesQueue || !hadSong) { mpvPlayer!.pause(); setQueue(playerData, false); } else { @@ -191,14 +193,14 @@ export const useHandlePlayQueueAdd = () => { ? PlayersRef.current?.player1 : PlayersRef.current?.player2; const underlying = player?.getInternalPlayer(); - if (underlying && playType === Play.NOW) { + if (underlying && replacesQueue) { underlying.currentTime = 0; } } // We should only play if the queue was empty, or we are doing play NOW // (override the queue). - if (playType === Play.NOW || !hadSong) { + if (replacesQueue || !hadSong) { play(); }