diff options
-rw-r--r-- | emacsconf-hyperlist.el | 8 | ||||
-rw-r--r-- | emacsconf-pad.el | 13 | ||||
-rw-r--r-- | emacsconf.el | 28 |
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 |