summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--emacsconf-stream.el27
-rw-r--r--emacsconf.el6
2 files changed, 23 insertions, 10 deletions
diff --git a/emacsconf-stream.el b/emacsconf-stream.el
index c37d0df..da64992 100644
--- a/emacsconf-stream.el
+++ b/emacsconf-stream.el
@@ -383,13 +383,14 @@ With a prefix argument (\\[universal-argument]), clear the overlay."
"Generate 1-minute test videos for INFO."
(interactive)
(setq info (or info (emacsconf-publish-prepare-for-display (emacsconf-get-talk-info))))
- (let ((dir (expand-file-name "test" emacsconf-stream-asset-dir))
- (subed-default-subtitle-length 1000)
- (test-length 60))
+ (let* ((dir (expand-file-name "test" emacsconf-stream-asset-dir))
+ (default-directory dir)
+ (subed-default-subtitle-length 1000)
+ (test-length 60))
(unless (file-directory-p dir)
(make-directory dir t))
(shell-command
- (format "ffmpeg -y -f lavfi -i testsrc=duration=%d:size=1280x720:rate=10 %s "
+ (format "ffmpeg -y -f lavfi -i testsrc=duration=%d:size=1280x720:rate=10 -i background-music.opus -shortest %s "
test-length (expand-file-name "template.webm" dir)))
(dolist (talk info)
(with-temp-file (expand-file-name (concat (plist-get talk :file-prefix) "--main.vtt") dir)
@@ -1103,8 +1104,11 @@ ffplay URL
Use the display specified in TRACK.
If TEST-MODE is non-nil, load the videos from the test directory."
(concat
- "PATH=/usr/local/bin:/usr/bin\n"
- "MAILTO=\"\"\n"
+ (format
+ "PATH=/usr/local/bin:/usr/bin
+MAILTO=\"\"
+XDG_RUNTIME_DIR=\"/run/user/%d\"
+" (plist-get track :uid))
(mapconcat
(lambda (talk)
(format "%s /usr/bin/screen -dmS play-%s bash -c \"DISPLAY=%s TEST_MODE=%s /usr/local/bin/handle-session %s\"\n"
@@ -1131,14 +1135,21 @@ If INFO is non-nil, use that as the schedule instead."
(crontab (expand-file-name (concat (plist-get track :id) ".crontab")
(concat (plist-get track :tramp) "~"))))
(with-temp-file crontab
- (when (plist-get track :auto-pilot)
+ (when (plist-get track :autopilot)
(insert (emacsconf-stream-format-crontab track talks test-mode))))
(emacsconf-stream-track-ssh track (concat "crontab ~/" (plist-get track :id) ".crontab"))))))
(defun emacsconf-stream-cancel-crontab (track)
"Remove crontab for TRACK."
(interactive (list (emacsconf-complete-track)))
+ (plist-put track :autopilot nil)
(emacsconf-stream-track-ssh track "crontab -r"))
-;;;
+
+(defun emacsconf-stream-cancel-all-crontabs ()
+ "Remove crontabs."
+ (dolist (track emacsconf-tracks)
+ (plist-put track :autopilot nil)
+ (emacsconf-stream-track-ssh track "crontab -r")))
+
(provide 'emacsconf-stream)
;;; emacsconf-stream.el ends here
diff --git a/emacsconf.el b/emacsconf.el
index b10d194..9d70ad1 100644
--- a/emacsconf.el
+++ b/emacsconf.el
@@ -1260,9 +1260,10 @@ The subheading should match `emacsconf-abstract-heading-regexp'."
:youtube-studio-url "https://studio.youtube.com/video/UEJ88c7MJq0/livestreaming"
:toobnix-url "https://toobnix.org/w/7t9X8eXuSby8YpyEKTb4aj"
:start "09:00" :end "17:00"
+ :uid 2002
:vnc-display ":5"
:vnc-port "5905"
- :auto-pilot t
+ :autopilot t
:status "offline")
(:name "Development" :color "skyblue" :id "dev" :channel "emacsconf-dev"
:watch "https://live.emacsconf.org/2022/watch/dev/"
@@ -1273,10 +1274,11 @@ The subheading should match `emacsconf-abstract-heading-regexp'."
:youtube-studio-url "https://studio.youtube.com/video/PMaoF-xa1b4/livestreaming"
:stream ,(concat emacsconf-stream-base "dev.webm")
:480p ,(concat emacsconf-stream-base "dev-480p.webm")
+ :uid 2003
:start "10:00" :end "17:00"
:vnc-display ":6"
:vnc-port "5906"
- :auto-pilot t
+ :autopilot t
:status "offline")))
(defun emacsconf-get-track (name)