« get me outta code hell

basic working backend save/restore & socket server - mtui - Music Text User Interface - user-friendly command line music player
about summary refs log tree commit diff
path: root/backend.js
diff options
context:
space:
mode:
authorFlorrie <towerofnix@gmail.com>2020-07-10 11:28:34 -0300
committer(quasar) nebula <qznebula@protonmail.com>2024-05-16 18:37:00 -0300
commit90cad535c470fffa5c34c48737e44c1641416f0d (patch)
tree6b46582ea6d4a5585065d3a50ad3805ed047a4fb /backend.js
parent3f17023373f3fa26ccb556ab1f83215b2a134e8c (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.js7
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