[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/subed 5c75ea07ff 5/7: subed-waveform: Add mouse bindings f
|
From: |
ELPA Syncer |
|
Subject: |
[nongnu] elpa/subed 5c75ea07ff 5/7: subed-waveform: Add mouse bindings for setting start/end and copying |
|
Date: |
Sun, 5 Nov 2023 10:00:47 -0500 (EST) |
branch: elpa/subed
commit 5c75ea07ff4863b6b760db6e50093eeffdfc6acd
Author: Sacha Chua <sacha@sachachua.com>
Commit: Sacha Chua <sacha@sachachua.com>
subed-waveform: Add mouse bindings for setting start/end and copying
* subed/subed-waveform.el (subed-waveform-svg-map): Add mouse
bindings: S-mouse-1 for setting the start and copying to the previous,
S-mouse-3 (right-click) for setting the stop and copying to the next.
(subed-waveform-set-start): Update loop.
(subed-waveform-set-start-and-copy-to-previous): New command.
(subed-waveform-set-stop-and-copy-to-next): New command.
(subed-waveform-set-stop): Update loop and run hook for adjusting.
---
subed/subed-waveform.el | 44 +++++++++++++++++++++++++++++++++++++++++---
1 file changed, 41 insertions(+), 3 deletions(-)
diff --git a/subed/subed-waveform.el b/subed/subed-waveform.el
index 18391394ea..8db7d2c39c 100644
--- a/subed/subed-waveform.el
+++ b/subed/subed-waveform.el
@@ -377,14 +377,14 @@ times per second."
(define-key subed-waveform-svg-map [mouse-3] #'subed-waveform-set-stop)
(define-key subed-waveform-svg-map [down-mouse-3] #'ignore)
(define-key subed-waveform-svg-map [C-mouse-2] #'ignore)
- (define-key subed-waveform-svg-map [S-mouse-3] #'ignore)
+ (define-key subed-waveform-svg-map [S-mouse-1]
#'subed-waveform-set-start-and-copy-to-previous)
+ (define-key subed-waveform-svg-map [S-mouse-3]
#'subed-waveform-set-stop-and-copy-to-next)
(define-key subed-waveform-svg-map [C-mouse-3] #'ignore)
(define-key subed-waveform-svg-map [S-down-mouse-1] #'ignore)
(define-key subed-waveform-svg-map [S-drag-mouse-1]
#'subed-waveform-reduce-start-time)
(define-key subed-waveform-svg-map [S-down-mouse-3] #'ignore)
(define-key subed-waveform-svg-map [S-drag-mouse-3]
#'subed-waveform-increase-stop-time)
(define-key subed-waveform-svg-map [S-C-down-mouse-2]
#'subed-waveform-split)
- (define-key subed-waveform-svg-map [S-mouse-1] #'ignore)
(define-key subed-waveform-svg-map [C-mouse-1] #'ignore)
subed-waveform-svg-map)
"A keymap for clicking on the waveform.")
@@ -434,13 +434,51 @@ This function ignores arguments and can be used in hooks."
"Set the start timestamp in the place clicked."
(interactive "e")
(subed-set-subtitle-time-start (subed-waveform--mouse-event-to-ms event))
+ (when (subed-loop-over-current-subtitle-p)
+ (subed--set-subtitle-loop))
+ (subed--run-subtitle-time-adjusted-hook)
+ (subed-waveform--update-bars (subed-subtitle-msecs-start)))
+
+(defun subed-waveform-set-start-and-copy-to-previous (event)
+ "Set the start timestamp in the place clicked.
+Copy it to the stop time of the previous subtitle, leaving a gap of
+`subed-subtitle-spacing'."
+ (interactive "e")
+ (subed-set-subtitle-time-start (subed-waveform--mouse-event-to-ms event))
+ (when (subed-loop-over-current-subtitle-p)
+ (subed--set-subtitle-loop))
+ (save-excursion
+ (when (subed-backward-subtitle-time-stop)
+ (subed-set-subtitle-time-stop
+ (- (subed-waveform--mouse-event-to-ms event) subed-subtitle-spacing)))
+ (subed--run-subtitle-time-adjusted-hook))
+ (subed--run-subtitle-time-adjusted-hook)
+ (subed-waveform--update-bars (subed-subtitle-msecs-start)))
+
+(defun subed-waveform-set-stop-and-copy-to-next (event)
+ "Set the stop timestamp in the place clicked.
+Copy it to the start time of the next subtitle, leaving a gap of
+`subed-subtitle-spacing'."
+ (interactive "e")
+ (subed-set-subtitle-time-stop (subed-waveform--mouse-event-to-ms event))
+ (when (subed-loop-over-current-subtitle-p)
+ (subed--set-subtitle-loop))
+ (save-excursion
+ (when (subed-forward-subtitle-time-start)
+ (subed-set-subtitle-time-start
+ (+ (subed-waveform--mouse-event-to-ms event) subed-subtitle-spacing)))
+ (subed--run-subtitle-time-adjusted-hook))
+ (subed--run-subtitle-time-adjusted-hook)
(subed-waveform--update-bars (subed-subtitle-msecs-start)))
(defun subed-waveform-set-stop (event)
"Set the start timestamp in the place clicked."
(interactive "e")
(subed-set-subtitle-time-stop (subed-waveform--mouse-event-to-ms event))
- (subed-waveform--update-bars (subed-subtitle-msecs-start)))
+ (when (subed-loop-over-current-subtitle-p)
+ (subed--set-subtitle-loop))
+ (subed--run-subtitle-time-adjusted-hook)
+ (subed-waveform--update-bars (subed-subtitle-msecs-stop)))
(defun subed-waveform-reduce-start-time (event)
"Make this subtitle start `subed-milliseconds-adjust' milliseconds earlier."
- [nongnu] elpa/subed updated (de7ee92961 -> 2598656c5d), ELPA Syncer, 2023/11/05
- [nongnu] elpa/subed 1c3fbbaa9f 2/7: Update loop after adjusting time, ELPA Syncer, 2023/11/05
- [nongnu] elpa/subed bbebabde9f 3/7: New command subed-mpv-jump-to-current-subtitle-near-end (M-J), ELPA Syncer, 2023/11/05
- [nongnu] elpa/subed 09e9d0232c 1/7: Add subed-append-subtitle-list for easier bulk-adding, ELPA Syncer, 2023/11/05
- [nongnu] elpa/subed c022c57517 4/7: VTT comments: append subtitle before comment, add newlines, ELPA Syncer, 2023/11/05
- [nongnu] elpa/subed 750ae1f058 6/7: Test improvements, ELPA Syncer, 2023/11/05
- [nongnu] elpa/subed 5c75ea07ff 5/7: subed-waveform: Add mouse bindings for setting start/end and copying,
ELPA Syncer <=
- [nongnu] elpa/subed 2598656c5d 7/7: version 1.2.6, ELPA Syncer, 2023/11/05