mirror of
https://github.com/jeffvli/feishin.git
synced 2026-05-10 04:30:25 +02:00
add player autodj (#7)
This commit is contained in:
@@ -130,6 +130,26 @@ export function calculateNextSong(
|
||||
}
|
||||
}
|
||||
|
||||
// Helper function to check if shuffle is enabled and not in priority mode
|
||||
export function isShuffleEnabled(state: {
|
||||
player: { queueType: PlayerQueueType; shuffle: PlayerShuffle };
|
||||
queue: { shuffled: number[] };
|
||||
}): boolean {
|
||||
return (
|
||||
state.player.shuffle === PlayerShuffle.TRACK &&
|
||||
state.queue.shuffled.length > 0 &&
|
||||
state.player.queueType !== PlayerQueueType.PRIORITY
|
||||
);
|
||||
}
|
||||
|
||||
// Helper function to map shuffled position to actual queue position
|
||||
export function mapShuffledToQueueIndex(shuffledIndex: number, shuffled: number[]): number {
|
||||
if (shuffledIndex >= 0 && shuffledIndex < shuffled.length) {
|
||||
return shuffled[shuffledIndex];
|
||||
}
|
||||
return shuffledIndex;
|
||||
}
|
||||
|
||||
// Helper function to add new indexes to shuffled array after current position
|
||||
function addIndexesToShuffled(
|
||||
shuffled: number[],
|
||||
@@ -206,26 +226,6 @@ function getCombinedQueueLength(priority: string[], defaultQueue: string[]): num
|
||||
return priority.length + defaultQueue.length;
|
||||
}
|
||||
|
||||
// Helper function to check if shuffle is enabled and not in priority mode
|
||||
function isShuffleEnabled(state: {
|
||||
player: { queueType: PlayerQueueType; shuffle: PlayerShuffle };
|
||||
queue: { shuffled: number[] };
|
||||
}): boolean {
|
||||
return (
|
||||
state.player.shuffle === PlayerShuffle.TRACK &&
|
||||
state.queue.shuffled.length > 0 &&
|
||||
state.player.queueType !== PlayerQueueType.PRIORITY
|
||||
);
|
||||
}
|
||||
|
||||
// Helper function to map shuffled position to actual queue position
|
||||
function mapShuffledToQueueIndex(shuffledIndex: number, shuffled: number[]): number {
|
||||
if (shuffledIndex >= 0 && shuffledIndex < shuffled.length) {
|
||||
return shuffled[shuffledIndex];
|
||||
}
|
||||
return shuffledIndex;
|
||||
}
|
||||
|
||||
// Helper function to regenerate shuffled indexes if shuffle is enabled
|
||||
function regenerateShuffledIndexesIfNeeded(state: {
|
||||
player: { queueType: PlayerQueueType; shuffle: PlayerShuffle };
|
||||
|
||||
Reference in New Issue
Block a user