summaryrefslogtreecommitdiffhomepage
path: root/lib/media/jao-spt.el
diff options
context:
space:
mode:
authorjao <jao@gnu.org>2022-01-22 00:10:17 +0000
committerjao <jao@gnu.org>2022-01-22 00:10:17 +0000
commite4e46f41b0d01b9efab86b2f3cebbf116c3216b5 (patch)
tree68b55bc840cef27c87ff44ccc6e798ef9020838e /lib/media/jao-spt.el
parentec873bca5cfebe194b56ac03e4b760cf63f2156c (diff)
downloadelibs-e4e46f41b0d01b9efab86b2f3cebbf116c3216b5.tar.gz
elibs-e4e46f41b0d01b9efab86b2f3cebbf116c3216b5.tar.bz2
spt/mpris switching
Diffstat (limited to 'lib/media/jao-spt.el')
-rw-r--r--lib/media/jao-spt.el24
1 files changed, 20 insertions, 4 deletions
diff --git a/lib/media/jao-spt.el b/lib/media/jao-spt.el
index 1fdee83..9cdd93e 100644
--- a/lib/media/jao-spt.el
+++ b/lib/media/jao-spt.el
@@ -85,16 +85,32 @@
(jao-spt--pb* "--dislike"))
;;;###autoload
-(defun jao-spt-seek (secs)
+(defun jao-spt-seek (&optional secs)
(interactive "p")
- (let ((secs (if (zerop secs) 10 secs)))
- (jao-spt--pb* "--seek" (format "%s%s" (if (> secs 0) "+" "-") secs))))
+ (let ((secs (if (zerop (or secs 0)) 10 secs)))
+ (jao-spt--pb* "--seek" (format "%d" secs))))
;;;###autoload
-(defun jao-spt-seek-back (secs)
+(defun jao-spt-seek-back (&optional secs)
(interactive "p")
(jao-spt-seek (- secs)))
+(defun jao-spt--get-vol (delta)
+ (let* ((jao-spt-format "%v")
+ (v (string-to-number (jao-spt--pb))))
+ (number-to-string (max 0 (+ delta v)))))
+
+;;;###autoload
+(defun jao-spt-vol (&optional n)
+ (interactive "p")
+ (let ((n (or n 10)))
+ (jao-spt--pb* "--volume" (jao-spt--get-vol (if (zerop n) 10 n)))))
+
+;;;###autoload
+(defun jao-spt-vol-down (&optional n)
+ (interactive "p")
+ (jao-spt-vol (- (or n 10))))
+
;;;###autoload
(defun jao-spt-echo-current ()
(interactive)