summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--emacsconf-hyperlist.el2
-rw-r--r--emacsconf-stream.el24
2 files changed, 25 insertions, 1 deletions
diff --git a/emacsconf-hyperlist.el b/emacsconf-hyperlist.el
index 8cc8032..56114c3 100644
--- a/emacsconf-hyperlist.el
+++ b/emacsconf-hyperlist.el
@@ -23,7 +23,7 @@
(defun emacsconf-hyperlist-audio (source)
(format
- "%s: pamix (F3 output) [[elisp:(emacsconf-stream-audio-quieter \"${track}\" \"%s\")][quieter]] [[elisp:(emacsconf-stream-audio-louder \"${track}\" \"%s\")][louder]] %s"
+ "%s: [[elisp:(emacsconf-stream-audio-mixer \"${track}\")][mixer (F3 output)]] [[elisp:(emacsconf-stream-audio-quieter \"${track}\" \"%s\")][quieter]] [[elisp:(emacsconf-stream-audio-louder \"${track}\" \"%s\")][louder]] %s"
source
source source
(mapconcat (lambda (val)
diff --git a/emacsconf-stream.el b/emacsconf-stream.el
index c49ec90..9d14696 100644
--- a/emacsconf-stream.el
+++ b/emacsconf-stream.el
@@ -908,6 +908,30 @@ ffplay URL
"pactl list sinks | perl -000ne 'if(/%s/){/Volume:.*?([0-9]+%%)/;print \"$1\n\"}'"
source)))))
+(defvar emacsconf-stream-console '("konsole" "-e"))
+(defvar emacsconf-stream-mixer "pamix")
+
+(defun emacsconf-stream-audio-mixer (track)
+ (interactive (list (emacsconf-complete-track)))
+ (setq track (emacsconf-get-track track))
+ (let ((info (tramp-dissect-file-name (emacsconf-stream-track-login track))))
+ (apply
+ #'start-process
+ (delq nil
+ (append
+ (list
+ (concat "mixer-" (plist-get track :id))
+ (concat "*" (plist-get track :name) "*"))
+ emacsconf-stream-console
+ (list
+ "ssh"
+ "-t"
+ (concat (tramp-file-name-user info)
+ "@" (tramp-file-name-host info))
+ "-p" (tramp-file-name-port info)
+ (format "DISPLAY=%s" (plist-get track :vnc-display))
+ emacsconf-stream-mixer))))))
+
;; (emacsconf-stream-audio-get-volume "General" "qa")
;; (emacsconf-stream-audio-louder "General" "qa")
;; (emacsconf-stream-audio-quieter "General" "qa")