aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--playlist.lisp17
1 files changed, 10 insertions, 7 deletions
diff --git a/playlist.lisp b/playlist.lisp
index abb8e3d..236da00 100644
--- a/playlist.lisp
+++ b/playlist.lisp
@@ -165,13 +165,16 @@
(defun play-this-audio (audio)
(when-let (ctl (cur-playlist-ctl audio))
(let ((np (now-playing-track ctl)))
- (unless (and np (eq audio (audio np)))
- (let ((tr
- (track-ctl-with-audio ctl audio)))
- (stop-playback ctl)
- (setf (now-playing-track ctl) tr)
- (start-playback ctl)
- (load-now-playing-display ctl tr))))))
+ (cond
+ ((not (eq audio (audio np))) ; different track
+ (let ((tr
+ (track-ctl-with-audio ctl audio)))
+ (stop-playback ctl)
+ (setf (now-playing-track ctl) tr)
+ (start-playback ctl)
+ (load-now-playing-display ctl tr)))
+ ((pausedp audio)
+ (start-playback ctl))))))
;;; SYNCHRONZIED CLIENT CONTROL