Fix playlist shuffle

- Shuffle all indexes
- Use persistent indexes to store play history
- Update virtual items to keep original shuffle order when the playlist is reordered
- Make sure to always set virtual index on manual shuffle
- Ignore repeat and shuffle when dynamic playlist is activated

Fixes #707
Fixes #1381
Fixes #1366
Fixes #1353
This commit is contained in:
Jonas Kvinge
2024-03-22 20:00:12 +01:00
parent 93c2fa4c73
commit 5e725e0bbe
7 changed files with 139 additions and 90 deletions

View File

@@ -68,8 +68,6 @@ class PlaylistSequence : public QWidget {
QMenu *repeat_menu() const { return repeat_menu_; }
QMenu *shuffle_menu() const { return shuffle_menu_; }
void set_dynamic(const bool dynamic) { dynamic_ = dynamic; }
public slots:
void SetRepeatMode(const PlaylistSequence::RepeatMode mode);
void SetShuffleMode(const PlaylistSequence::ShuffleMode mode);