Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
;; This file: ;; http://anggtwu.net/elisp/find-subs-links.el.html ;; http://anggtwu.net/elisp/find-subs-links.el ;; (find-angg "elisp/find-subs-links.el") ;; Author: Eduardo Ochs <eduardoochs@gmail.com> ;; ;; (defun e () (interactive) (find-angg "elisp/find-subs-links.el")) ;; (load (buffer-file-name)) ;; ;; See: (find-angg ".emacs.templates" "find-subs-links") ;; «.find-subs-links» (to "find-subs-links") ;; «.find-subs-lua-links» (to "find-subs-lua-links") ;; «.find-subs-blogme3-links» (to "find-subs-blogme3-links") ;; «.find-subs-1stclassvideo-links» (to "find-subs-1stclassvideo-links") ;; «.ee-subs-1stclassvideo-links» (to "ee-subs-1stclassvideo-links") ;; «.ee-subs-eevvideolinks-links» (to "ee-subs-eevvideolinks-links") ;; «.ee-subs-57-links» (to "ee-subs-57-links") ;; «.ee-subs-lua-header-links» (to "ee-subs-lua-header-links") ;; «.ee-subs-lua-code-links» (to "ee-subs-lua-code-links") ;; «.ee-subs-blogme3-links» (to "ee-subs-blogme3-links") (defvar ee-subs-c "{ee-subs-c}") (defvar ee-subs-mp4stem "{ee-subs-mp4stem}") (defvar ee-subs-pagestem "{ee-subs-pagestem}") (defvar ee-subs-hash "{ee-subs-hash}") (defvar ee-subs-length "{ee-subs-length}") ;; «find-subs-links» (to ".find-subs-links") ;; Skel: (find-find-links-links-new "subs" "c" "") ;; Test: (find-subs-links) ;; (find-subs-links "eev2021") ;; (find-subs-links "eev20219") ;; (defun find-subs-links (&optional c &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for subs." (interactive) (setq c (or c "{c}")) (let ((ee-buffer-name (or ee-buffer-name "*find-subs-links*"))) (apply 'find-elinks-elisp `((find-subs-links ,c ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-subs-links) (find-efunction 'ee-subs-setqs-links) (find-efunction 'ee-subs-setqs-1stclass-links) (find-2a nil '(1c)) "" (find-subs-57-links) (find-subs-lua-links) (find-subs-blogme3-links) (find-subs-1stclassvideo-links) (find-subs-eevvideolinks-links) "" (find-ssr-links ,ee-subs-c ,ee-subs-mp4stem ,ee-subs-hash ,ee-subs-length) "" ,(ee-subs-setqs-links c) "" ,(if (assoc c ee-1stclassvideos-info) (ee-subs-setqs-1stclass-links c) (ee-template0 ";; Not first class: \"{c}\"")) ) pos-spec-list))) ;; «find-subs-lua-links» (to ".find-subs-lua-links") ;; Skel: (find-find-links-links-new "subs-lua" "" "") ;; Test: (find-subs-lua-links) ;; (defun find-subs-lua-links (&rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for subs-lua." (interactive) (let ((ee-buffer-name (or ee-buffer-name "*find-subs-lua-links*"))) (apply 'find-elinks `((find-subs-lua-links ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-subs-lua-links) (find-efunction 'ee-subs-lua-header-links) (find-efunction 'ee-subs-lua-code-links) (find-subs-lua-links ,ee-subs-c) "" (kill-new ,(ee-template0 " SUBTITLES/{ee-subs-mp4stem}.lua")) (find-blogme3 "anggmake.lua" "anggtranslate" "SUBTITLES/") "" (ee-copy-rest 2 '(find-angg ,(format "SUBTITLES/%s.lua" ee-subs-mp4stem))) (ee-copy-rest 1 '(find-angg ,(format "SUBTITLES/%s.lua" ee-subs-c))) "" ,(ee-subs-lua-header-links) ,(ee-subs-lua-code-links) ) pos-spec-list))) ;; «find-subs-blogme3-links» (to ".find-subs-blogme3-links") ;; Skel: (find-find-links-links-new "subs-blogme3" "" "") ;; Test: (find-subs-blogme3-links) ;; (defun find-subs-blogme3-links (&rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for subs-blogme3." (interactive) (let ((ee-buffer-name (or ee-buffer-name "*find-subs-blogme3-links*"))) (apply 'find-elinks `((find-subs-blogme3-links ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-subs-blogme3-links) (find-efunction 'ee-subs-blogme3-links) "" (kill-new ,ee-subs-mp4stem) (find-blogme3 "anggmake.lua" "blogmestems" "2023-caepro0") (find-TH ,ee-subs-mp4stem) (ee-copy-rest 1 '(find-TH ,ee-subs-mp4stem)) "" ,(ee-subs-blogme3-links) ) pos-spec-list))) ;; <find-subs-57-links> ;; Skel: (find-find-links-links-new "subs-57" "" "") ;; Test: (find-subs-57-links) ;; (defun find-subs-57-links (&rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for subs-57." (interactive) (apply 'find-elinks `((find-subs-57-links ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-subs-57-links) (find-efunction 'ee-subs-57-links) "" ,(ee-subs-57-links) ) pos-spec-list)) ;; «find-subs-1stclassvideo-links» (to ".find-subs-1stclassvideo-links") ;; Skel: (find-find-links-links-new "subs-1stclassvideo" "" "") ;; Test: (find-subs-1stclassvideo-links) ;; (defun find-subs-1stclassvideo-links (&rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for subs-1stclassvideo." (interactive) (let ((ee-buffer-name (or ee-buffer-name "*find-subs-1stclassvideo-links*"))) (apply 'find-elinks `((find-subs-1stclassvideo-links ,@pos-spec-list) ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-subs-1stclassvideo-links) (find-efunction 'ee-subs-1stclassvideo-links) "" ,(ee-subs-1stclassvideo-links) ) pos-spec-list))) (defun ee-subs-setqs-links (c) (ee-template0 "\ ;; Current values: (setq ee-subs-c \"{ee-subs-c}\") (setq ee-subs-mp4stem \"{ee-subs-mp4stem}\") (setq ee-subs-pagestem \"{ee-subs-pagestem}\") (setq ee-subs-hash \"{ee-subs-hash}\") (setq ee-subs-length \"{ee-subs-length}\") ;; Reset: (setq ee-subs-c \"{<}ee-subs-c{>}\") (setq ee-subs-mp4stem \"{<}ee-subs-mp4stem{>}\") (setq ee-subs-pagestem \"{<}ee-subs-pagestem{>}\") (setq ee-subs-hash \"{<}ee-subs-hash{>}\") (setq ee-subs-length \"{<}ee-subs-length{>}\") ")) (defun ee-subs-setqs-1stclass-links (c) (ee-template0 "\ ;; From the `c': (setq ee-subs-c \"{c}\") (setq ee-subs-mp4stem \"{(ee-1stclassvideos-mp4stem c)}\") (setq ee-subs-pagestem \"{(ee-1stclassvideos-pagestem c)}\") (setq ee-subs-hash \"{(ee-1stclassvideos-hash c)}\") (setq ee-subs-length \"{(ee-1stclassvideos-field c :length)}\") ")) ;; «ee-subs-1stclassvideo-links» (to ".ee-subs-1stclassvideo-links") ;; Test: (find-estring (ee-subs-1stclassvideo-links)) (defun ee-subs-1stclassvideo-links () (ee-template0 "\ code_eevshortvideo(\"{ee-subs-c}\", \"{ee-subs-mp4stem}\", \"{ee-subs-hash}\") # ^ copy to: (find-blogme3 \"sandwiches-defs.lua\" \"code_eevshortvideos\") [\"{ee-subs-c}\"] = \"{ee-subs-hash}\", # ^ copy to: (find-blogme3 \"videoindex.lua\") ")) ;; «ee-subs-eevvideolinks-links» (to ".ee-subs-eevvideolinks-links") ;; Test: (find-estring (ee-subs-eevvideolinks-links)) (defun ee-subs-eevvideolinks-links () (ee-template0 "\ ;; Info: (find-1stclassvideo-links \"{ee-subs-c}\") ;; (find-eev \"eev-videolinks.el\" \"{ee-subs-c}\") ;; (find-eev \"eev-videolinks.el\" \"eev2021\") ;; (ee-1stclassvideos-add ' ;; ;; <{ee-subs-c}> ;; Play: (find-{ee-subs-c}video \"0:00\") ;; Index: (find-1stclassvideoindex \"{ee-subs-c}\") (\"{ee-subs-c}\" :title \"TITLE\" :mp4 \"http://anggtwu.net/eev-videos/{ee-subs-mp4stem}.mp4\" :yt \"http://www.youtube.com/watch?v={ee-subs-hash}\" :page \"http://anggtwu.net/{ee-subs-pagestem}.html\" :lang \"portuguese\" :date \"DATE\" :length \"{ee-subs-length}\" :subs \".vtt\" :comment \"COMMENT\") ) # ^ copy to: (find-eev \"eev-videolinks.el\" \"{ee-subs-c}\") # (find-eev \"eev-videolinks.el\" \"eev2021\") ")) ;; «ee-subs-57-links» (to ".ee-subs-57-links") ;; Test: (find-estring (ee-subs-57-links)) (defun ee-subs-57-links () (ee-template0 "\ ;; <{ee-subs-c}> ;; 19/mar/2023 ;; (find-ssr-links \"{ee-subs-c}\" \"{ee-subs-mp4stem}\" \"{ee-subs-hash}\") ' (code-eevvideo \"{ee-subs-c}\" \"{ee-subs-mp4stem}\" \"{ee-subs-hash}\") ;; (code-eevlinksvideo \"{ee-subs-c}\" \"{ee-subs-mp4stem}\" \"{ee-subs-hash}\") ;; (find-subs-links \"{ee-subs-c}\") ;; (find-angg \"SUBTITLES/{ee-subs-mp4stem}.lua\" \"legendas\") ;; (find-SUBSfile \"{ee-subs-mp4stem}.lua\" \"legendas\") ;; (find-TH \"{ee-subs-mp4stem}\") ;; (find-TH \"{ee-subs-pagestem}\") ;; (find-1stclassvideolsubs \"{ee-subs-c}\") ;; (find-{ee-subs-c}video \"0:00\") # ^ copy to: (find-angg \".emacs.videos\" \"{ee-subs-c}\") ")) ;; «ee-subs-lua-header-links» (to ".ee-subs-lua-header-links") ;; Test: (find-estring (ee-subs-lua-header-links)) (defun ee-subs-lua-header-links () (ee-template0 "\ -- This file: -- http://anggtwu.net/SUBTITLES/{ee-subs-mp4stem}.lua.html -- http://anggtwu.net/SUBTITLES/{ee-subs-mp4stem}.lua -- (find-angg \"SUBTITLES/{ee-subs-mp4stem}.lua\") -- Author: Eduardo Ochs <eduardoochs@gmail.com> -- -- (defun l () (interactive) (find-angg \"SUBTITLES/{ee-subs-mp4stem}.lua\")) -- (defun l () (interactive) (find-SUBS \"{ee-subs-mp4stem}.lua\")) -- (defun b () (interactive) (find-TH \"{ee-subs-mp4stem}\")) -- (defun p () (interactive) (find-TH \"{ee-subs-pagestem}\")) -- (defun R () (interactive) (ee-recompile-SUBTITLES-0)) -- (defun r () (interactive) (ee-recompile-SUBTITLES-3)) -- (defun r () (interactive) (ee-recompile-SUBTITLES-1)) -- (define-key eev-mode-map (kbd \"M-r\") 'r) -- -- Skel: (find-subs-links \"{ee-subs-c}\") -- Old: (find-editeevsubtitles-links-1 \"{ee-subs-c}\") -- (find-efunction 'find-editeevsubtitles-links-1) -- Yttr: (find-yttranscript-links \"{ee-subs-c}\" \"{ee-subs-hash}\") -- Info: (find-1stclassvideo-links \"{ee-subs-c}\") -- Play: (find-{ee-subs-c}video \"0:00\") -- -- I use the code below to generate the subtitles in .vtt. -- ee_dofile \"~/LUA/Subtitles.lua\" -- (find-angg \"LUA/Subtitles.lua\") ")) ;; «ee-subs-lua-code-links» (to ".ee-subs-lua-code-links") ;; Test: (find-estring (ee-subs-lua-code-links)) (defun ee-subs-lua-code-links () (ee-template0 "\ --[[ -- (find-angg \"LUA/Subtitles.lua\") ** Run the .lua and tell it to ** write the .vtt - by default in /tmp/ * * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) dofile \"{ee-subs-mp4stem}.lua\" sts = Subtitles.fromsexps(subs_bigstr):addtime(\"{ee-subs-length}\") -- sts.lang = \"pt-BR\" = sts outfname = \"$S/http/anggtwu.net/eev-videos/{ee-subs-mp4stem}.vtt\" outfname = \"/tmp/{ee-subs-mp4stem}.vtt\" out = sts:vtt()..\"\\n\\n\" ee_writefile(outfname, out) -- (find-fline \"/tmp/{ee-subs-mp4stem}.vtt\") ** Test the .vtt ** (find-{ee-subs-c}video \"0:00\") ** Select /tmp/ or ee-eevvideosdir ** (find-eevvideosfile \"\") ** (find-eevvideosfile \"\" \"{ee-subs-mp4stem}.mp4\") ** (find-eevvideossh0 \"cp -v {ee-subs-mp4stem}.mp4 /tmp/\") ** (code-video \"{ee-subs-c}video\" \"/tmp/{ee-subs-mp4stem}.mp4\") ** (code-video \"{ee-subs-c}video\" \"$S/http/anggtwu.net/eev-videos/{ee-subs-mp4stem}.mp4\") ** (find-{ee-subs-c}video \"0:00\") ** Upload the {ee-subs-mp4stem}.vtt ** to http://anggtwu.net/eev-videos/ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd /tmp/ scp {ee-subs-mp4stem}.vtt $LINP/eev-videos/ scp {ee-subs-mp4stem}.vtt $LINS/eev-videos/ Scp-np {ee-subs-mp4stem}.vtt $TWUP/eev-videos/ Scp-np {ee-subs-mp4stem}.vtt $TWUS/eev-videos/ ** Upload the subtitles to youtube ** http://www.youtube.com/watch?v={ee-subs-hash} ** Check that the \"psne subtitles\" thing works ** (find-1stclassvideo-links \"{ee-subs-c}\") --]] --[[ * (eepitch-lua51) * (eepitch-kill) * (eepitch-lua51) dofile \"{ee-subs-mp4stem}.lua\" for li in subs_bigstr:gmatch(\"([^\\n]+)\") do local time,text = li:match('^.-\"(.-)\".-\"(.*)\"%)$') text = text:gsub(\"\\\\(.)\", \"%1\") if time then print(\" \"..time..\" \"..text) end end --]] \n subs_bigstr = [==[ \(find-{ee-subs-c}video \"00:00\" \" \") ]==] unrevised_bigstr = [==[ \(find-{ee-subs-c}video \"00:00\" \" \") ]==] -- Local\ Variables: -- coding: utf-8-unix -- End:")) ;; «ee-subs-blogme3-links» (to ".ee-subs-blogme3-links") ;; Test: (find-estring (ee-subs-blogme3-links)) (defun ee-subs-blogme3-links () (ee-template0 "\ [INCLUDE TH/speedbar.blogme] [SETFAVICON dednat4/dednat4-icon.png] [SETFAVICON IMAGES/forthsun.png] [# (defun c () (interactive) (find-blogme3-sh0-if \"{ee-subs-mp4stem}\")) (defun u () (interactive) (find-blogme-upload-links \"{ee-subs-mp4stem}\")) (defun u () (interactive) (find-blogme3-st-up-links \"{ee-subs-mp4stem}\")) (defun l () (interactive) (find-angg \"SUBTITLES/{ee-subs-mp4stem}.lua\")) (defun b () (interactive) (find-TH \"{ee-subs-mp4stem}\")) (defun p () (interactive) (find-TH \"{ee-subs-pagestem}\")) ;; http://anggtwu.net/{ee-subs-pagestem}.html ;; http://anggtwu.net/{ee-subs-mp4stem}.html ;; file:///home/edrx/TH/L/{ee-subs-mp4stem}.html ;; ;; (find-blogme3-legendas-links \"{ee-subs-c}\" \"{ee-subs-mp4stem}\" \"{ee-subs-hash}\") #] [lua: require \"defs-2022\" -- (find-blogme3 \"defs-2022.lua\") load_caepro4() -- (find-blogme3 \"defs-2022.lua\" \"load_caepro2\") short_:add [[ caepro => (find-TH \"2023-caepro\") caepro -> 2023-caepro.html (find-1stclassvideo-links \"{ee-subs-c}\") {ee-subs-c}-page -> http://anggtwu.net/{ee-subs-pagestem}.html {ee-subs-c}-mp4 -> http://anggtwu.net/eev-videos/{ee-subs-mp4stem}.mp4 {ee-subs-c}-lua => (find-angg \"SUBTITLES/{ee-subs-mp4stem}.lua\" \"legendas\") {ee-subs-c}-leg => (find-TH \"{ee-subs-mp4stem}\") {ee-subs-c}-pdf -> http://anggtwu.net/LATEX/2023-caepro.pdf {ee-subs-c}-video -> https://www.youtube.com/watch?v={ee-subs-hash} {ee-subs-c}-index => (find-1stclassvideoindex \"{ee-subs-c}\") ]] ] [SETHEADSTYLE [LUCIDA]] [htmlize8 [J \"Isso muda alguma coisa?\" (Sobre as reclamações do CAEPRO)] [P The main page about this video is [_ {ee-subs-c}-page here]. [BR] Its index is [_ {ee-subs-c}-index here]. [BR] Its subtitles in Lua are [_ {ee-subs-c}-lua here]. [BR] The rest of this page contains a conversion of the subtitles in Lua [BR] to a slightly more readable format. ] [NARROW [PLEFT [FIG [__ {ee-subs-c}-video] IMAGES/{ee-subs-mp4stem}-small.png] ] ] [br] [P [lua: -- (find-angg \"SUBTITLES/{ee-subs-mp4stem}.lua\") -- (find-angg \"LUA/Subtitles.lua\" \"Subtitles\") -- (find-TH \"2021aulas-por-telegram\" \"legendas\" \"ipairs\") -- (find-fline \"~/SUBTITLES/{ee-subs-mp4stem}.lua\") ee_dofile \"~/SUBTITLES/{ee-subs-mp4stem}.lua\" -- (find-fline \"~/LUA/Subtitles2.lua\") ee_dofile \"~/LUA/Subtitles2.lua\" Subtitle.hash = \"{ee-subs-hash}\" sls = SubtitleLines.from(subs_bigstr) return sls:blogme() ] ] ] [# # Local {\"Variables\"}: # coding: utf-8-unix # modes: (fundamental-mode blogme-mode) # End: #]")) ;; ;; Local Variables: ;; coding: utf-8-unix ;; End: