[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [nongnu] elpa/subed 28a75a6f68: Don't immediately toggle syncing point when looping; loop +/- 0s,
ELPA Syncer <=