diff options
author | (quasar) nebula <towerofnix@gmail.com> | 2021-07-17 20:37:08 -0300 |
---|---|---|
committer | (quasar) nebula <towerofnix@gmail.com> | 2021-07-17 20:37:08 -0300 |
commit | a55e2dda6b7cd2e413445964f44a98a8a07058a7 (patch) | |
tree | c1ae453601f93937329ef415bc052200d7f26b97 | |
parent | ee9ba81c076b7986e8fe752b3badbc6a8b7aec50 (diff) |
fix playOrSeek messing with queue order
-rw-r--r-- | backend.js | 14 | ||||
-rw-r--r-- | todo.txt | 1 |
2 files changed, 14 insertions, 1 deletions
diff --git a/backend.js b/backend.js index 51419da..e2213d5 100644 --- a/backend.js +++ b/backend.js @@ -511,10 +511,22 @@ class QueuePlayer extends EventEmitter { } async playOrSeek(item, time) { + if (!isTrack(item)) { + // This only makes sense to call with individual tracks! + return + } + if (item === this.playingTrack) { this.seekTo(time) } else { - this.queue(item, this.playingTrack) + // Queue the track, but only if it's not already in the queue, so that we + // respect an existing queue order. + const queue = this.queueGrouplike + const queueIndex = queue.items.indexOf(item) + if (queueIndex === -1) { + this.queue(item, this.playingTrack) + } + this.play(item, time) } } diff --git a/todo.txt b/todo.txt index f41609b..ad1ebac 100644 --- a/todo.txt +++ b/todo.txt @@ -601,3 +601,4 @@ TODO: Automatically expand/collapse timestamp lists in the queue sidebar! TODO: Apparently, seeking to a timestamp under a previous track in the queue doesn't respect the current queue order (i.e. it sticks the track after the current track). Definitely a bug! + (Done - fixed!) |