branch: elpa/subed
commit dd4dc8cb4f68fba34e8e6551139b1fb02305ed97
Author: Random User <[email protected]>
Commit: Random User <[email protected]>
Automatically disable point-to-player sync while looping
---
subed/subed-common.el | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/subed/subed-common.el b/subed/subed-common.el
index 0de7101..3f6d998 100644
--- a/subed/subed-common.el
+++ b/subed/subed-common.el
@@ -786,9 +786,15 @@ If QUIET is non-nil, do not display a message in the
minibuffer."
"Whether the player is looping over the current subtitle."
(or subed--subtitle-loop-start subed--subtitle-loop-stop))
+(defvar-local subed--enable-point-to-player-sync-after-disabling-loop nil)
+
(defun subed-enable-loop-over-current-subtitle (&optional quiet)
"Enable looping over the current subtitle in the player.
+If enabled, point-to-player synchronization is disabled and
+re-enabled again when `subed-disable-loop-over-current-subtitle'
+is called.
+
If QUIET is non-nil, do not display a message in the minibuffer."
(interactive)
(unless (subed-loop-over-current-subtitle-p)
@@ -796,6 +802,9 @@ If QUIET is non-nil, do not display a message in the
minibuffer."
(add-hook 'subed-mpv-playback-position-hook #'subed--ensure-subtitle-loop
:append :local)
(add-hook 'subed-subtitle-motion-hook #'subed--set-subtitle-loop :append
:local)
(subed-debug "Enabling loop: %s - %s" subed--subtitle-loop-start
subed--subtitle-loop-stop)
+ (when (subed-sync-point-to-player-p)
+ (subed-disable-sync-point-to-player)
+ (setq subed--enable-point-to-player-sync-after-disabling-loop t))
(unless quiet
(message "Enabled looping over current subtitle"))))
@@ -810,6 +819,9 @@ If QUIET is non-nil, do not display a message in the
minibuffer."
(setq subed--subtitle-loop-start nil
subed--subtitle-loop-stop nil)
(subed-debug "Disabling loop: %s - %s" subed--subtitle-loop-start
subed--subtitle-loop-stop)
+ (when subed--enable-point-to-player-sync-after-disabling-loop
+ (subed-enable-sync-point-to-player)
+ (setq subed--enable-point-to-player-sync-after-disabling-loop nil))
(unless quiet
(message "Disabled looping over current subtitle"))))