summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog4
-rw-r--r--lisp/mpc.el11
2 files changed, 12 insertions, 3 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 769d06028b4..669467687d2 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,7 @@
+2014-05-01 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * mpc.el (mpc-volume-mouse-set): Don't burp at the boundaries.
+
2014-04-30 Eli Zaretskii <eliz@gnu.org>
* dired.el (dired-initial-position-hook, dired-initial-position):
diff --git a/lisp/mpc.el b/lisp/mpc.el
index d89231e81b9..d569610a615 100644
--- a/lisp/mpc.el
+++ b/lisp/mpc.el
@@ -1811,9 +1811,14 @@ A value of t means the main playlist.")
(char-after (posn-point posn))))
'(?◁ ?<))
(- mpc-volume-step) mpc-volume-step))
- (newvol (+ (string-to-number (cdr (assq 'volume mpc-status))) diff)))
- (mpc-proc-cmd (list "setvol" newvol) 'mpc-status-refresh)
- (message "Set MPD volume to %s%%" newvol)))
+ (curvol (string-to-number (cdr (assq 'volume mpc-status))))
+ (newvol (max 0 (min 100 (+ curvol diff)))))
+ (if (= newvol curvol)
+ (progn
+ (message "MPD volume already at %s%%" newvol)
+ (ding))
+ (mpc-proc-cmd (list "setvol" newvol) 'mpc-status-refresh)
+ (message "Set MPD volume to %s%%" newvol))))
(defun mpc-volume-widget (vol &optional size)
(unless size (setq size 12.5))