branch: elpa/subed commit 6db00057ce8c42ef688a276e99cba8e466111f9f Author: Sacha Chua <sa...@sachachua.com> Commit: Sacha Chua <sa...@sachachua.com>
New function subed-mpv-play-video-from-url * subed/subed-mpv.el: New function subed-mpv-play-video-from-url. * subed/subed.el: Bind C-c C-w (mnemonic: web?) to subed-mpv-play-video-from-url. The main differences are that it doesn't complete or expand filenames. --- subed/subed-mpv.el | 17 +++++++++++++++++ subed/subed.el | 1 + 2 files changed, 18 insertions(+) diff --git a/subed/subed-mpv.el b/subed/subed-mpv.el index 4bdf3d8..cf3a92f 100644 --- a/subed/subed-mpv.el +++ b/subed/subed-mpv.el @@ -335,6 +335,23 @@ See \"List of events\" in mpv(1)." (or (file-directory-p filepath) (member (file-name-extension filename) subed-video-extensions))))) +(defun subed-mpv-play-video-from-url (url) + "Open video file from URL in mpv." + (interactive "MURL: ") + (when (subed-mpv--server-started-p) + (subed-mpv-kill)) + (when (apply #'subed-mpv--server-start subed-mpv-arguments) + (subed-debug "Opening video from URL: %s" url) + (subed-mpv--client-connect subed-mpv--retry-delays) + (subed-mpv--client-send `(loadfile ,url replace)) + ;; mpv won't add the subtitles if the file doesn't exist yet, so we add it + ;; via after-save-hook. + (if (file-exists-p (buffer-file-name)) + (subed-mpv-add-subtitles (buffer-file-name)) + (add-hook 'after-save-hook #'subed-mpv--add-subtitle-after-first-save :append :local)) + (subed-mpv--client-send `(observe_property 1 time-pos)) + (subed-mpv-playback-speed subed-playback-speed-while-not-typing))) + (defun subed-mpv-find-video (file) "Open video file FILE in mpv. diff --git a/subed/subed.el b/subed/subed.el index 2d1b5cb..738597a 100644 --- a/subed/subed.el +++ b/subed/subed.el @@ -59,6 +59,7 @@ (define-key subed-mode-map (kbd "M-SPC") #'subed-mpv-toggle-pause) (define-key subed-mode-map (kbd "C-c C-d") #'subed-toggle-debugging) (define-key subed-mode-map (kbd "C-c C-v") #'subed-mpv-find-video) + (define-key subed-mode-map (kbd "C-c C-u") #'subed-mpv-play-video-from-url) (define-key subed-mode-map (kbd "C-c C-p") #'subed-toggle-pause-while-typing) (define-key subed-mode-map (kbd "C-c C-l") #'subed-toggle-loop-over-current-subtitle) (define-key subed-mode-map (kbd "C-c C-r") #'subed-toggle-replay-adjusted-subtitle)