aboutsummaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/emms-player-mpd.el6
1 files changed, 4 insertions, 2 deletions
diff --git a/lisp/emms-player-mpd.el b/lisp/emms-player-mpd.el
index c1ad17b..692bd83 100644
--- a/lisp/emms-player-mpd.el
+++ b/lisp/emms-player-mpd.el
@@ -664,15 +664,17 @@ main EMMS playlist buffer."
"clearerror"
nil #'ignore))
(cond ((string= state "stop")
- (setq emms-player-mpd-last-state "stop")
(if song
;; a track remains: the user probably stopped MusicPD
;; manually, so we'll stop EMMS completely
(let ((emms-player-stopped-p t))
+ (setq emms-player-mpd-last-state "stop")
(emms-player-stopped))
;; no more tracks are left: we probably ran out of things
;; to play, so let EMMS do something further if it wants
- (emms-player-stopped)))
+ (unless (string= emms-player-mpd-last-state "stop")
+ (setq emms-player-mpd-last-state "stop")
+ (emms-player-stopped))))
((and emms-player-mpd-last-state
(string= emms-player-mpd-last-state "stop"))
;; resume from a stop that occurred outside of EMMS