From 2c19f9f9266296cb55c2e111ef27b34050da2da9 Mon Sep 17 00:00:00 2001 From: Siiiiinth <60766886+Siiiiinth@users.noreply.github.com> Date: Thu, 8 Jan 2026 23:02:06 +0100 Subject: [PATCH 1/2] cycle album when loopAll is checked --- backend/playbackengine.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/backend/playbackengine.go b/backend/playbackengine.go index f6ee1a5..0a12840 100644 --- a/backend/playbackengine.go +++ b/backend/playbackengine.go @@ -313,11 +313,17 @@ func (p *playbackEngine) SeekFwdBackN(n int) error { if n == 0 || (idx == 0 && n < 0) { return p.player.SeekSeconds(0) // seek back in current song } + lastIdx := len(p.playQueue) - 1 - if idx == lastIdx && n > 0 { - return nil // already on last track, nothing to seek next to - } newIdx := min(lastIdx, max(0, idx+n)) + + if idx == lastIdx && n > 0 { + if p.loopMode == LoopAll { + newIdx = 0 + } else { + return nil // already on last track, nothing to seek next to + } + } return p.PlayTrackAt(newIdx) } From 79024784ec387c5e3cea4785bc68a14d27d9ea1b Mon Sep 17 00:00:00 2001 From: Siiiiinth <60766886+Siiiiinth@users.noreply.github.com> Date: Fri, 9 Jan 2026 09:35:26 +0100 Subject: [PATCH 2/2] cycle the playQueue from lastTrack -> firstTrack when clicking Next on lastTrack --- backend/playbackengine.go | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/backend/playbackengine.go b/backend/playbackengine.go index 0a12840..1491c50 100644 --- a/backend/playbackengine.go +++ b/backend/playbackengine.go @@ -318,11 +318,7 @@ func (p *playbackEngine) SeekFwdBackN(n int) error { newIdx := min(lastIdx, max(0, idx+n)) if idx == lastIdx && n > 0 { - if p.loopMode == LoopAll { - newIdx = 0 - } else { - return nil // already on last track, nothing to seek next to - } + newIdx = 0 } return p.PlayTrackAt(newIdx) }