playing a new queue with shuffle enabled now starts at a random track.

This commit is contained in:
2026-02-23 12:13:40 -05:00
parent 1dfbfd9595
commit 3349e785d7
8 changed files with 72 additions and 22 deletions
@@ -813,7 +813,7 @@ export class ArtistsView extends LitElement {
switch (action) {
case 'play':
queueStore.setQueue(filePaths, 0);
queueStore.setQueue(filePaths, 0, true);
break;
case 'add-to-queue':
queueStore.addTracksToQueue(
@@ -2661,7 +2661,7 @@ export class CoverGrid extends LitElement {
this.selectedAlbums = new Set();
this.closeDropdown();
queueStore.setQueue(filePaths, 0);
queueStore.setQueue(filePaths, 0, true);
};
private onGridAlbumKeydown = (
@@ -3068,7 +3068,7 @@ export class CoverGrid extends LitElement {
switch (action) {
case 'play':
queueStore.setQueue(filePaths, 0);
queueStore.setQueue(filePaths, 0, true);
break;
case 'add-to-queue':
queueStore.addTracksToQueue(filePaths);
@@ -854,7 +854,7 @@ export class GenresView extends LitElement {
switch (action) {
case 'play':
queueStore.setQueue(filePaths, 0);
queueStore.setQueue(filePaths, 0, true);
break;
case 'add-to-queue':
queueStore.addTracksToQueue(
@@ -989,7 +989,7 @@ export class PlaylistView
if (filePaths.length === 0) return;
queueStore.setQueue(filePaths, 0);
queueStore.setQueue(filePaths, 0, true);
};
// =================================================================
@@ -1074,7 +1074,7 @@ export class PlaylistView
switch (action) {
case 'play':
queueStore.setQueue(filePaths, 0);
queueStore.setQueue(filePaths, 0, true);
break;
case 'add-to-queue':
queueStore.addTracksToQueue(
@@ -1215,7 +1215,7 @@ export class TrackList extends LitElement implements SelectionHost {
switch (action) {
case 'play':
queueStore.setQueue(filePaths, 0);
queueStore.setQueue(filePaths, 0, true);
break;
case 'add-to-queue':
queueStore.addTracksToQueue(filePaths);
@@ -79,8 +79,12 @@ export class QueueController implements ReactiveController {
queueStore.previous();
}
setQueue(filePaths: string[], startIndex: number): void {
queueStore.setQueue(filePaths, startIndex);
setQueue(
filePaths: string[],
startIndex: number,
shuffleStart = false,
): void {
queueStore.setQueue(filePaths, startIndex, shuffleStart);
}
addToQueue(filePath: string): void {
+11 -2
View File
@@ -190,8 +190,17 @@ class QueueStore {
EventsEmit(Events.RequestPrevious);
}
setQueue(filePaths: string[], startIndex: number): void {
EventsEmit(Events.RequestSetQueue, filePaths, startIndex);
setQueue(
filePaths: string[],
startIndex: number,
shuffleStart = false,
): void {
EventsEmit(
Events.RequestSetQueue,
filePaths,
startIndex,
shuffleStart,
);
}
addToQueue(filePath: string): void {