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

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

[nongnu] elpa/subed 28a75a6f68: Don't immediately toggle syncing point w


From: ELPA Syncer
Subject: [nongnu] elpa/subed 28a75a6f68: Don't immediately toggle syncing point when looping; loop +/- 0s
Date: Thu, 29 Dec 2022 22:59:39 -0500 (EST)

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

    Don't immediately toggle syncing point when looping; loop +/- 0s
    
    * subed/subed-common.el (subed-enable-sync-point-to-player): If
    looping over a subtitle, don't immediately enable syncing point to the
    player.
    (subed--enable-point-to-player-sync-after-disabling-loop): Move
    declaration earlier in the file.
    (subed-disable-sync-point-to-player): If looping over a subtitle,
    don't immediately disable syncing point to the player.
    * subed/subed-config.el (subed-loop-seconds-before): Change default to
    0 seconds to reduce user confusion.
    (subed-loop-seconds-after): Change default to 0 seconds to reduce user
    confusion.
---
 NEWS.org              |  6 ++++++
 subed/subed-common.el | 31 +++++++++++++++++--------------
 subed/subed-config.el |  4 ++--
 subed/subed.el        |  2 +-
 4 files changed, 26 insertions(+), 17 deletions(-)

diff --git a/NEWS.org b/NEWS.org
index c3c22de221..7b17926d13 100644
--- a/NEWS.org
+++ b/NEWS.org
@@ -1,6 +1,12 @@
 #+OPTIONS: toc:nil
 
 * subed news
+** Version 1.0.29 - 2022-12-29 - Sacha Chua
+
+subed-toggle-sync-point-to-player should not confuse subed when it is
+already looping over a subtitle. Also, subed-loop-seconds-before and
+subed-loop-seconds-after now default to 0 for less confusion.
+
 ** Version 1.0.28 - 2022-12-22 - Sacha Chua
 
 subed-parse-file should handle nil filenames now. Also, it should not
diff --git a/subed/subed-common.el b/subed/subed-common.el
index 189799bfe4..83d296c131 100644
--- a/subed/subed-common.el
+++ b/subed/subed-common.el
@@ -34,10 +34,11 @@
 
 (declare-function subed-tsv-mode "subed-tsv" ())
 
-;;; Generic functions
+;;; Generic functions and variables
 
 (defvar-local subed--regexp-separator nil "Regexp separating subtitles.")
 (defvar-local subed--regexp-timestamp nil "Regexp matching timestamps.")
+(defvar-local subed--enable-point-to-player-sync-after-disabling-loop nil)
 
 ;;; Macros
 
@@ -1408,7 +1409,6 @@ If QUIET is non-nil, do not display a message in the 
minibuffer."
   (subed-debug "Replaying subtitle at: %s" (subed-msecs-to-timestamp 
msecs-start))
   (subed-mpv-jump msecs-start))
 
-
 ;;; Sync point-to-player
 
 (defun subed-sync-point-to-player-p ()
@@ -1420,22 +1420,27 @@ If QUIET is non-nil, do not display a message in the 
minibuffer."
 
 If QUIET is non-nil, do not display a message in the minibuffer."
   (interactive)
-  (unless (subed-sync-point-to-player-p)
-    (add-hook 'subed-mpv-playback-position-hook #'subed--sync-point-to-player 
:append :local)
-    (subed-debug "Enabled syncing point to playback position: %s" 
subed-mpv-playback-position-hook)
-    (unless quiet
-      (message "Enabled syncing point to playback position"))))
+       ;; If looping over a subtitle, don't immediately enable it. Set it to 
be enabled after the loop ends.
+       (if (subed-loop-over-current-subtitle-p)
+                       (setq 
subed--enable-point-to-player-sync-after-disabling-loop t)
+               (unless (subed-sync-point-to-player-p)
+                       (add-hook 'subed-mpv-playback-position-hook 
#'subed--sync-point-to-player :append :local)
+                       (subed-debug "Enabled syncing point to playback 
position: %s" subed-mpv-playback-position-hook)
+                       (unless quiet
+                               (message "Enabled syncing point to playback 
position")))))
 
 (defun subed-disable-sync-point-to-player (&optional quiet)
   "Do not move point automatically to the currently playing subtitle.
 
 If QUIET is non-nil, do not display a message in the minibuffer."
   (interactive)
-  (when (subed-sync-point-to-player-p)
-    (remove-hook 'subed-mpv-playback-position-hook 
#'subed--sync-point-to-player :local)
-    (subed-debug "Disabled syncing point to playback position: %s" 
subed-mpv-playback-position-hook)
-    (unless quiet
-      (message "Disabled syncing point to playback position"))))
+       (when (subed-loop-over-current-subtitle-p)
+               (setq subed--enable-point-to-player-sync-after-disabling-loop 
nil))
+       (when (subed-sync-point-to-player-p)
+               (remove-hook 'subed-mpv-playback-position-hook 
#'subed--sync-point-to-player :local)
+               (subed-debug "Disabled syncing point to playback position: %s" 
subed-mpv-playback-position-hook)
+               (unless quiet
+                       (message "Disabled syncing point to playback 
position"))))
 
 (defun subed-toggle-sync-point-to-player ()
   "Enable/disable moving point to the currently playing subtitle."
@@ -1533,8 +1538,6 @@ 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.
 
diff --git a/subed/subed-config.el b/subed/subed-config.el
index e75a2fb90b..fe8dc917b2 100644
--- a/subed/subed-config.el
+++ b/subed/subed-config.el
@@ -185,12 +185,12 @@ action."
   :local t
   :group 'subed)
 
-(defcustom subed-loop-seconds-before 1
+(defcustom subed-loop-seconds-before 0
   "Prelude in seconds when looping over subtitle(s)."
   :type 'float
   :group 'subed)
 
-(defcustom subed-loop-seconds-after 1
+(defcustom subed-loop-seconds-after 0
   "Addendum in seconds when looping over subtitle(s)."
   :type 'float
   :group 'subed)
diff --git a/subed/subed.el b/subed/subed.el
index f157a3b6cc..e847329f7f 100644
--- a/subed/subed.el
+++ b/subed/subed.el
@@ -1,6 +1,6 @@
 ;;; subed.el --- A major mode for editing subtitles  -*- lexical-binding: t; 
-*-
 
-;; Version: 1.0.28
+;; Version: 1.0.29
 ;; Maintainer: Sacha Chua <sacha@sachachua.com>
 ;; Author: Random User
 ;; Keywords: convenience, files, hypermedia, multimedia



reply via email to

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