diff options
-rw-r--r-- | emacsconf-pad.el | 55 | ||||
-rw-r--r-- | emacsconf-publish.el | 3 | ||||
-rw-r--r-- | emacsconf-schedule.el | 10 | ||||
-rw-r--r-- | emacsconf.el | 2 |
4 files changed, 42 insertions, 28 deletions
diff --git a/emacsconf-pad.el b/emacsconf-pad.el index afd734b..5f53d7f 100644 --- a/emacsconf-pad.el +++ b/emacsconf-pad.el @@ -323,14 +323,17 @@ ${next-talk-list} (let* ((prefixed (list :start (plist-get shift :start) :end (plist-get shift :end) + :base-url emacsconf-base-url :year emacsconf-year - :host (emacsconf-surround "HOST-" (plist-get shift :host) "" "HOST") - :stream (emacsconf-surround "STREAM-" (plist-get shift :streamer) "" "STREAM") - :irc-volunteer (emacsconf-surround "IRC-" (plist-get shift :irc) "" "IRC") + :host (format "<em>%s</em>" + (emacsconf-surround "HOST-" (plist-get shift :host) "" "HOST")) + :stream (format "<em>%s</em>" + (emacsconf-surround "STREAM-" (plist-get shift :streamer) "" "STREAM")) + :irc-volunteer (format "<em>%s</em>" (emacsconf-surround "IRC-" (plist-get shift :irc) "" "IRC")) :track-id (plist-get (emacsconf-get-track (plist-get shift :track)) :id) - :checkin (emacsconf-surround "CHECKIN-" (plist-get shift :checkin) "" "CHECKIN") - :pad (emacsconf-surround "PAD-" (plist-get shift :pad) "" "PAD") - :coord (emacsconf-surround "COORD-" (plist-get shift :coord) "" "COORD") + :checkin (format "<em>%s</em>" (emacsconf-surround "CHECKIN-" (plist-get shift :checkin) "" "CHECKIN")) + :pad (format "<em>%s</em>" (emacsconf-surround "PAD-" (plist-get shift :pad) "" "PAD")) + :coord (format "<em>%s</em>" (emacsconf-surround "COORD-" (plist-get shift :coord) "" "COORD")) :checkin-pad (concat emacsconf-pad-base "checkin-" (downcase (format-time-string "%a" (date-to-time (plist-get shift :start))))))) (shift-talks (mapcar (lambda (o) (append prefixed o)) @@ -352,12 +355,14 @@ ${next-talk-list} prefixed (concat " +<p>Ctrl-5 is the shortcut for striking through on Etherpad.</p> + <strong>Setup</strong> <ul> -<li>[ ] <em>${checkin}:</em> Open ${checkin-pad}</li> -<li>[ ] <em>${irc-volunteer}:</em> Watch the #emacsconf-${track-id} channel</li> -<li>[ ] <em>${pad}:</em> Open the index: https://media.emacsconf.org/${year}/backstage/index-${track-id}.html</li> -<li>[ ] <em>${stream}:</em> Start streaming with OBS +<li>[ ] ${checkin}: Open ${checkin-pad}</li> +<li>[ ] ${irc-volunteer}: Watch the #emacsconf-${track-id} channel and open ${base-url}${year}/talks for links to the pads</li> +<li>[ ] ${pad}: Open ${base-url}${year}/talks for links to the pads</li> +<li>[ ] ${stream}: Start recording with OBS <ul><li>[ ] Set up the local environment <ul><li>[? gen] export TRACK=gen; export TRACK_PORT=5905; export SSH_PORT=46668</li> <li>[? dev] export TRACK=dev; export TRACK_PORT=5906; export SSH_PORT=46668</li></ul></li> @@ -367,15 +372,21 @@ ${next-talk-list} <ul> <li>[? Can't connect to VNC]: ssh emacsconf-$TRACK@res.emacsconf.org -p $SSH_PORT /home/emacsconf-$TRACK/bin/track-vnc</li> <li>[? Can't find OBS]: track-obs</li></ul></li> +<li>[ ] Start background music via SSH or VNC: ~/bin/start-background-music +<ul><li>[? No audio device]: +<ul><li><em>pulseaudio -k; pulseaudio --start</em></li> +<li>quit OBS</li> +<li><em>track-obs</em></li></ul></li> <li>[ ] Start recording (not streaming). (Alt-2, switch to workspace 2; Alt-Shift-2, move something to workspace 2).</li> <li>[ ] Watch the stream with MPV on your local system: mpv https://live0.emacsconf.org/emacsconf/$TRACK.webm &</li> -<li>[ ] Check 480p: mpv https://live0.emacsconf.org/emacsconf/$TRACK-480p.webm &</li> +<li>[ ] Check 480p by viewing it : mpv https://live0.emacsconf.org/emacsconf/$TRACK-480p.webm &</li> <li>[ ] Confirm that the streaming user has connected to Mumble, is in the ${channel} channel, and can hear what we say on Mumble.</li> -<li>[ ] Test with a sample video or Q&A session: ssh emacsconf-$TRACK@res.emacsconf.org -p 46668 \"~/bin/track-mpv meetups &\"</li> +<li>[ ] Test with a sample video or Q&A session. You can run this command on your local system if you want to do things off-screen: <strong>ssh emacsconf-$TRACK@res.emacsconf.org -p 46668 \"~/bin/track-mpv meetups &\"</strong></li> +<li>[ ] ${stream}: Restart the background music via SSH or VNC: <em>~/bin/start-background-music</em> . The background music should automatically get killed when the talks start, but if it doesn't, you can stop it with: <em>screen -S background -X quit</em></li> </ul></li> -<li>[ ] <em>${coord}:</em> ssh -t orga@live0.emacsconf.org 'screen -S restream-${track-id}-youtube /home/orga/restream-${track-id}-youtube.sh' and then confirm</li> -<li>[ ] <em>${coord}:</em> ssh -t orga@live0.emacsconf.org 'screen -S restream-${track-id}-toobnix /home/orga/restream-${track-id}-toobnix.sh' and then confirm</li> -<li>[ ] <em>${coord}:</em> update the status page on live.emacsconf.org by changing emacsconf-tracks and calling emacsconf-stream-update-status-page</li> +<li>[ ] ${coord}: ssh -t orga@live0.emacsconf.org 'screen -S restream-${track-id}-youtube /home/orga/restream-${track-id}-youtube.sh' and then confirm</li> +<li>[ ] ${coord}: ssh -t orga@live0.emacsconf.org 'screen -S restream-${track-id}-toobnix /home/orga/restream-${track-id}-toobnix.sh' and then confirm</li> +<li>[ ] ${coord}: update the status page on live.emacsconf.org by changing emacsconf-tracks and calling emacsconf-stream-update-status-page</li> </ul> " "<strong>Talks</strong> @@ -389,10 +400,10 @@ ${next-talk-list} "</ul>" "Teardown <ul> -<li>[ ] <em>${stream}:</em> stop recording</li> -<li>[ ] <em>${coord}:</em> stop the restream-${track-id}-youtube screen on live0: <strong>screen -S restream-${track-id}-youtube -X quit</strong></li> -<li>[ ] <em>${coord}:</em> stop the restream-${track-id}-toobnix screen on live0: <strong>screen -S restream-${track-id}-toobnix -X quit</strong></li> -<li>[ ] <em>${coord}:</em> update the status page on live.emacsconf.org by changing emacsconf-tracks and calling emacsconf-stream-update-status-page</li> +<li>[ ] ${stream}: stop recording</li> +<li>[ ] ${coord}: stop the restream-${track-id}-youtube screen on live0: <strong>screen -S restream-${track-id}-youtube -X quit</strong></li> +<li>[ ] ${coord}: stop the restream-${track-id}-toobnix screen on live0: <strong>screen -S restream-${track-id}-toobnix -X quit</strong></li> +<li>[ ] ${coord}: update the status page on live.emacsconf.org by changing emacsconf-tracks and calling emacsconf-stream-update-status-page</li> </ul>")) ))) @@ -405,11 +416,11 @@ ${next-talk-list} talk) (pcase (or (plist-get talk :q-and-a) "") ((rx "live") - "<li>[ ] <strong>${time}</strong> <em>${checkin}:</em> ${speakers} should be checked into ${bbb-backstage} and set as moderator(s) for talk time of ${start}</li>") + "<li>[ ] <strong>${time}</strong> ${checkin}: ${speakers} should be checked into ${bbb-backstage} and set as moderator(s) for talk time of ${start}</li>") ((rx "IRC") - "<li>[ ] <strong>${time}</strong> <em>${checkin}:</em> ${speakers} should be in #${channel} (${irc-nick}) for talk time of ${start}</li>") + "<li>[ ] <strong>${time}</strong> ${checkin}: ${speakers} should be in #${channel} (${irc-nick}) for talk time of ${start}</li>") ((rx "Mumble") - "<li>[ ] <strong>${time}</strong> <em>${checkin}:</em> ${speakers} should be Mumble for talk time of ${start}</li>") + "<li>[ ] <strong>${time}</strong> ${checkin}: ${speakers} should be Mumble for talk time of ${start}</li>") (_ "")))) (defun emacsconf-pad-prepopulate-checkins (&optional info) diff --git a/emacsconf-publish.el b/emacsconf-publish.el index fd2949b..9d82335 100644 --- a/emacsconf-publish.el +++ b/emacsconf-publish.el @@ -930,6 +930,7 @@ Entries are sorted chronologically, with different tracks interleaved." :speakers (plist-get o :speakers) :q-and-a (plist-get o :q-and-a) :qa-link (plist-get o :qa-link) + :watch (plist-get o :watch-url) :note (string-join (delq nil @@ -1714,7 +1715,7 @@ This video is available under the terms of the Creative Commons Attribution-Shar (mapconcat (lambda (track) (emacsconf-replace-plist-in-string track - "<tr><td><a href=\"/${year}/watch/${id}\">${name}</a></td><td><a href=\"${webchat}\">${channel}</a></td><td><a href=\"${stream}\">${stream}</a></td><td><a href=\"${480p}\">${id}-480p.webm</a></tr>")) + "<tr><td><div class=\"sched-track ${name}\"><a href=\"/${year}/watch/${id}\">${name}</a></div></td><td><a href=\"${webchat}\">${channel}</a></td><td><a href=\"${stream}\">${stream}</a></td><td><a href=\"${480p}\">${id}-480p.webm</a></tr>")) emacsconf-tracks "\n") "</table>\n\n" diff --git a/emacsconf-schedule.el b/emacsconf-schedule.el index cfd20f3..f4cdeda 100644 --- a/emacsconf-schedule.el +++ b/emacsconf-schedule.el @@ -301,6 +301,7 @@ Each function should take the info and manipulate it as needed, returning the ne (x 0) (y label-margin) (scale (/ width (float-time (time-subtract end start)))) (time start)) + (dom-append-child elem (dom-node 'title nil (concat "Schedule for " label))) (svg-rectangle elem 0 0 width height :fill "white") (svg-text elem label :x 3 :y (- label-margin 3) :fill "black" :font-size "10") (mapc (lambda (track) @@ -330,8 +331,8 @@ Each function should take the info and manipulate it as needed, returning the ne (x . 0) (y . ,(- height 2 label-margin)) (font-size . 10) - (text-anchor . "middle")) - (svg--encode-text (format-time-string "%-l" time emacsconf-timezone))))) + (text-anchor . "left")) + (svg--encode-text (format-time-string "%-l %p" time emacsconf-timezone))))) (setq time (time-add time (seconds-to-time 3600))))) elem)) @@ -380,12 +381,13 @@ Each function should take the info and manipulate it as needed, returning the ne "lightgreen") ((rx (or "TO_STREAM")) "green") - (t "gray"))))) + (_ "gray"))))) (defun emacsconf-schedule-svg-days (width height days) - (let ((svg (svg-create width height :background "white")) + (let ((svg (svg-create width height)) (day-height (/ height (length days))) (y 0)) + (dom-append-child svg (dom-node 'title nil "Graphical view of the schedule")) (mapc (lambda (day) (let ((group (dom-node 'g `((transform . ,(format "translate(0,%d)" y)))))) diff --git a/emacsconf.el b/emacsconf.el index cce14b6..a3fc06c 100644 --- a/emacsconf.el +++ b/emacsconf.el @@ -600,7 +600,7 @@ ((string-match "live" (plist-get o :q-and-a)) (plist-put o :bbb-redirect (format "https://emacsconf.org/current/%s/room/" (plist-get o :slug))) (plist-put o :qa-info (plist-get o :bbb-redirect)) - (plist-put o :qa-link (format "<a href=\"%s\">live</a>" (plist-get o :bbb-redirect)))) + (plist-put o :qa-link (format "<a href=\"%s\">BBB</a>" (plist-get o :bbb-redirect)))) ((string-match "IRC" (plist-get o :q-and-a)) (plist-put o :qa-info (concat (emacsconf-surround "nick: " (plist-get o :irc) ", " "") (plist-get o :channel))) |