summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2022-12-01 20:02:37 -0500
committerSacha Chua <sacha@sachachua.com>2022-12-01 20:02:37 -0500
commit8a66b962bb7a12e1bc063dc3a64f230a8ea695de (patch)
tree177704b43ae7aa67dabe75d9a42f4f6326edf58d
parentfa9dcc010a2d420391eb8fb6488ce16e77706f1e (diff)
downloademacsconf-el-8a66b962bb7a12e1bc063dc3a64f230a8ea695de.tar.xz
emacsconf-el-8a66b962bb7a12e1bc063dc3a64f230a8ea695de.zip
shortcuts for overlays and music
-rw-r--r--emacsconf-hyperlist.el9
-rw-r--r--emacsconf-pad.el3
-rw-r--r--emacsconf-stream.el23
-rw-r--r--emacsconf.el9
4 files changed, 39 insertions, 5 deletions
diff --git a/emacsconf-hyperlist.el b/emacsconf-hyperlist.el
index 184d814..e0cad5d 100644
--- a/emacsconf-hyperlist.el
+++ b/emacsconf-hyperlist.el
@@ -196,13 +196,18 @@
(pop-to-buffer (get-buffer-create "*hyperlist*"))
(erase-buffer)
(insert
- "- Setup:
+ "
+Quick shortcuts: [[elisp:emacsconf-agenda][talk agenda]] [[elisp:(switch-to-buffer \"#emacsconf-org\")][#emacsconf-org]] [[elisp:(switch-to-buffer \"#emacsconf-gen\")][#emacsconf-gen]] [[elisp:(switch-to-buffer \"#emacsconf-dev\")][#emacsconf-dev]] [[elisp:(emacsconf-notebook-goto-custom-id \"shifts\")][shifts]] [[elisp:(emacsconf-show-playback-info \"General\")][Info: general]] [[elisp:(emacsconf-show-playback-info \"Development\")][Info: development]]
+[[elisp:(emacsconf-stream-rebroadcast \"General\" \"Development\"][Rebroadcast Gen -> Dev]] [[elisp:(emacsconf-stream-rebroadcast \"Development\" \"General\"][Rebroadcast Dev -> Gen]]
+[[file:/ssh:orga@front0.emacsconf.org:/var/www/status.emacsconf.org/index.html][status page]] [[elisp:(emacsconf-notebook-goto-custom-id \"exceptions\")][in case of...]]
+
+- Setup:
- [ ] ssh live screen-fallbacks\n"
(mapconcat (lambda (track)
(emacsconf-replace-plist-in-string
track
" - ${name}
- - [ ] Connect via VNC
+ - [ ] Connect via VNC ([[shell:mpv ${stream} &][restart MPV]] [[shell:konsole -e ssh -t emacsconf-${id}@res.emacsconf.org -p 46668 &][console]])
- [ ] [[elisp:(emacsconf-stream-track-ssh \"${name}\" \"nohup\" \"start-background-music\" \"&\")][start background music]]
- [ ] Start recording with OBS (not streaming)
- [ ] Check main stream with MPV ${stream}
diff --git a/emacsconf-pad.el b/emacsconf-pad.el
index 5d1ca20..901ba2b 100644
--- a/emacsconf-pad.el
+++ b/emacsconf-pad.el
@@ -393,8 +393,7 @@ ${next-talk-list}
<li>${stream}: OR: <ul>
<li>start emacs and use M-x emacsconf-stream-display-clock-and-countdown. time and message are optional</li>
<li>display the in-between slide for the next talk</li></ul></li>
-</ul>
-"
+</ul>"
"<strong>Talks</strong>
<ul>"
(mapconcat
diff --git a/emacsconf-stream.el b/emacsconf-stream.el
index 897236c..ac648e3 100644
--- a/emacsconf-stream.el
+++ b/emacsconf-stream.el
@@ -357,6 +357,20 @@ This uses the BBB room if available, or the IRC channel if not."
(defvar emacsconf-stream-asset-dir "/data/emacsconf/assets/")
(defvar emacsconf-stream-overlay-dir "/data/emacsconf/assets/overlays/")
+(defun emacsconf-stream-set-overlay (talk)
+ "Reset the overlay for TALK, just in case.
+With a prefix argument (\\[universal-argument]), clear the overlay."
+ (interactive (list
+ (if current-prefix-arg
+ (emacsconf-complete-track)
+ (emacsconf-complete-talk-info))))
+ (emacsconf-stream-track-ssh
+ (emacsconf-get-track talk)
+ "overlay"
+ (if current-prefix-arg
+ "blank"
+ (plist-get talk :slug))))
+
(defun emacsconf-stream-generate-overlays (&optional info)
(interactive)
(setq info (emacsconf-filter-talks (or info (emacsconf-get-talk-info))))
@@ -986,6 +1000,15 @@ ffplay URL
;; (emacsconf-stream-audio-louder "General" "qa")
;; (emacsconf-stream-audio-quieter "General" "qa")
+;;; Background music
+
+(defun emacsconf-stream-start-music (track)
+ (interactive (list (emacsconf-complete-track)))
+ (emacsconf-stream-track-ssh track "nohup" "start-background-music" "&"))
+(defun emacsconf-stream-stop-music (track)
+ (interactive (list (emacsconf-complete-track)))
+ (emacsconf-stream-track-ssh track "screen" "-S" "background" "-X" "quit"))
+
;;; Live
(defun emacsconf-stream-update-track-status (track &optional status)
diff --git a/emacsconf.el b/emacsconf.el
index 7a91bcb..c938e89 100644
--- a/emacsconf.el
+++ b/emacsconf.el
@@ -110,7 +110,14 @@
((org-agenda-files (list ,emacsconf-notebook))
(org-agenda-span 7)))
)))))
- (org-agenda nil "a")))
+ (org-agenda nil "a")))
+
+(defun emacsconf-talk-agenda ())
+
+(defun emacsconf-notebook-goto-custom-id (id)
+ (interactive "MID: ")
+ (find-file-other-window emacsconf-notebook)
+ (goto-char (org-find-property "CUSTOM_ID" id)))
(defun emacsconf-ftp-upload-dired ()
(interactive)