X-Git-Url: http://christophe.rhodes.io/gitweb/?p=squeeze-el.git;a=blobdiff_plain;f=squeeze.el;h=bcdf4e2e055bf1c23490bdf551c3a729ae6c8554;hp=95bfdf140f358be70e5d1de1e16a4e825629fb68;hb=a386bf58d625eb755df50765f0c50da2d0472f74;hpb=ac46829f42f950bc74751e458646c708b3616d6c diff --git a/squeeze.el b/squeeze.el index 95bfdf1..bcdf4e2 100644 --- a/squeeze.el +++ b/squeeze.el @@ -60,11 +60,12 @@ ((string= current "1") "0")))))) (defun squeeze-update-mixer-volume (player value) - (let ((current (squeeze-player-volume player))) + (let ((current (squeeze-player-volume player)) + (number (string-to-number value))) (if (string-match "^[-+]" value) - (when current - (setf (squeeze-player-volume player) (+ current (string-to-number value)))) - (setf (squeeze-player-volume player) (string-to-number value))))) + (setf (squeeze-player-volume player) + (and current (max 0 (min 100 (+ current number))))) + (setf (squeeze-player-volume player) number)))) (defun squeeze-update-state-from-line (string) (cond