From ef2fe850f7d3e7f7c19230cf0da2f476b0168664 Mon Sep 17 00:00:00 2001
From: EmacsConf <emacsconf-org@gnu.org>
Date: Sat, 5 Nov 2022 05:40:44 -0700
Subject: don't show cancelled

---
 emacsconf-publish.el | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/emacsconf-publish.el b/emacsconf-publish.el
index 5e15d02..5dbae57 100644
--- a/emacsconf-publish.el
+++ b/emacsconf-publish.el
@@ -219,7 +219,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))))
@@ -835,7 +836,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
-- 
cgit v1.2.3


From 15d8dd04ce097d3d037ac1b821718feb7837a415 Mon Sep 17 00:00:00 2001
From: EmacsConf <emacsconf-org@gnu.org>
Date: Sat, 5 Nov 2022 15:46:31 -0700
Subject: Call SSH directly so that simultaneous play-videos will work

---
 emacsconf-stream.el | 28 +++++++++++++++++-----------
 1 file changed, 17 insertions(+), 11 deletions(-)

diff --git a/emacsconf-stream.el b/emacsconf-stream.el
index 2017683..bcf64f4 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)))
@@ -350,9 +348,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)
-- 
cgit v1.2.3