branch: externals/listen
commit 38db59ec56258ee9a06f0e99bc80ff0e6470d695
Author: Adam Porter <[email protected]>
Commit: Adam Porter <[email protected]>

    Fix: (listen--status-is) Handle 'stopped
---
 listen-mpv.el | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/listen-mpv.el b/listen-mpv.el
index 89236d9014..f52413215b 100755
--- a/listen-mpv.el
+++ b/listen-mpv.el
@@ -177,15 +177,17 @@
       (_ (listen-debug :buffer "*listen-mpv*" "Unrecognized event" event)))))
 
 (cl-defmethod listen--status-is ((player listen-player-mpv) new-status)
-  "Update PLAYER's status slot according to NEW-STATUS.
+  "Update PLAYER's status slot according to NEW-STATUS and return it.
 When NEW-STATUS is `playing', updates started-at and started-from slots."
-  (setf (listen-player-status player) new-status)
   (pcase-exhaustive new-status
     ('paused nil)
     ('playing
      (setf (listen-player-playback-started-at player) (current-time)
            (listen-player-playback-started-from player)
-           (listen-mpv--get-property player "playback-time")))))
+           (listen-mpv--get-property player "playback-time")))
+    ('stopped (setf (listen-player-playback-started-at player) nil
+                    (listen-player-playback-started-from player) nil)))
+  (setf (listen-player-status player) new-status))
 
 (cl-defmethod listen--play ((player listen-player-mpv) file)
   "Play FILE with PLAYER.

Reply via email to