Fix #875: ensure shuffle button on album/playlist/etc pages works regardless of queue shuffle

This commit is contained in:
Drew Weymouth
2026-03-13 07:59:09 -07:00
parent 9885b1c1ba
commit e23dfb8554
+5 -4
View File
@@ -619,10 +619,14 @@ func (p *playbackEngine) doLoaditems(items []mediaprovider.MediaItem, insertQueu
defer p.handleNextTrackUpdated()
}
if shuffle {
rand.Shuffle(len(items), func(i, j int) { items[i], items[j] = items[j], items[i] })
}
insertIdx := p.getPlayQueueLength()
if insertQueueMode == Replace {
if shuffle || p.shuffle {
if p.shuffle {
shuffledItems := deepCopyMediaItemSlice(items)
rand.Shuffle(len(shuffledItems), func(i, j int) { shuffledItems[i], shuffledItems[j] = shuffledItems[j], shuffledItems[i] })
@@ -632,9 +636,6 @@ func (p *playbackEngine) doLoaditems(items []mediaprovider.MediaItem, insertQueu
p.insertItemsIntoPlayQueueAt(items, insertIdx, queueType)
}
} else {
if shuffle {
rand.Shuffle(len(items), func(i, j int) { items[i], items[j] = items[j], items[i] })
}
if insertQueueMode == InsertNext {
insertIdx = p.nowPlayingIdx + 1
}