aboutsummaryrefslogtreecommitdiff
path: root/src/services/queue.ts
diff options
context:
space:
mode:
authorMax Isom <[email protected]>2020-03-17 19:42:28 -0500
committerMax Isom <[email protected]>2020-03-17 19:42:28 -0500
commitc058ec95feacd57eebdb07d4f44469c5c6c4bc01 (patch)
tree15d9032d315ccc9c6368dd257118ce9fb79d7696 /src/services/queue.ts
parent15d4e251f2af47288b4d5720b8a7b763e72731c0 (diff)
downloadmuse-c058ec95feacd57eebdb07d4f44469c5c6c4bc01.tar.xz
muse-c058ec95feacd57eebdb07d4f44469c5c6c4bc01.zip
Various bug fixes
Diffstat (limited to 'src/services/queue.ts')
-rw-r--r--src/services/queue.ts14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/services/queue.ts b/src/services/queue.ts
index c929eea..1c766f1 100644
--- a/src/services/queue.ts
+++ b/src/services/queue.ts
@@ -34,8 +34,16 @@ export default class {
}
}
+ getCurrent(): QueuedSong | null {
+ if (this.queue[this.position]) {
+ return this.queue[this.position];
+ }
+
+ return null;
+ }
+
get(): QueuedSong[] {
- return this.queue.slice(this.position);
+ return this.queue.slice(this.position + 1);
}
add(song: QueuedSong): void {
@@ -61,7 +69,7 @@ export default class {
}
shuffle(): void {
- this.queue = [this.queue[0], ...shuffle(this.queue.slice(1))];
+ this.queue = [...this.queue.slice(0, this.position), this.queue[this.position], this.queue[0], ...shuffle(this.queue.slice(this.position + 1))];
}
clear(): void {
@@ -76,7 +84,7 @@ export default class {
}
size(): number {
- return this.queue.length;
+ return this.get().length;
}
isEmpty(): boolean {