emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/subed bbebabde9f 3/7: New command subed-mpv-jump-to-curren


From: ELPA Syncer
Subject: [nongnu] elpa/subed bbebabde9f 3/7: New command subed-mpv-jump-to-current-subtitle-near-end (M-J)
Date: Sun, 5 Nov 2023 10:00:47 -0500 (EST)

branch: elpa/subed
commit bbebabde9fcf82a6bcfbe3aed4dc2b732cfc8667
Author: Sacha Chua <sacha@sachachua.com>
Commit: Sacha Chua <sacha@sachachua.com>

    New command subed-mpv-jump-to-current-subtitle-near-end (M-J)
    
    Useful for checking if the subtitle ends properly.
    
    * subed/subed-config.el (subed-sample-msecs): New option.
    * subed/subed-mpv.el (subed-mpv-jump-to-current-subtitle-near-end):
    New command.
    * subed/subed.el (subed-mode-map): New keybinding M-J for
    subed-mpv-jump-to-current-subtitle-near-end.
---
 subed/subed-config.el | 5 +++++
 subed/subed-mpv.el    | 9 +++++++++
 subed/subed.el        | 1 +
 3 files changed, 15 insertions(+)

diff --git a/subed/subed-config.el b/subed/subed-config.el
index c726bf7fb9..fb175cc7e3 100644
--- a/subed/subed-config.el
+++ b/subed/subed-config.el
@@ -205,6 +205,11 @@ action."
   :type 'float
   :group 'subed)
 
+(defcustom subed-sample-msecs 2000
+  "Number of milliseconds to play when jumping near the end of a subtitle."
+  :type 'integer
+  :group 'subed)
+
 (defvar-local subed--subtitle-loop-start nil
   "Start position of loop in player in milliseconds.")
 
diff --git a/subed/subed-mpv.el b/subed/subed-mpv.el
index 27319bcf57..730181c03a 100644
--- a/subed/subed-mpv.el
+++ b/subed/subed-mpv.el
@@ -331,6 +331,15 @@ See \"List of events\" in mpv(1)."
       (subed-debug "Seeking player to focused subtitle: %S" cur-sub-start)
       (subed-mpv-jump cur-sub-start))))
 
+(defun subed-mpv-jump-to-current-subtitle-near-end ()
+  "Move playback position to near the end of the current subtitle."
+  (interactive)
+  (let ((cur-sub-end (subed-subtitle-msecs-stop)))
+    (when cur-sub-end
+      (setq cur-sub-end (- cur-sub-end subed-sample-msecs))
+      (subed-debug "Seeking player to end of focused subtitle: %S" cur-sub-end)
+      (subed-mpv-jump cur-sub-end))))
+
 (defun subed-mpv-frame-step ()
   "Step one frame forward.
 Set up keybindings so that repeatedly pressing `,' and `.' moves
diff --git a/subed/subed.el b/subed/subed.el
index 6f47cf6509..9d43de3111 100644
--- a/subed/subed.el
+++ b/subed/subed.el
@@ -71,6 +71,7 @@
     (define-key subed-mode-map (kbd "M-s") #'subed-sort)
     (define-key subed-mode-map (kbd "M-SPC") #'subed-mpv-toggle-pause)
     (define-key subed-mode-map (kbd "M-j") 
#'subed-mpv-jump-to-current-subtitle)
+    (define-key subed-mode-map (kbd "M-J") 
#'subed-mpv-jump-to-current-subtitle-near-end)
     (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-play-from-file)
     (define-key subed-mode-map (kbd "C-c C-u") #'subed-mpv-play-from-url)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]