From 72f2068dc38e9696dac4fd6dfc6f620e434a4231 Mon Sep 17 00:00:00 2001 From: Siiiiinth <60766886+Siiiiinth@users.noreply.github.com> Date: Sat, 24 Jan 2026 21:47:33 +0100 Subject: [PATCH] setPlayQueue func --- backend/playbackengine.go | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/backend/playbackengine.go b/backend/playbackengine.go index 27476ac..992c0df 100644 --- a/backend/playbackengine.go +++ b/backend/playbackengine.go @@ -233,6 +233,14 @@ func (p *playbackEngine) clearPlayQueue() { p.playQueueShuffle = nil } +func (p *playbackEngine) setPlayQueue(items []mediaprovider.MediaItem) { + if p.shuffle { + p.playQueueShuffle = items + } else { + p.playQueue = items + } +} + func (p *playbackEngine) PlayTrackAt(idx int) error { return p.playTrackAt(idx, 0) } @@ -414,7 +422,7 @@ func (p *playbackEngine) doLoaditems(items []mediaprovider.MediaItem, insertQueu if insertQueueMode == InsertNext { insertIdx = p.nowPlayingIdx + 1 } - p.playQueue = append(p.playQueue[:insertIdx], append(items, p.playQueue[insertIdx:]...)...) + p.setPlayQueue(append(p.playQueue[:insertIdx], append(items, p.playQueue[insertIdx:]...)...)) p.invokeNoArgCallbacks(p.onQueueChange) return nil @@ -438,7 +446,7 @@ func (p *playbackEngine) LoadRadioStation(radio *mediaprovider.RadioStation, ins copy(new, firstHalf) new[len(firstHalf)] = radio copy(new[len(firstHalf)+1:], p.playQueue[insertIdx:]) - p.playQueue = new + p.setPlayQueue(new) p.invokeNoArgCallbacks(p.onQueueChange) } @@ -494,7 +502,7 @@ func (p *playbackEngine) UpdatePlayQueue(items []mediaprovider.MediaItem) error } } - p.playQueue = newQueue + p.setPlayQueue(newQueue) if p.nowPlayingIdx >= 0 && newNowPlayingIdx == -1 { return p.Stop() } @@ -533,7 +541,7 @@ func (p *playbackEngine) RemoveTracksFromQueue(idxs []int) { newQueue = append(newQueue, tr) } } - p.playQueue = newQueue + p.setPlayQueue(newQueue) p.nowPlayingIdx = newNowPlaying if isPlayingTrackRemoved { if newNowPlaying == len(newQueue) {