summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2022-11-05 21:51:37 -0400
committerSacha Chua <sacha@sachachua.com>2022-11-05 21:51:37 -0400
commitf4c4fe009240ae2544d8f6b5830cdc2ebbe7d037 (patch)
tree6fc5e18eb2761c6c9552e3815532bd03806267fb
parent5dd0d45cece40a625ade8f35f19cb8819ec75d43 (diff)
parent15d8dd04ce097d3d037ac1b821718feb7837a415 (diff)
downloademacsconf-el-f4c4fe009240ae2544d8f6b5830cdc2ebbe7d037.tar.xz
emacsconf-el-f4c4fe009240ae2544d8f6b5830cdc2ebbe7d037.zip
Merge branch 'main' of git.emacsconf.org:pub/emacsconf-el into main
-rw-r--r--emacsconf-publish.el6
-rw-r--r--emacsconf-stream.el28
2 files changed, 21 insertions, 13 deletions
diff --git a/emacsconf-publish.el b/emacsconf-publish.el
index fb3a664..b2ff788 100644
--- a/emacsconf-publish.el
+++ b/emacsconf-publish.el
@@ -225,7 +225,8 @@
(and video-file
(let ((tracks
(emacsconf-video-subtitle-tracks
- (concat video-base ".vtt")
+ (concat (replace-regexp-in-string "reencoded\\|original" "main" video-base)
+ ".vtt")
(or (plist-get talk :track-base-url)
(plist-get talk :base-url))
(plist-get talk :files))))
@@ -841,7 +842,8 @@ Entries are sorted chronologically, with different tracks interleaved."
(setq filename (or filename (expand-file-name "index.html" emacsconf-backstage-dir)))
(setq emacsconf-info (emacsconf-get-talk-info))
(with-temp-file filename
- (let* ((talks (seq-filter (lambda (o) (plist-get o :speakers)) (emacsconf-filter-talks emacsconf-info)))
+ (let* ((talks (seq-filter (lambda (o) (plist-get o :speakers))
+ (emacsconf-active-talks (emacsconf-filter-talks emacsconf-info))))
(by-status (seq-group-by (lambda (o) (plist-get o :status)) talks))
(files (directory-files emacsconf-backstage-dir)))
(insert
diff --git a/emacsconf-stream.el b/emacsconf-stream.el
index e106d12..9e93f20 100644
--- a/emacsconf-stream.el
+++ b/emacsconf-stream.el
@@ -176,15 +176,13 @@ Final files should be stored in /data/emacsconf/stream/YEAR/video-slug--main.web
(defun emacsconf-stream-play-video (talk)
(interactive (list (emacsconf-complete-talk-info)))
- (let ((default-directory (emacsconf-stream-track-login talk))
- (async-shell-command-buffer 'new-buffer))
- ;; I tried using start-file-process, but I couldn't figure out how to get MPV to work.
- ;; We'll just use shell-command then, and manually move to the QA states when we want to.
- (save-window-excursion
- (shell-command
- (concat "nohup ~/bin/track-mpv "
- (shell-quote-argument (emacsconf-stream-get-filename talk))
- " > /dev/null 2>&1 & ")))))
+ (let ((info (tramp-dissect-file-name (emacsconf-stream-track-login talk))))
+ (call-process "ssh" nil nil t
+ (concat (tramp-file-name-user info)
+ "@" (tramp-file-name-host info))
+ "-p" (tramp-file-name-port info)
+ "nohup" "~/bin/track-mpv" (emacsconf-stream-get-filename talk) ">" "/dev/null"
+ "2>&1" "&")))
(defun emacsconf-stream-open-pad (talk)
(interactive (list (emacsconf-complete-talk-info)))
@@ -354,9 +352,17 @@ This uses the BBB room if available, or the IRC channel if not."
info)))
(defun emacsconf-stream-handle-talk-timer (talk)
+ (interactive (list (save-match-data (emacsconf-complete-talk-info))))
(save-window-excursion
- (emacsconf-with-talk-heading (plist-get talk :slug)
- (org-todo "PLAYING"))))
+ (save-match-data
+ (undo-boundary)
+ (message "Start %s" talk)
+ (with-local-quit
+ (ignore-error 'remote-file-error
+ (emacsconf-with-talk-heading (plist-get talk :slug)
+ (org-todo "PLAYING"))))
+ (message "Done %s" talk)
+ (undo-boundary))))
(defun emacsconf-stream-schedule-timers (&optional info)
(interactive)