summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--emacsconf-hyperlist.el8
-rw-r--r--emacsconf-pad.el13
-rw-r--r--emacsconf.el28
3 files changed, 38 insertions, 11 deletions
diff --git a/emacsconf-hyperlist.el b/emacsconf-hyperlist.el
index e0cad5d..b60d243 100644
--- a/emacsconf-hyperlist.el
+++ b/emacsconf-hyperlist.el
@@ -209,13 +209,13 @@ Quick shortcuts: [[elisp:emacsconf-agenda][talk agenda]] [[elisp:(switch-to-buff
" - ${name}
- [ ] 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 Emacs and use emacsconf-stream-display-clock-and-countdown
- [ ] Start recording with OBS (not streaming)
- [ ] Check main stream with MPV ${stream}
- [ ] Check 480p ${480p}
- - [ ] [[shell:ssh -t orga@live0.emacsconf.org 'screen -S restream-${id}-youtube /home/orga/restream-${id}-youtube.sh'][Start Youtube restream]] and then confirm ${youtube-studio-url} and ${youtube-url}
- - [ ] [[shell:ssh -t orga@live0.emacsconf.org 'screen -S restream-${id}-toobnix /home/orga/restream-${id}-toobnix.sh'][Start Toobnix restream]] and then confirm ${toobnix-url}
- - [ ] [[elisp:(emacsconf-stream-update-track-status \"${name}\")][Update emacsconf-tracks :status and update status page]]
- - [ ] Start Emacs and use emacsconf-stream-display-clock-and-countdown\n"))
+ - [ ] [[shell:ssh -t orga@live0.emacsconf.org 'screen -S restream-${id}-youtube /usr/local/bin/restream-${id}-youtube'][Start Youtube restream]] and then confirm ${youtube-studio-url} and ${youtube-url}
+ - [ ] [[shell:ssh -t orga@live0.emacsconf.org 'screen -S restream-${id}-toobnix /usr/local/bin/restream-${id}-toobnix'][Start Toobnix restream]] and then confirm ${toobnix-url}
+ - [ ] [[elisp:(emacsconf-stream-update-track-status \"${name}\")][Update emacsconf-tracks :status and update status page]]\n"))
emacsconf-tracks
"")
(emacsconf-hyperlist-format-streamer-day date track info)
diff --git a/emacsconf-pad.el b/emacsconf-pad.el
index 901ba2b..aa326e5 100644
--- a/emacsconf-pad.el
+++ b/emacsconf-pad.el
@@ -412,10 +412,6 @@ ${next-talk-list}
</ul>"))
)))
-(defun emacsconf-pad-prepopulate-shift-host (shift info)
-
- )
-
(defun emacsconf-pad-format-checkin-hyperlist (talk)
(emacsconf-replace-plist-in-string
(append (list
@@ -502,6 +498,7 @@ ${bbb-checklist}</li>")
(defun emacsconf-pad-prepopulate-host-hyperlists ()
(interactive)
(mapc #'emacsconf-pad-prepopulate-shift-hyperlist-host emacsconf-shifts))
+
(defun emacsconf-pad-prepopulate-shift-hyperlist-host (shift &optional info)
(interactive (list (completing-read "Shift: "
(mapcar (lambda (o) (plist-get o :id)) emacsconf-shifts))))
@@ -540,10 +537,16 @@ ${bbb-checklist}</li>")
:expanded-intro (emacsconf-pad-expand-intro talk)
:mumble (concat emacsconf-id "-" (plist-get (emacsconf-get-track talk) :id))
:qa-hhmm (format-time-string "%H:%M" (plist-get talk :qa-time) emacsconf-timezone)
+ :hyperlist-note-info
+ (emacsconf-surround
+ (format "<li><strong>%s NOTE for ${slug}:</strong> "
+ (format-time-string "%H:%M" (plist-get talk :start-time) emacsconf-timezone))
+ (plist-get talk :hyperlist-note) "</li>" "")
:next-talk-in-5 (if next-talk (format-time-string "%H:%M" (time-subtract (plist-get next-talk :start-time) (seconds-to-time 300)) emacsconf-timezone) "")
- :next-talk-in-1 (if next-talk (format-time-string "%H:%M" (time-subtract (plist-get next-talk :start-time) (seconds-to-time 60)) emacsconf-timezone) ""))
+ :next-talk-in-1 (if next-talk (format-time-string "%H:%M" (time-subtract (plist-get next-talk :start-time) (seconds-to-time 60)) emacsconf-timezone) ""))
talk)
(concat
+ "${hyperlist-note-info}"
(cond
(;; live talk, join BBB
(and (null (plist-get talk :recorded-intro))
diff --git a/emacsconf.el b/emacsconf.el
index c938e89..06c0d81 100644
--- a/emacsconf.el
+++ b/emacsconf.el
@@ -749,14 +749,25 @@
(emacsconf-get-talk-info 'wiki)))
(defun emacsconf-include-next-talks (info number)
- (let* ((info (sort (emacsconf-active-talks (emacsconf-filter-talks (or info (emacsconf-get-talk-info))))
- #'emacsconf-sort-by-scheduled))
+ (let* ((info (emacsconf-prepare-for-display info))
(cur-list info))
;; add links to the next talks
(while cur-list
(plist-put (pop cur-list) :next-talks (seq-take cur-list number)))
info))
+(defun emacsconf-previous-talk (talk &optional info)
+ (setq info (emacsconf-prepare-for-display (or info (emacsconf-get-talk-info))))
+ (let* ((pos (seq-position info talk))
+ (prev (and pos
+ (> pos 0)
+ (elt info (1- pos)))))
+ (and prev
+ (string= (format-time-string "%Y-%m-%d" (plist-get prev :start-time) emacsconf-timezone)
+ (format-time-string "%Y-%m-%d" (plist-get talk :start-time) emacsconf-timezone))
+ prev)))
+;; (emacsconf-previous-talk (emacsconf-resolve-talk "lspbridge"))
+
(defun emacsconf-resolve-talk (talk)
"Return the plist for TALK."
(if (stringp talk) (emacsconf-find-talk-info talk) talk))
@@ -1384,5 +1395,18 @@ tracks with the ID in the cdr of that list."
(concat (format-seconds "%.2m:%.2s" (floor seconds))
"." (format "%03d" (% (floor (* 1000 seconds)) 1000))))
+(defun emacsconf-insert-time-for-speaker (talk)
+ (interactive (list (emacsconf-complete-talk-info)))
+ (insert
+ (format-time-string "%-I:%M %P %Z" (plist-get talk :start-time) emacsconf-timezone)
+ " (" emacsconf-timezone ")"
+ (if (string= (format-time-string "%z" (plist-get talk :start-time) (plist-get talk :timezone))
+ emacsconf-timezone-offset)
+ ""
+ (concat
+ " which should be the same as "
+ (format-time-string "%-I:%M %P %Z" (plist-get talk :start-time) (plist-get talk :timezone))
+ " in "
+ (plist-get talk :timezone)))))
(provide 'emacsconf)
;;; emacsconf.el ends here