branch: externals/eev commit 391dce215a4ad7585ed906dd93bfeb0303eaf276 Author: Eduardo Ochs <eduardoo...@gmail.com> Commit: Eduardo Ochs <eduardoo...@gmail.com>
Added `find-1stclassvideo-video'. --- ChangeLog | 23 +++++++++++ VERSION | 4 +- eev-code.el | 6 ++- eev-intro.el | 57 +++++++++++++++++---------- eev-tlinks.el | 113 ++++++++++++++++++++++++++++++++++++++++++------------ eev-videolinks.el | 68 +++++++++++++++++--------------- 6 files changed, 191 insertions(+), 80 deletions(-) diff --git a/ChangeLog b/ChangeLog index 81fa065462..6b76169691 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,26 @@ +2022-05-12 Eduardo Ochs <eduardoo...@gmail.com> + + * eev-videolinks.el (find-eev2019video, find-eev2020video) + (find-eev2021video, find-eev2021bvideo, find-eevnavvideo) + (find-eevtemplvideo, find-eevfherelvideo, find-eevtestblsvideo) + (find-eevvlinksvideo, find-oficina20210video) + (find-oficina2021avideo, find-oficina2021bvideo) + (find-2021ssrvideo, find-2021workshop1video) + (find-2021workshop2video, find-2021workshop3video) + (find-2021workshop4video, find-2021workshop5video) + (find-2021workshop6video, find-2021orgfornonusersvideo) + (find-2021ffllvideo, find-2022eevmake0video) + (find-2022findeevanggvideo, find-2022findelispintrovideo) + (find-2022pict2eluavideo, find-2022eevwconfigpt1video) + (find-2022eevwconfigpt2video): use `find-1stclassvideo-video'. + + * eev-tlinks.el (ee-psne-1stclassvideo-play) + (find-1stclassvideo-video): new functions. + (ee-find-1stclassvideo-defun): new function. + (ee-find-1stclassvideo-links): use `ee-find-1stclassvideo-defun'. + + * eev-code.el: added `(code-c-d "eevvideos" ...). + 2022-05-11 Eduardo Ochs <eduardoo...@gmail.com> * eev-intro.el (find-video-links-intro): rewrote the section "5.1. diff --git a/VERSION b/VERSION index f656a5b8eb..93b8cd4a69 100644 --- a/VERSION +++ b/VERSION @@ -1,2 +1,2 @@ -Wed May 11 05:05:32 GMT 2022 -Wed May 11 02:05:32 -03 2022 +Thu May 12 07:56:36 GMT 2022 +Thu May 12 04:56:36 -03 2022 diff --git a/eev-code.el b/eev-code.el index af7791b207..add61fefc2 100644 --- a/eev-code.el +++ b/eev-code.el @@ -19,7 +19,7 @@ ;; ;; Author: Eduardo Ochs <eduardoo...@gmail.com> ;; Maintainer: Eduardo Ochs <eduardoo...@gmail.com> -;; Version: 20220412 +;; Version: 20220512 ;; Keywords: e-scripts ;; ;; Latest version: <http://angg.twu.net/eev-current/eev-code.el> @@ -358,7 +358,9 @@ Note: the POS-SPEC-LIST arguments are currently not used." (code-c-d "equail" (ee-eleimfile "quail/") :gz) (code-c-d "eetc" data-directory :gz) -(code-c-d "eev" ee-eev-source-directory :anchor) ; (find-eev "") +(code-c-d "eev" ee-eev-source-directory :anchor) ; (find-eev "") +(code-c-d "eevvideos" "$S/http/angg.twu.net/eev-videos/") ; (find-eevvideos "") + ;; (find-efile "") ;; (find-equailfile "") diff --git a/eev-intro.el b/eev-intro.el index 36772afcef..f3213a5f0f 100644 --- a/eev-intro.el +++ b/eev-intro.el @@ -11518,6 +11518,9 @@ The local copy will be played with Mpv, with: 5.1. Subtitles -------------- +[NOTE: The support for subtitles was added +in may/2022, and it's a work in progress] + Some video have subtitles. The low-level way to download a video and its subtitles is with sexps like these ones - try them: @@ -11545,17 +11548,37 @@ download the newer version, and replace the local copy with the newer version. The argument \".srt .vtt\" is a list of the extensions of the subtitles. -The higher-level ways to play first-class videos (see section 9) -call `find-psne-eevvideo-links' when they try to play a local -copy of the video and they see that it hasn't been downloaded -yet. This involves looking up information about the video in -`ee-1stclassvideos-info'. Try: +The high-level way to play a first-class video (see section 9) +is with sexps like this one: + + (find-eev2021video) + +The sexp above calls: + + (find-1stclassvideo-video \"eev2021\") + +and that sexp uses the information in `ee-1stclassvideos-info' - +i.e., from here: + + (find-eev \"eev-videolinks.el\" \"ee-1stclassvideos-info\") + (find-1stclassvideodef \"eev2021\") + +to convert the \"eev2021\" to the name of an .mp4 file. When the +local copy of the video is not found the +sexp `(find-1stclassvideo-video ...)' above calls this, + + (find-psne-1stclassvideo-links \"eev2021\") + +that is similar to `find-psne-eevvideo-links'. Compare: + + (find-psne-1stclassvideo-links \"eev2021\") + (find-psne-eevvideo-links \"emacsconf2021\" \".vtt\") - (find-eev \"eev-videolinks.el\" \"eev2021\") - (find-eev \"eev-videolinks.el\" \"eevnav\") +The conversion from \"eev2021\" to \"emacsconf2021\" and \".vtt\" +is done by: -You will see that a few of the videos have a \":subs\" field -indicating that they have subtitles, but most videos don't. + (ee-1stclassvideos-mp4stem \"eev2021\") + (ee-1stclassvideos-field \"eev2021\" :subs) The support for subtitles is recent, and is still a bit primitive. The temporary buffer generated by @@ -11568,19 +11591,11 @@ video has subtitles - compare: The video \"2022pict2elua\" has subtitles, and \"2021workshop6\" doesn't. -(TODO: rewrite the rest of this section) - -When both the .mp4 and .vtt files are present mpv plays the local copy -with subtitles. Try: - - (find-video \"$S/http/angg.twu.net/eev-videos/2022-pict2e-lua.mp4\") - (find-fline \"$S/http/angg.twu.net/eev-videos/\" \"2022-pict2e-lua\") - (find-2022pict2eluavideo \"7:12\") - The process of downloading or updating subtitles is not well -integrated in the rest of eev yet, and at this moment the \"right\" way -to download subtitles is with `find-1stclassvideo-links' and with the -link in its \"Download subtitles\" section. +integrated in the rest of eev yet, and at this moment the +\"right\" way to download or update subtitles is with +`find-1stclassvideo-links' and with the link in its \"Download +subtitles\" section. diff --git a/eev-tlinks.el b/eev-tlinks.el index 12fed27d50..649742b595 100644 --- a/eev-tlinks.el +++ b/eev-tlinks.el @@ -19,7 +19,7 @@ ;; ;; Author: Eduardo Ochs <eduardoo...@gmail.com> ;; Maintainer: Eduardo Ochs <eduardoo...@gmail.com> -;; Version: 20220511 +;; Version: 20220512 ;; Keywords: e-scripts ;; ;; Latest version: <http://angg.twu.net/eev-current/eev-tlinks.el> @@ -87,6 +87,7 @@ ;; «.ee-find-psne-echo-options» (to "ee-find-psne-echo-options") ;; «.find-psne-eevvideo-links» (to "find-psne-eevvideo-links") ;; «.find-psne-1stclassvideo-links» (to "find-psne-1stclassvideo-links") +;; «.find-1stclassvideo-video» (to "find-1stclassvideo-video") ;; ;; «.find-git-links» (to "find-git-links") ;; «.find-fossil-links» (to "find-fossil-links") @@ -1278,6 +1279,7 @@ echo {e} '{url}' >> ~/.psne.log + ;;; _ _ ;;; _ __ ___ _ __ ___ ___ _____ ____ _(_) __| | ___ ___ ;;; | '_ \/ __| '_ \ / _ \_____ / _ \/ _ \ \ / /\ \ / / |/ _` |/ _ \/ _ \ @@ -1286,41 +1288,44 @@ echo {e} '{url}' >> ~/.psne.log ;;; |_| ;; ;; «find-psne-eevvideo-links» (to ".find-psne-eevvideo-links") -;; Skel: (find-find-links-links-new "psne-eevvideo" "stem exts" "") -;; Test: (find-psne-eevvideo-links "NAMEOFTHEVIDEO" ".srt .vtt") +;; Skel: (find-find-links-links-new "psne-eevvideo" "stem exts time" "") +;; Tests: (find-psne-eevvideo-links "NAMEOFTHEVIDEO" ".srt .vtt") +;; (find-psne-eevvideo-links "NAMEOFTHEVIDEO" ".srt") +;; (find-psne-eevvideo-links "NAMEOFTHEVIDEO" "") +;; (find-psne-eevvideo-links "NAMEOFTHEVIDEO" "" "1:23") ;; See: (find-video-links-intro "5.1. Subtitles") ;; -;; NOTE: `find-psne-eevvideo-links', `ee-psne-eevvideo-core', and -;; `find-psne-1stclassvideo-links' were written in 2022may11 and -;; will probably replace some of the older functions for -;; downloading videos from http://angg.twu.net/ soon - the older -;; functions didn't have support for subtitles, and these -;; functions do. +;; NOTE: `find-psne-eevvideo-links', `ee-psne-eevvideo-core', +;; `find-psne-1stclassvideo-links', +;; `ee-psne-1stclassvideo-play', and `find-1stclassvideo-video' +;; were written in 2022may11 and will probably replace several +;; older functions soon... these new functions have support for +;; subtitles, and the older ones didn't. ;; -(defun find-psne-eevvideo-links (&optional stem exts &rest pos-spec-list) +(defun find-psne-eevvideo-links (&optional stem exts time &rest pos-spec-list) "Visit a temporary buffer containing a script for downloading a video." (interactive) (setq stem (or stem "{stem}")) (setq exts (or exts "{exts}")) + (setq time (or time "0:00")) (apply 'find-elinks - `((find-psne-eevvideo-links ,stem ,exts ,@pos-spec-list) + `((find-psne-eevvideo-links ,stem ,exts ,time ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-psne-eevvideo-links) "" - ,(ee-psne-eevvideo-core stem exts) - ,(ee-template0 "\ -") + ,(ee-psne-eevvideo-core stem exts time) ) pos-spec-list)) ;; Tests: -;; (find-estring (ee-psne-eevvideo-core "NAMEOFTHEVIDEO" ".vtt .srt")) -;; (find-estring (ee-psne-eevvideo-core "NAMEOFTHEVIDEO" "")) +;; (find-estring (ee-psne-eevvideo-core "NAME" ".vtt .srt" "0:00")) +;; (find-estring (ee-psne-eevvideo-core "NAME" ".vtt" "0:00")) +;; (find-estring (ee-psne-eevvideo-core "NAME" "" "0:00")) ;; (defun ee-find-psne-echo-options () "-N") ;; (defun ee-find-psne-echo-options () "") ;; -(defun ee-psne-eevvideo-core (stem exts) +(defun ee-psne-eevvideo-core (stem exts time) "An internal function used by `find-psne-eevvideo-links'." (let* ((dir "$S/http/angg.twu.net/eev-videos/") (url- (concat "http://angg.twu.net/eev-videos/" stem)) @@ -1347,29 +1352,72 @@ wget -nc {url-}.mp4 # (find-fline \"{dir}\" \"{stem}.mp4\") # (find-video \"{dir}{stem}.mp4\") +# (find-video \"{dir}{stem}.mp4\" \"{time}\") "))) + +;;; _ _ _ +;;; _ __ ___ _ __ ___ / |___| |_ ___| | __ _ ___ ___ +;;; | '_ \/ __| '_ \ / _ \_____| / __| __/ __| |/ _` / __/ __| +;;; | |_) \__ \ | | | __/_____| \__ \ || (__| | (_| \__ \__ \ +;;; | .__/|___/_| |_|\___| |_|___/\__\___|_|\__,_|___/___/ +;;; |_| +;; ;; «find-psne-1stclassvideo-links» (to ".find-psne-1stclassvideo-links") -;; Skel: (find-find-links-links-new "psne-1stclassvideo" "c" "stem subexts") +;; Skel: (find-find-links-links-new "psne-1stclassvideo" "c time" "stem subexts") ;; Test: (find-psne-1stclassvideo-links "eev2021") ;; (find-psne-1stclassvideo-links "2021workshop6") ;; -(defun find-psne-1stclassvideo-links (&optional c &rest pos-spec-list) -"Visit a temporary buffer containing hyperlinks for psne-1stclassvideo." +(defun find-psne-1stclassvideo-links (&optional c time &rest pos-spec-list) +"Visit a temporary buffer with a script for downloading the video C." (interactive) (setq c (or c "{c}")) + (setq time (or time "0:00")) (let* ((stem (ee-1stclassvideos-mp4stem c)) (subexts (or (ee-1stclassvideos-field c :subs) ""))) (apply 'find-elinks - `((find-psne-1stclassvideo-links ,c ,@pos-spec-list) + `((find-psne-1stclassvideo-links ,c ,time ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-psne-1stclassvideo-links) "" - ,(ee-psne-eevvideo-core stem subexts) + ,(ee-psne-eevvideo-core stem subexts time) + ,(ee-psne-1stclassvideo-play c time) ) pos-spec-list))) +;; Test: +;; (find-estring (ee-psne-1stclassvideo-play "eev2021" "1:23")) +;; +(defun ee-psne-1stclassvideo-play (c time) + "An internal function used by `find-psne-1sclassvideo-links'." + (let* ((localmp4 (ee-1stclassvideos-localmp4 c)) + (yt (ee-1stclassvideos-field c :yt)) + (timearg (ee-time-to-arg time)) + (yttime (ee-time-to-youtube-time time)) + ) + (ee-template0 "\ +# (find-1stclassvideo-video \"{c}\" \"{time}\") +# (find-{c}video \"{time}\") + +# {yt}{yttime} +"))) + + +;; «find-1stclassvideo-video» (to ".find-1stclassvideo-video") +;; Tests: (find-1stclassvideo-video "eev2021") +;; (find-eevvideossh0 "mv -v emacsconf2021.mp4 /tmp/") +;; (find-eevvideossh0 "mv -v /tmp/emacsconf2021.mp4 .") +;; +(defun find-1stclassvideo-video (c &optional time &rest rest) + "Play the first-class video C starting at TIME. +If a local copy of C is not found, run `find-psne-1stclassvideo-links'." + (setq time (or time "0:00")) + (if (ee-1stclassvideos-mp4found c) + (find-video (ee-1stclassvideos-localmp4 c) time) + (find-psne-1stclassvideo-links c time))) + + @@ -3097,6 +3145,9 @@ This function is used by `ee-0x0-upload-region'." ) pos-spec-list))) +;; Test: +;; (find-estring-elisp (ee-find-1stclassvideo-links "eev2021")) +;; (defun ee-find-1stclassvideo-links (c) "An internal function used by `find-1stclassvideo-links'." (let* ((title (ee-1stclassvideos-field c :title)) @@ -3109,7 +3160,8 @@ This function is used by `ee-0x0-upload-region'." (lang (ee-1stclassvideos-field c :lang)) (mp4stem (ee-1stclassvideos-mp4stem c)) (hash (ee-1stclassvideos-hash c)) - (dlsubs (ee-1stclassvideos-dlsubs c))) + (dlsubs (ee-1stclassvideos-dlsubs c)) + (defun (ee-find-1stclassvideo-defun c mp4stem hash))) (ee-template0 "\ ;; Title: {title} ;; MP4: {mp4} @@ -3146,6 +3198,13 @@ This function is used by `ee-0x0-upload-region'." ;; (find-eev \"eev-videolinks.el\" \"find-{c}video\") ;; (find-efunction 'find-{c}video) +{defun}"))) + +;; Test: +;; (find-estring-elisp (ee-find-1stclassvideo-defun "C" "M" "H")) +;; +(defun ee-find-1stclassvideo-defun (c mp4stem hash) + (ee-template0 "\ ;; <find-{c}video> ;; Info: (find-1stclassvideo-links \"{c}\") ;; Play: (find-{c}video \"0:00\") @@ -3155,7 +3214,7 @@ For more info on this particular video, run: (find-1stclassvideo-links \\\"{c}\\\")\" (interactive) (find-eev-video \"{mp4stem}\" \"{hash}\" time)) -"))) +")) ;; Tests: (ee-1stclassvideos-dlsubs "2022pict2elua") ;; (find-1stclassvideo-links "2022pict2elua") @@ -3166,7 +3225,11 @@ For more info on this particular video, run: "An internal function used by `find-1stclassvideo-links'." (let ((exts (ee-1stclassvideos-field c :subs))) (if (eq exts nil) - "" + "\ +;; +;; This video doesn't have subtitles. See: +;; (find-video-links-intro \"5.1. Subtitles\") +" (let ((mp4stem (ee-1stclassvideos-mp4stem c))) (ee-template0 "\ ;; diff --git a/eev-videolinks.el b/eev-videolinks.el index bd85413a23..260224f82b 100644 --- a/eev-videolinks.el +++ b/eev-videolinks.el @@ -19,7 +19,7 @@ ;; ;; Author: Eduardo Ochs <eduardoo...@gmail.com> ;; Maintainer: Eduardo Ochs <eduardoo...@gmail.com> -;; Version: 20220511 +;; Version: 20220512 ;; Keywords: e-scripts ;; ;; Latest version: <http://angg.twu.net/eev-current/eev-videolinks.el> @@ -42,7 +42,7 @@ ;; «.find-eev2019video» (to "find-eev2019video") ;; «.find-eev2020video» (to "find-eev2020video") ;; «.find-eev2021video» (to "find-eev2021video") -;; «.find-eev2021bvideo» (to "find-eev2021bvideo") +;; «.find-eev2021bvideo» (to "find-eev2021bvideo") ;; «.find-eevnavvideo» (to "find-eevnavvideo") ;; «.find-eevtemplvideo» (to "find-eevtemplvideo") ;; «.find-eevfherelvideo» (to "find-eevfherelvideo") @@ -332,7 +332,7 @@ of the videos and play them with mpv. Compare with For more info on this particular video, run: (find-1stclassvideo-links \"eev2019\")" (interactive) - (find-eev-video "emacsconf2019" "86yiRG8YJD0" time)) + (find-1stclassvideo-video "eev2019" time)) ;; «find-eev2020video» (to ".find-eev2020video") ;; Info: (find-1stclassvideo-links "eev2020") @@ -342,7 +342,7 @@ For more info on this particular video, run: For more info on this particular video, run: (find-1stclassvideo-links \"eev2020\")" (interactive) - (find-eev-video "emacsconf2020" "hOAqBc42Gg8" time)) + (find-1stclassvideo-video "eev2020" time)) ;; «find-eev2021video» (to ".find-eev2021video") ;; Info: (find-1stclassvideo-links "eev2021") @@ -352,7 +352,7 @@ For more info on this particular video, run: For more info on this particular video, run: (find-1stclassvideo-links \"eev2021\")" (interactive) - (find-eev-video "emacsconf2021" "qM0Luz78qGw" time)) + (find-1stclassvideo-video "eev2021" time)) ;; «find-eev2021bvideo» (to ".find-eev2021bvideo") ;; Info: (find-1stclassvideo-links "eev2021b") @@ -362,7 +362,7 @@ For more info on this particular video, run: For more info on this particular video, run: (find-1stclassvideo-links \"eev2021b\")" (interactive) - (find-eev-video "emacsconf2021-dednat6" "QUMo7vgkHJI" time)) + (find-1stclassvideo-video "eev2021b" time)) ;; «find-eevnavvideo» (to ".find-eevnavvideo") ;; Info: (find-1stclassvideo-links "eevnav") @@ -372,7 +372,7 @@ For more info on this particular video, run: For more info on this particular video, run: (find-1stclassvideo-links \"eevnav\")" (interactive) - (find-eev-video "2020-list-packages-eev-nav" "kxBjiUo88_U" time)) + (find-1stclassvideo-video "eevnav" time)) ;; «find-eevtemplvideo» (to ".find-eevtemplvideo") ;; Info: (find-1stclassvideo-links "eevtempl") @@ -382,7 +382,7 @@ For more info on this particular video, run: For more info on this particular video, run: (find-1stclassvideo-links \"eevtempl\")" (interactive) - (find-eev-video "2020-some-template-based" "91-9YfRPsuk" time)) + (find-1stclassvideo-video "eevtempl" time)) ;; «find-eevfherelvideo» (to ".find-eevfherelvideo") ;; Info: (find-1stclassvideo-links "eevfherel") @@ -392,7 +392,7 @@ For more info on this particular video, run: For more info on this particular video, run: (find-1stclassvideo-links \"eevfherel\")" (interactive) - (find-eev-video "2020-find-here-links" "8jtiBlaDor4" time)) + (find-1stclassvideo-video "eevfherel" time)) ;; «find-eevtestblsvideo» (to ".find-eevtestblsvideo") ;; Info: (find-1stclassvideo-links "eevtestbls") @@ -402,7 +402,7 @@ For more info on this particular video, run: For more info on this particular video, run: (find-1stclassvideo-links \"eevtestbls\")" (interactive) - (find-eev-video "2021-test-blocks" "fpsF_M55W4o" time)) + (find-1stclassvideo-video "eevtestbls" time)) ;; «find-eevvlinksvideo» (to ".find-eevvlinksvideo") ;; Info: (find-1stclassvideo-links "eevvlinks") @@ -412,7 +412,7 @@ For more info on this particular video, run: For more info on this particular video, run: (find-1stclassvideo-links \"eevvlinks\")" (interactive) - (find-eev-video "2021-video-links" "xQqWufQgzVY" time)) + (find-1stclassvideo-video "eevvlinks" time)) ;; «find-oficina20210video» (to ".find-oficina20210video") ;; Info: (find-1stclassvideo-links "oficina20210") @@ -422,7 +422,7 @@ For more info on this particular video, run: For more info on this particular video, run: (find-1stclassvideo-links \"oficina20210\")" (interactive) - (find-eev-video "2021projeto-de-ensino" "OW6WRnSQwc0" time)) + (find-1stclassvideo-video "oficina20210" time)) ;; «find-oficina2021avideo» (to ".find-oficina2021avideo") ;; Info: (find-1stclassvideo-links "oficina2021a") @@ -432,7 +432,7 @@ For more info on this particular video, run: For more info on this particular video, run: (find-1stclassvideo-links \"oficina2021a\")" (interactive) - (find-eev-video "2021-oficina-1" "acFPMuZ5Jf4" time)) + (find-1stclassvideo-video "oficina2021a" time)) ;; «find-oficina2021bvideo» (to ".find-oficina2021bvideo") ;; Info: (find-1stclassvideo-links "oficina2021b") @@ -442,7 +442,7 @@ For more info on this particular video, run: For more info on this particular video, run: (find-1stclassvideo-links \"oficina2021b\")" (interactive) - (find-eev-video "2021-oficina-2" "XbuDnkfizYs" time)) + (find-1stclassvideo-video "oficina2021b" time)) ;; «find-2021ssrvideo» (to ".find-2021ssrvideo") ;; Info: (find-1stclassvideo-links "2021ssr") @@ -452,7 +452,7 @@ For more info on this particular video, run: For more info on this particular video, run: (find-1stclassvideo-links \"2021ssr\")" (interactive) - (find-eev-video "2021-ssr" "_0_NLXTVhBk" time)) + (find-1stclassvideo-video "2021ssr" time)) ;; «find-2021workshop1video» (to ".find-2021workshop1video") ;; Info: (find-1stclassvideo-links "2021workshop1") @@ -462,7 +462,7 @@ For more info on this particular video, run: For more info on this particular video, run: (find-1stclassvideo-links \"2021workshop1\")" (interactive) - (find-eev-video "2021-workshop-1" "HuqJFPD871E" time)) + (find-1stclassvideo-video "2021workshop1" time)) ;; «find-2021workshop2video» (to ".find-2021workshop2video") ;; Info: (find-1stclassvideo-links "2021workshop2") @@ -472,7 +472,7 @@ For more info on this particular video, run: For more info on this particular video, run: (find-1stclassvideo-links \"2021workshop2\")" (interactive) - (find-eev-video "2021-workshop-2" "hqqIlZBXNhk" time)) + (find-1stclassvideo-video "2021workshop2" time)) ;; «find-2021workshop3video» (to ".find-2021workshop3video") ;; Info: (find-1stclassvideo-links "2021workshop3") @@ -482,7 +482,7 @@ For more info on this particular video, run: For more info on this particular video, run: (find-1stclassvideo-links \"2021workshop3\")" (interactive) - (find-eev-video "2021-workshop-3" "r83inf9s8zo" time)) + (find-1stclassvideo-video "2021workshop3" time)) ;; «find-2021workshop4video» (to ".find-2021workshop4video") ;; Info: (find-1stclassvideo-links "2021workshop4") @@ -492,7 +492,7 @@ For more info on this particular video, run: For more info on this particular video, run: (find-1stclassvideo-links \"2021workshop4\")" (interactive) - (find-eev-video "2021-workshop-4" "lhpHHjBUxv8" time)) + (find-1stclassvideo-video "2021workshop4" time)) ;; «find-2021workshop5video» (to ".find-2021workshop5video") ;; Info: (find-1stclassvideo-links "2021workshop5") @@ -502,7 +502,7 @@ For more info on this particular video, run: For more info on this particular video, run: (find-1stclassvideo-links \"2021workshop5\")" (interactive) - (find-eev-video "2021-workshop-5" "VzRsterVSXs" time)) + (find-1stclassvideo-video "2021workshop5" time)) ;; «find-2021workshop6video» (to ".find-2021workshop6video") ;; Info: (find-1stclassvideo-links "2021workshop6") @@ -512,7 +512,7 @@ For more info on this particular video, run: For more info on this particular video, run: (find-1stclassvideo-links \"2021workshop6\")" (interactive) - (find-eev-video "2021-workshop-6" "-gi15-liGaU" time)) + (find-1stclassvideo-video "2021workshop6" time)) ;; «find-2021orgfornonusersvideo» (to ".find-2021orgfornonusersvideo") ;; Info: (find-1stclassvideo-links "2021orgfornonusers") @@ -522,7 +522,7 @@ For more info on this particular video, run: For more info on this particular video, run: (find-1stclassvideo-links \"2021orgfornonusers\")" (interactive) - (find-eev-video "2021-org-for-non-users" "Eh5Wz9Vh_XM" time)) + (find-1stclassvideo-video "2021orgfornonusers" time)) ;; «find-2021ffllvideo» (to ".find-2021ffllvideo") ;; Info: (find-1stclassvideo-links "2021ffll") @@ -532,7 +532,7 @@ For more info on this particular video, run: For more info on this particular video, run: (find-1stclassvideo-links \"2021ffll\")" (interactive) - (find-eev-video "2021-ffll" "h1CEL2fmkyc" time)) + (find-1stclassvideo-video "2021ffll" time)) ;; «find-2022eevmake0video» (to ".find-2022eevmake0video") ;; Info: (find-1stclassvideo-links "2022eevmake0") @@ -542,7 +542,7 @@ For more info on this particular video, run: For more info on this particular video, run: (find-1stclassvideo-links \"2022eevmake0\")" (interactive) - (find-eev-video "2022-eev-make-0" "Iql5C-yQk5c" time)) + (find-1stclassvideo-video "2022eevmake0" time)) ;; «find-2022findeevanggvideo» (to ".find-2022findeevanggvideo") ;; Info: (find-1stclassvideo-links "2022findeevangg") @@ -552,7 +552,7 @@ For more info on this particular video, run: For more info on this particular video, run: (find-1stclassvideo-links \"2022findeevangg\")" (interactive) - (find-eev-video "2022-find-eev-angg" "FoAzpGzFCSE" time)) + (find-1stclassvideo-video "2022findeevangg" time)) ;; «find-2022findelispintrovideo» (to ".find-2022findelispintrovideo") ;; Info: (find-1stclassvideo-links "2022findelispintro") @@ -562,7 +562,7 @@ For more info on this particular video, run: For more info on this particular video, run: (find-1stclassvideo-links \"2022findelispintro\")" (interactive) - (find-eev-video "2022-find-elisp-intro" "WowDSciGs1A" time)) + (find-1stclassvideo-video "2022findelispintro" time)) ;; «find-2022pict2eluavideo» (to ".find-2022pict2eluavideo") ;; Info: (find-1stclassvideo-links "2022pict2elua") @@ -572,7 +572,7 @@ For more info on this particular video, run: For more info on this particular video, run: (find-1stclassvideo-links \"2022pict2elua\")" (interactive) - (find-eev-video "2022-pict2e-lua" "hiHsUhGVLGM" time)) + (find-1stclassvideo-video "2022pict2elua" time)) ;; «find-2022eevwconfigpt1video» (to ".find-2022eevwconfigpt1video") ;; Info: (find-1stclassvideo-links "2022eevwconfigpt1") @@ -582,7 +582,7 @@ For more info on this particular video, run: For more info on this particular video, run: (find-1stclassvideo-links \"2022eevwconfigpt1\")" (interactive) - (find-eev-video "2022-eev-wconfig-pt-1" "bdLbocmo3r8" time)) + (find-1stclassvideo-video "2022eevwconfigpt1" time)) ;; «find-2022eevwconfigpt2video» (to ".find-2022eevwconfigpt2video") ;; Info: (find-1stclassvideo-links "2022eevwconfigpt2") @@ -592,8 +592,7 @@ For more info on this particular video, run: For more info on this particular video, run: (find-1stclassvideo-links \"2022eevwconfigpt2\")" (interactive) - (find-eev-video "2022-eev-wconfig-pt-2" "ZAAxrJX-Am8" time)) - + (find-1stclassvideo-video "2022eevwconfigpt2" time)) @@ -615,6 +614,15 @@ For more info on this particular video, run: ;; ;; (find-1stclassvideo-links "eev2021") ;; +;; Each entry in `ee-1stclassvideos-info' is of the form (c plist). +;; The term `c' is a reference to this: +;; +;; (find-eev-quick-intro "9.1. `code-c-d'" "{c}") +;; (find-eev-quick-intro "9.1. `code-c-d'" "{c}" "code") +;; +;; For example, the entry ("eev2019" ...) contains info about the +;; video that can be played with `(find-eev2019video)'. +;; (defvar ee-1stclassvideos-info '(;; ;; «eev2019» (to ".eev2019")