emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/emms 1b3c36ef5f 4/8: * emms-volume.el: define `emms-vol


From: ELPA Syncer
Subject: [elpa] externals/emms 1b3c36ef5f 4/8: * emms-volume.el: define `emms-volume-get' to return the volume.
Date: Sun, 5 Mar 2023 08:57:45 -0500 (EST)

branch: externals/emms
commit 1b3c36ef5fb218083c96587cbf71a2e571451c1d
Author: Yoni Rabkin <yrk@gnu.org>
Commit: Yoni Rabkin <yrk@gnu.org>

    * emms-volume.el: define `emms-volume-get' to return the volume.
---
 emms-volume.el | 21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/emms-volume.el b/emms-volume.el
index dd40934e6e..3d41642277 100644
--- a/emms-volume.el
+++ b/emms-volume.el
@@ -78,6 +78,19 @@ If you have your own functions for changing volume, set 
this."
                  (const :tag "Sndioctl" emms-volume-sndioctl-change)
                  (function :tag "Lisp function")))
 
+;; The function referenced by `emms-volume-get-function' must return
+;; an integer in the range [0-100]. This explicitly ignores
+;; over-amplification settings.
+(defcustom emms-volume-get-function
+  (cond
+   ;; check for sndioctl first to avoid picking up mixerctl or pactl
+   ;; on OpenBSD.
+   ((executable-find "pactl") #'emms-volume-pulse-get)
+   (t #'(lambda (_amount) (user-error "%s" "No supported mixer found.  Please, 
define ‘emms-volume-get-function’."))))
+  "The function to use to get the volume."
+  :type '(choice (const :tag "PulseAudio" emms-volume-pulse-get)
+                 (function :tag "Lisp function")))
+
 (defcustom emms-volume-change-amount 2
   "The amount to use when raising or lowering the volume using the
 emms-volume interface.
@@ -85,15 +98,19 @@ emms-volume interface.
 This should be a positive integer."
   :type 'integer)
 
+(defun emms-volume-get ()
+  "Return the volume as an integer in the range [0-100]."
+  (funcall emms-volume-get-function))
+
 ;;;###autoload
 (defun emms-volume-raise ()
-  "Raise the speaker volume."
+  "Raise the volume."
   (interactive)
   (funcall emms-volume-change-function emms-volume-change-amount))
 
 ;;;###autoload
 (defun emms-volume-lower ()
-  "Lower the speaker volume."
+  "Lower the volume."
   (interactive)
   (funcall emms-volume-change-function (- emms-volume-change-amount)))
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]