From fdff79496a7067f994e666a36683563e99703acf Mon Sep 17 00:00:00 2001 From: jeffvli Date: Mon, 23 Oct 2023 09:02:48 -0700 Subject: [PATCH] Set pause status on last track end (#291) --- .../components/audio-player/utils/list-handlers.ts | 2 +- src/renderer/store/player.store.ts | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/renderer/components/audio-player/utils/list-handlers.ts b/src/renderer/components/audio-player/utils/list-handlers.ts index be2a0952..459de694 100644 --- a/src/renderer/components/audio-player/utils/list-handlers.ts +++ b/src/renderer/components/audio-player/utils/list-handlers.ts @@ -23,7 +23,7 @@ export const gaplessHandler = (args: { const durationPadding = isFlac ? 0.065 : 0.116; if (currentTime + durationPadding >= duration) { - return nextPlayerRef.current.getInternalPlayer().play(); + return nextPlayerRef.current.getInternalPlayer()?.play(); } return null; diff --git a/src/renderer/store/player.store.ts b/src/renderer/store/player.store.ts index af7f250a..caeab9e7 100644 --- a/src/renderer/store/player.store.ts +++ b/src/renderer/store/player.store.ts @@ -261,6 +261,13 @@ export const usePlayerStore = create()( }); } + if (isLastTrack && repeat === PlayerRepeat.NONE) { + set((state) => { + state.current.time = 0; + state.current.status = PlayerStatus.PAUSED; + }); + } + return get().actions.getPlayerData(); }, checkIsFirstTrack: () => {