From 4bd09c6fa19379334b2412f272ac8cc4d357fcb4 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Wed, 30 Nov 2022 14:20:10 -0500 Subject: status updates --- 2022/organizers-notebook.md | 159 ++++++++++++++++++++++++++----------- 2022/organizers-notebook/index.org | 143 +++++++++++++++++++++++---------- 2 files changed, 214 insertions(+), 88 deletions(-) diff --git a/2022/organizers-notebook.md b/2022/organizers-notebook.md index a60d30e2..5637eacb 100644 --- a/2022/organizers-notebook.md +++ b/2022/organizers-notebook.md @@ -411,13 +411,21 @@ interests you! ### TODO Click on stuff with xdotool -;; type emacsconf -(emacsconf-stream-track-ssh - (emacsconf-get-track “General”) - (split-string “xdotool mousemove 791 512 click 1 sleep 1 key Ctrl+a type emacsconf”)) +(emacsconf-stream-bbb “journalism”) +(emacsconf-stream-xdotool-set-up-bbb “journalism”) +;; get into backstage area +xdotool mousemove 806 385 click 1 + +(progn +) + +(let ((pos (emacsconf-stream-xdotool “General” “getmouselocation”))) + (when (string-match “x:\\$[0-9]+\$ y:\\$[0-9]+\$” pos) + (insert (format “(emacsconf-stream-xdotool \\”General\\“ \\”mousemove %s %s click 1\\“)\n” (match-string 1 pos) (match-string 2 pos))))) + (emacsconf-stream-track-ssh (emacsconf-get-track “General”) - (split-string “xdotool mousemove 558 160 click 1”)) + (split-string “xdotool ”)) xdotool mousemove 253 176 click 1 xdotool mousemove 215 164 click 1 @@ -524,7 +532,7 @@ Input #0, matroska,webm, from ’http://live0.emacsconf.org:8001/gen.webm&rs // @license-end -### TODO Make sure things are okay for me to handle both streams :sachac: +### DONE Make sure things are okay for me to handle both streams :sachac: #### DONE Add keyboard shortcuts @@ -575,13 +583,13 @@ Input #0, matroska,webm, from ’http://live0.emacsconf.org:8001/gen.webm&rs I’m just going to do this with pavucontrol so that it’s not too complicated -#### TODO Tweak my audio setup for push-to-talk? +#### CANCELLED Tweak my audio setup for push-to-talk? -#### STARTED Guard against over-announcing by paying attention to erc +#### DONE Guard against over-announcing by paying attention to erc Goal: Don’t spam the channel with talk announcements @@ -592,11 +600,7 @@ How to detect announcements: If it was the most recently announced talk in the channel, don’t re-announce it - (defun emacsconf-erc-notice-inserted-string (string) - (message "ERC: %s" string) - ) - - (remove-hook 'erc-insert-pre-hook #'emacsconf-erc-notice-inserted-string) +(with-eval-after-load ’erc (add-hook ’erc-insert-pre-hook ’emacsconf-erc-notice-announcements)) @@ -708,6 +712,9 @@ echo ’/bin/bash /home/orga/screen-restream-test-toobnix.sh’ | at 8:3 ### TODO Process the other intros +### SOMEDAY Record more intros :sachac: + + ## TODO Set up talks on Toobnix and YouTube :sachac:yt:toobnix: @@ -1058,27 +1065,7 @@ Goal: - The hyperlist will primarily live on orga@res.emacsconf.org and be accessed through emacsclient. (Maybe sat.org and sun.org) - Volunteers should be able to take breaks as needed -- 9:05 Journalism - - [ ] Check ${name} into BBB room - - [X] [Start talk]((emacsconf-update-talk-status "journalism" "." "PLAYING")) - - [X] [Start closed Q&A]((emacsconf-update-talk-status "journalism" "." "CLOSED_Q")) - - [ ] [Open Q&A]((emacsconf-update-talk-status "journalism" "." "OPEN_Q")) - - [ ] [Mark Q&A as unstreamed]((emacsconf-update-talk-status "journalism" "." "UNSTREAMED_Q")) - - [ ] [Finish talk]((emacsconf-update-talk-status "journalism" "." "TO_ARCHIVE")) -- 9:40 Handwritten - - [ ] [Start talk]((emacsconf-update-talk-status "handwritten" "." "PLAYING")) - - [ ] [Start closed Q&A]((emacsconf-update-talk-status "handwritten" "." "CLOSED_Q")) - - [ ] [Open Q&A]((emacsconf-update-talk-status "handwritten" "." "OPEN_Q")) - - [ ] [Mark Q&A as unstreamed]((emacsconf-update-talk-status "handwritten" "." "UNSTREAMED_Q")) - - [ ] [Finish talk]((emacsconf-update-talk-status "handwritten" "." "TO_ARCHIVE")) - -See sat.org and sun.org in the conf private repo - -Try them in an Etherpad - - - - +emacsconf-hyperlist-show-streamer-day [How do we want to coordinate during the conference itself?](#coordination) @@ -1100,7 +1087,7 @@ Try them in an Etherpad [Use Mumble for backchannel coordination and also on-stage](file:///home/sacha/proj/emacsconf/wiki/2022/organizers-notebook/index.md) -#### TODO make sure live talks are on the checkin list +#### DONE make sure live talks are on the checkin list ### DONE Make backstage redirects for pad and qa so that hosts and streamers can have an easier time @@ -1122,6 +1109,18 @@ Pattern: ### CANCELLED Put shell commands on a separate line so they’re easy to select and run +### DONE Make a hyperlist for hosts + + +### DONE Update etherpad hyperlist + + +### DONE Adjust audio levels from hyperlist + + +### TODO Adjust audio levels from hyperlist with a repeat-mode keymap + + ## TODO Record intro/outro for day-1 and day-2 :zaeph: @@ -1532,6 +1531,7 @@ That might be interesting for reviewing text recognition output # Things to figure out / decisions to make +- [Do we want to drop talks?](#drop) - [How do we want to coordinate during the conference itself?](#coordination) - [How do we want to make the full schedule more manageable?](#sched-decision) - [Do we want to skip the closed Q&A and go straight to open?](#closed) @@ -1541,6 +1541,15 @@ That might be interesting for reviewing text recognition output - [Do we want people to advertise any openings with their companies or any work that they’re looking for?](#advertising) - [Decision archive](#decision-archive) - [Think about what to do with schedule gaps due to cancelled talks](#schedule-gaps):thoughts: +- [Split rms into two talks?](#rmstedsplit) + + + + +## Do we want to drop talks? + +- **Keep the slot open, allow people to speak live** + - If they don’t show up, continue with previous Q&A or have an open room @@ -1874,6 +1883,17 @@ Options: ### SOMEDAY Consider fillers covering conference stuff :thoughts: + + +## SOMEDAY Split rms into two talks? + +- Split into a separate talk: + - Can more easily have intros + - Can post the transcript to the talk page +- Same talk, stream files: + - Might as well learn how to do that anyway + + # Roles needed @@ -1976,7 +1996,7 @@ AM: 9-12 PM EST, PM: 1-5 PM EST (plus a little extra for setup/transition) Saturday Dec 3 - +
@@ -2042,10 +2062,10 @@ Saturday Dec 3 - + - + @@ -2056,7 +2076,7 @@ publicvoit - pad until 4pm on Sat, until 2pm on Sun Sunday Dec 4 -
Dev PMvetrivln bandalisachac FlowyCodervetrivlnbandali   sachac
+
@@ -2122,10 +2142,10 @@ Sunday Dec 4 - + - + @@ -3157,7 +3177,7 @@ Probably focus on grabbing the audio first and seeing what’s worth keeping Make a table of the form -
Dev PMvetrivln bandalisachac FlowyCodervetrivlnbandali   sachac
+
@@ -3274,6 +3294,7 @@ See for more. - [Alternate stream volunteer wants to stream](#alternate) - [Renamed talk](#renamed) - [Video playing error, need to play with mpv manually](#play-mpv-manually):stream: +- [Shift changes](#org5e6db1e) - [Need to restart 480p stream](#restart-480p) @@ -3467,12 +3488,12 @@ mpv –vf=negate $url export SLUG=the ID of the talk -- [TO\_STREAM -> PLAYING](#org6f04e7b):stream: +- [TO\_STREAM -> PLAYING](#orgd7e6def):stream: - [CLOSED\_Q -> OPEN\_Q](#open) - [OPEN\_Q -> TO\_ARCHIVE](#archive) - + ### TO\_STREAM -> PLAYING :stream: @@ -3555,6 +3576,16 @@ You can skip the intro and play a video by specifying the filename, like this: play ~/stream/emacsconf-2022-journalism-\* + + +## Shift changes + +1. Update [Shifts](#shifts) +2. Evaluate the code underneath to get the setq. +3. Put the setq in emacsconf.el. +4. Regenerate the hyperlists: emacsconf-pad-prepopulate-hyperlists + + ## Need to restart 480p stream @@ -5493,7 +5524,7 @@ dev: Mumble? -#### TODO Reflow and edit VTT for RMS TEDx talk so that things are on one line +#### DONE Reflow and edit VTT for RMS TEDx talk so that things are on one line @@ -5524,6 +5555,12 @@ OpenAPI captions so that people can decide what they like. [Set up MPV for captions](#mpv-captions) +### DONE Edit survey captions + + +### DONE Edit dbus captions + + ### DONE Figure out why it’s choking on SRV2 Can I use aeneas for alignment instead? @@ -5727,6 +5764,38 @@ are they at the right length? ### DONE Check captions for rms talk +### TODO Try whisper.cpp + +commented out `-mavx` to get it to compile in Debian on res + +ffmpeg -y -i emacsconf-2022-rmsted–main.ogg -acodec pcm\_s16le -ac 1 -ar 16000 emacsconf-2022-rmsted–main.wav +/usr/src/whisper.cpp/main -f emacsconf-2022-rmsted–main.wav -m models/ggml-large.bin -ovtt -otxt + + +### DONE edit rms tedx captions, they’re not actually edited! + + +### DONE realign subtitles if needed, looks like aeneas options need tweaking + + (seq-keep + (lambda (file) + (let ((subtitles (subed-parse-file file)) + gaps) + (while (cdr subtitles) + (setq gaps (cons (- (elt (cadr subtitles) 1) (elt (car subtitles) 2)) + gaps)) + (setq subtitles (cdr subtitles))) + ;; if there are gaps more than + (let ((big-gaps (seq-filter (lambda (gap) (> gap 100)) gaps))) + (when big-gaps + (list (file-name-base file) + (length big-gaps) + (apply #'max big-gaps))))) + ) + (directory-files emacsconf-cache-dir t "--main.vtt$") + ) + + ## DONE Find a way to accommodate a specific return-speaker We’re not sure if we’re going to get a presentation or a prerec for them diff --git a/2022/organizers-notebook/index.org b/2022/organizers-notebook/index.org index 1f69760a..3703ffe8 100644 --- a/2022/organizers-notebook/index.org +++ b/2022/organizers-notebook/index.org @@ -120,13 +120,24 @@ interests you! https://pad.emacsconf.org/premortem *** TODO [#B] Click on stuff with xdotool -;; type emacsconf -(emacsconf-stream-track-ssh - (emacsconf-get-track "General") - (split-string "xdotool mousemove 791 512 click 1 sleep 1 key Ctrl+a type emacsconf")) +(emacsconf-stream-bbb "journalism") +(emacsconf-stream-xdotool-set-up-bbb "journalism") +;; get into backstage area +xdotool mousemove 806 385 click 1 + +(progn +) + +(let ((pos (emacsconf-stream-xdotool "General" "getmouselocation"))) + (when (string-match "x:\\([0-9]+\\) y:\\([0-9]+\\)" pos) + (insert (format "(emacsconf-stream-xdotool \"General\" \"mousemove %s %s click 1\")\n" (match-string 1 pos) (match-string 2 pos))))) + + + + (emacsconf-stream-track-ssh (emacsconf-get-track "General") - (split-string "xdotool mousemove 558 160 click 1")) + (split-string "xdotool ")) xdotool mousemove 253 176 click 1 @@ -462,6 +473,12 @@ echo '/bin/bash /home/orga/screen-restream-test-toobnix.sh' | at 8:30 :CREATED: [2022-11-26 Sat 10:38] :END: +*** SOMEDAY Record more intros :sachac: +SCHEDULED: <2022-11-30 Wed> +:PROPERTIES: +:CREATED: [2022-11-30 Wed 00:02] +:END: + ** TODO Set up talks on Toobnix and YouTube :sachac:yt:toobnix: SCHEDULED: <2022-12-01 Thu> :PROPERTIES: @@ -731,27 +748,7 @@ Goal: - The hyperlist will primarily live on orga@res.emacsconf.org and be accessed through emacsclient. (Maybe sat.org and sun.org) - Volunteers should be able to take breaks as needed -- 9:05 Journalism - - [ ] Check ${name} into _BBB room_ - - [X] [[elisp:(emacsconf-update-talk-status "journalism" "." "PLAYING")][Start talk]] - - [X] [[elisp:(emacsconf-update-talk-status "journalism" "." "CLOSED_Q")][Start closed Q&A]] - - [ ] [[elisp:(emacsconf-update-talk-status "journalism" "." "OPEN_Q")][Open Q&A]] - - [ ] [[elisp:(emacsconf-update-talk-status "journalism" "." "UNSTREAMED_Q")][Mark Q&A as unstreamed]] - - [ ] [[elisp:(emacsconf-update-talk-status "journalism" "." "TO_ARCHIVE")][Finish talk]] -- 9:40 Handwritten - - [ ] [[elisp:(emacsconf-update-talk-status "handwritten" "." "PLAYING")][Start talk]] - - [ ] [[elisp:(emacsconf-update-talk-status "handwritten" "." "CLOSED_Q")][Start closed Q&A]] - - [ ] [[elisp:(emacsconf-update-talk-status "handwritten" "." "OPEN_Q")][Open Q&A]] - - [ ] [[elisp:(emacsconf-update-talk-status "handwritten" "." "UNSTREAMED_Q")][Mark Q&A as unstreamed]] - - [ ] [[elisp:(emacsconf-update-talk-status "handwritten" "." "TO_ARCHIVE")][Finish talk]] - -See sat.org and sun.org in the conf private repo - -Try them in an Etherpad - -https://media.emacsconf.org/2022/backstage/index-gen.html -https://media.emacsconf.org/2022/backstage/index-dev.html -https://media.emacsconf.org/2022/backstage/hyperlists/ +emacsconf-hyperlist-show-streamer-day [[#coordination][How do we want to coordinate during the conference itself?]] *** DONE Try writing it to an Etherpad @@ -780,9 +777,14 @@ CLOSED: [2022-11-28 Mon 12:25] SCHEDULED: <2022-11-28 Mon> [[file:~/proj/emacsconf/wiki/2022/organizers-notebook/index.org::*Use Mumble for backchannel coordination and also on-stage][Use Mumble for backchannel coordination and also on-stage]] -**** TODO [#A] make sure live talks are on the checkin list +**** DONE [#A] make sure live talks are on the checkin list +CLOSED: [2022-11-30 Wed 10:50] :PROPERTIES: :CREATED: [2022-11-28 Mon 21:38] +:Effort: 0:30 +:END: +:LOGBOOK: +CLOCK: [2022-11-30 Wed 09:38]--[2022-11-30 Wed 10:50] => 1:12 :END: *** DONE Make backstage redirects for pad and qa so that hosts and streamers can have an easier time @@ -814,16 +816,25 @@ CLOSED: [2022-11-24 Thu 08:57] SCHEDULED: <2022-11-24 Thu> :CREATED: [2022-11-23 Wed 20:50] :END: -*** SOMEDAY [#A] Make a hyperlist for hosts +*** DONE [#A] Make a hyperlist for hosts +CLOSED: [2022-11-30 Wed 10:50] :PROPERTIES: :CREATED: [2022-11-29 Tue 21:19] :END: -*** SOMEDAY [#A] Update etherpad hyperlist +*** DONE [#A] Update etherpad hyperlist +CLOSED: [2022-11-30 Wed 10:50] :PROPERTIES: :CREATED: [2022-11-29 Tue 21:19] :END: +*** DONE Adjust audio levels from hyperlist +CLOSED: [2022-11-30 Wed 13:03] +:PROPERTIES: +:CREATED: [2022-11-30 Wed 11:52] +:END: +*** TODO [#C] Adjust audio levels from hyperlist with a repeat-mode keymap + ** TODO [#C] Record intro/outro for day-1 and day-2 :zaeph: :PROPERTIES: :CUSTOM_ID: rec-intro @@ -1607,6 +1618,19 @@ SCHEDULED: <2022-12-01 Thu> :CREATED: [2022-11-19 Sat 17:43] :END: +** SOMEDAY Split rms into two talks? +SCHEDULED: <2022-11-30 Wed> +:PROPERTIES: +:CREATED: [2022-11-29 Tue 23:06] +:CUSTOM_ID: rmstedsplit +:END: + +- Split into a separate talk: + - Can more easily have intros + - Can post the transcript to the talk page +- Same talk, stream files: + - Might as well learn how to do that anyway + * Roles needed :PROPERTIES: :CUSTOM_ID: roles @@ -1705,23 +1729,23 @@ AM: 9-12 PM EST, PM: 1-5 PM EST (plus a little extra for setup/transition) Saturday Dec 3 #+NAME: saturday-shifts -| | Host | Streamer | Checkin | IRC | Pad | Coord | -|--------+----------+----------+------------+----------+------------+--------| -| Gen AM | zaeph | sachac | corwin | dto | publicvoit | sachac | -| Gen PM | zaeph | sachac | FlowyCoder | bandali | publicvoit | sachac | -| Dev AM | bandali | sachac | corwin | dto | | sachac | -| Dev PM | vetrivln | bandali | FlowyCoder | vetrivln | | sachac | +| | Host | Streamer | Checkin | IRC | Pad | Coord | +|--------+---------+----------+------------+---------+------------+--------| +| Gen AM | zaeph | sachac | corwin | dto | publicvoit | sachac | +| Gen PM | zaeph | sachac | FlowyCoder | bandali | publicvoit | sachac | +| Dev AM | bandali | sachac | corwin | dto | | sachac | +| Dev PM | bandali | sachac | FlowyCoder | bandali | | sachac | publicvoit - pad until 4pm on Sat, until 2pm on Sun Sunday Dec 4 #+NAME: sunday-shifts -| | Host | Streamer | Checkin | IRC | Pad | Coord | -|--------+----------+----------+------------+----------+------------+--------| -| Gen AM | zaeph | sachac | corwin | dto | publicvoit | sachac | -| Gen PM | zaeph | jman | FlowyCoder | bandali | publicvoit | sachac | -| Dev AM | bandali | sachac | corwin | dto | | sachac | -| Dev PM | vetrivln | bandali | FlowyCoder | vetrivln | | sachac | +| | Host | Streamer | Checkin | IRC | Pad | Coord | +|--------+---------+----------+------------+---------+------------+--------| +| Gen AM | zaeph | sachac | corwin | dto | publicvoit | sachac | +| Gen PM | zaeph | jman | FlowyCoder | bandali | publicvoit | sachac | +| Dev AM | bandali | sachac | corwin | dto | | sachac | +| Dev PM | bandali | sachac | FlowyCoder | bandali | | sachac | Backups: - dev host/streamer: bandali, sachac @@ -1774,7 +1798,7 @@ Interested in a shift? Please e-mail [[mailto:emacsconf-org-private@gnu.org]] an #+RESULTS: :results: -(setq emacsconf-shifts (list (list :id "sat-am-gen" :track "General" :start "2022-12-03T08:00:00-0500" :end "2022-12-03T12:00:00-0500" :host "zaeph" :streamer "sachac" :checkin "corwin" :irc "dto" :pad "publicvoit" :coord "sachac") (list :id "sat-pm-gen" :track "General" :start "2022-12-03T13:00:00-0500" :end "2022-12-03T18:00:00-0500" :host "zaeph" :streamer "sachac" :checkin "FlowyCoder" :irc "bandali" :pad "publicvoit" :coord "sachac") (list :id "sat-am-dev" :track "Development" :start "2022-12-03T08:00:00-0500" :end "2022-12-03T12:00:00-0500" :host "bandali" :streamer "sachac" :checkin "corwin" :irc "dto" :coord "sachac") (list :id "sat-pm-dev" :track "Development" :start "2022-12-03T13:00:00-0500" :end "2022-12-03T18:00:00-0500" :host "vetrivln" :streamer "bandali" :checkin "FlowyCoder" :irc "vetrivln" :coord "sachac") (list :id "sun-am-gen" :track "General" :start "2022-12-04T08:00:00-0500" :end "2022-12-04T12:00:00-0500" :host "zaeph" :streamer "sachac" :checkin "corwin" :irc "dto" :pad "publicvoit" :coord "sachac") (list :id "sun-pm-gen" :track "General" :start "2022-12-04T13:00:00-0500" :end "2022-12-04T18:00:00-0500" :host "zaeph" :streamer "jman" :checkin "FlowyCoder" :irc "bandali" :pad "publicvoit" :coord "sachac") (list :id "sun-am-dev" :track "Development" :start "2022-12-04T08:00:00-0500" :end "2022-12-04T12:00:00-0500" :host "bandali" :streamer "sachac" :checkin "corwin" :irc "dto" :coord "sachac") (list :id "sun-pm-dev" :track "Development" :start "2022-12-04T13:00:00-0500" :end "2022-12-04T18:00:00-0500" :host "vetrivln" :streamer "bandali" :checkin "FlowyCoder" :irc "vetrivln" :coord "sachac"))) +(setq emacsconf-shifts (list (list :id "sat-am-gen" :track "General" :start "2022-12-03T08:00:00-0500" :end "2022-12-03T12:00:00-0500" :host "zaeph" :streamer "sachac" :checkin "corwin" :irc "dto" :pad "publicvoit" :coord "sachac") (list :id "sat-pm-gen" :track "General" :start "2022-12-03T13:00:00-0500" :end "2022-12-03T18:00:00-0500" :host "zaeph" :streamer "sachac" :checkin "FlowyCoder" :irc "bandali" :pad "publicvoit" :coord "sachac") (list :id "sat-am-dev" :track "Development" :start "2022-12-03T08:00:00-0500" :end "2022-12-03T12:00:00-0500" :host "bandali" :streamer "sachac" :checkin "corwin" :irc "dto" :coord "sachac") (list :id "sat-pm-dev" :track "Development" :start "2022-12-03T13:00:00-0500" :end "2022-12-03T18:00:00-0500" :host "bandali" :streamer "sachac" :checkin "FlowyCoder" :irc "bandali" :coord "sachac") (list :id "sun-am-gen" :track "General" :start "2022-12-04T08:00:00-0500" :end "2022-12-04T12:00:00-0500" :host "zaeph" :streamer "sachac" :checkin "corwin" :irc "dto" :pad "publicvoit" :coord "sachac") (list :id "sun-pm-gen" :track "General" :start "2022-12-04T13:00:00-0500" :end "2022-12-04T18:00:00-0500" :host "zaeph" :streamer "jman" :checkin "FlowyCoder" :irc "bandali" :pad "publicvoit" :coord "sachac") (list :id "sun-am-dev" :track "Development" :start "2022-12-04T08:00:00-0500" :end "2022-12-04T12:00:00-0500" :host "bandali" :streamer "sachac" :checkin "corwin" :irc "dto" :coord "sachac") (list :id "sun-pm-dev" :track "Development" :start "2022-12-04T13:00:00-0500" :end "2022-12-04T18:00:00-0500" :host "bandali" :streamer "sachac" :checkin "FlowyCoder" :irc "bandali" :coord "sachac"))) :end: ** After the conference @@ -3072,7 +3096,13 @@ STATE=before; ssh orga@media.emacsconf.org "cp /home/orga/backstage/assets/redir You can skip the intro and play a video by specifying the filename, like this: play ~/stream/emacsconf-2022-journalism-* +** Shift changes +1. Update [[#shifts]] +2. Evaluate the code underneath to get the setq. +3. Put the setq in emacsconf.el. +4. Regenerate the hyperlists: emacsconf-pad-prepopulate-hyperlists + ** Need to restart 480p stream :PROPERTIES: :CUSTOM_ID: restart-480p @@ -5228,10 +5258,37 @@ CLOSED: [2022-11-29 Tue 22:56] :CREATED: [2022-11-29 Tue 08:00] :END: -*** TODO [#A] realign subtitles if needed, looks like aeneas options need tweaking +*** DONE [#A] realign subtitles if needed, looks like aeneas options need tweaking +CLOSED: [2022-11-30 Wed 14:17] SCHEDULED: <2022-11-30 Wed> :PROPERTIES: :CREATED: [2022-11-29 Tue 21:46] +:Effort: 1:00 +:END: +:LOGBOOK: +CLOCK: [2022-11-30 Wed 14:05]--[2022-11-30 Wed 14:17] => 0:12 :END: + +#+begin_src emacs-lisp :eval no +(seq-keep + (lambda (file) + (let ((subtitles (subed-parse-file file)) + gaps) + (while (cdr subtitles) + (setq gaps (cons (- (elt (cadr subtitles) 1) (elt (car subtitles) 2)) + gaps)) + (setq subtitles (cdr subtitles))) + ;; if there are gaps more than + (let ((big-gaps (seq-filter (lambda (gap) (> gap 100)) gaps))) + (when big-gaps + (list (file-name-base file) + (length big-gaps) + (apply #'max big-gaps))))) + ) + (directory-files emacsconf-cache-dir t "--main.vtt$") + ) +#+end_src + + ** DONE Find a way to accommodate a specific return-speaker CLOSED: [2022-11-19 Sat 11:17] We’re not sure if we’re going to get a presentation or a prerec for them -- cgit v1.2.3