diff options
author | Florrie <towerofnix@gmail.com> | 2020-07-10 11:28:34 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2024-05-16 18:37:00 -0300 |
commit | 90cad535c470fffa5c34c48737e44c1641416f0d (patch) | |
tree | 6b46582ea6d4a5585065d3a50ad3805ed047a4fb /backend.js | |
parent | 3f17023373f3fa26ccb556ab1f83215b2a134e8c (diff) |
basic working backend save/restore & socket server
Backend save/restore code (living in serialized-backend.js) has been well tested and shouldn't need much change going forward. Now we get to begin working on the actual synchronized-over-socket-server commands!
Diffstat (limited to 'backend.js')
-rw-r--r-- | backend.js | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/backend.js b/backend.js index 4142026..048a6c5 100644 --- a/backend.js +++ b/backend.js @@ -63,6 +63,7 @@ class QueuePlayer extends EventEmitter { this.queueGrouplike = {name: 'Queue', isTheQueue: true, items: []} this.pauseNextTrack = false this.queueEndMode = 'end' // end, loop, shuffle + this.playedTrackToEnd = false this.timeData = null @@ -353,7 +354,7 @@ class QueuePlayer extends EventEmitter { } - async play(item, startTime = 0) { + async play(item, startTime = 0, forceStartPaused = false) { if (this.player === null) { throw new Error('Attempted to play before a player was loaded') } @@ -403,7 +404,9 @@ class QueuePlayer extends EventEmitter { this.emit('playing', this.playingTrack, oldTrack, startTime, this) await this.player.kill() - if (this.playedTrackToEnd) { + if (forceStartPaused) { + this.player.setPause(true) + } else if (this.playedTrackToEnd) { this.player.setPause(this.pauseNextTrack) this.pauseNextTrack = false this.playedTrackToEnd = false |