[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/mpv f0da905fd3 06/50: implement pausing and inserting play
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/mpv f0da905fd3 06/50: implement pausing and inserting playback position |
Date: |
Tue, 28 Dec 2021 00:58:34 -0500 (EST) |
branch: elpa/mpv
commit f0da905fd3fb66dd0c16a36e42072fd21dc682d1
Author: Johann Klähn <kljohann@gmail.com>
Commit: Johann Klähn <kljohann@gmail.com>
implement pausing and inserting playback position
---
mpv-mode.el | 28 +++++++++++++++++++++++++++-
1 file changed, 27 insertions(+), 1 deletion(-)
diff --git a/mpv-mode.el b/mpv-mode.el
index 1da08ed794..075a73ef05 100644
--- a/mpv-mode.el
+++ b/mpv-mode.el
@@ -1,4 +1,4 @@
-;;; mpv-mode.el --- control mpv for easy note-taking
+;;; mpv-mode.el --- control mpv for easy note-taking -*- lexical-binding: t;
-*-
;; Copyright (C) 2014 Johann Klähn
@@ -37,6 +37,10 @@
"Name or path to the mpv executable."
:type 'file)
+(defcustom position-format "%H:%M:%S"
+ "Format used for inserting playback position."
+ :type 'string)
+
(defvar -process nil)
(defvar -queue nil)
@@ -121,6 +125,28 @@ drops unsolicited event messages."
(error nil))
(tq-queue-pop tq)))
(-tq-process-buffer tq)))
+
+(defun pause ()
+ "Pause or unpause playback."
+ (interactive)
+ (-enqueue '("get_property" "pause")
+ (lambda (paused)
+ (-enqueue
+ `("set_property" "pause"
+ ,(if (eq paused :json-false) t :json-false))
+ #'ignore))))
+
+(defun insert-playback-position ()
+ "Insert the current playback position at point."
+ (interactive)
+ (let ((buffer (current-buffer)))
+ (-enqueue '("get_property" "playback-time")
+ (lambda (time)
+ (let* ((secs (truncate time))
+ (usecs (round (* 1000 (- time secs)))))
+ (with-current-buffer buffer
+ (insert (format-time-string position-format
+ `(0 ,secs ,usecs 0) t))))))))
)
(provide 'mpv-mode)
- [nongnu] branch elpa/mpv created (now 9bd6d36cc7), ELPA Syncer, 2021/12/28
- [nongnu] elpa/mpv 899559ae77 04/50: some fixes, ELPA Syncer, 2021/12/28
- [nongnu] elpa/mpv ee505feff0 16/50: add .gitignore, ELPA Syncer, 2021/12/28
- [nongnu] elpa/mpv 0a02225f4e 30/50: autoload all interactive functions, ELPA Syncer, 2021/12/28
- [nongnu] elpa/mpv 27b98410e5 45/50: Fix decreasing volume or speed by multiple steps, ELPA Syncer, 2021/12/28
- [nongnu] elpa/mpv 8da5b19f3d 07/50: cleanup, ELPA Syncer, 2021/12/28
- [nongnu] elpa/mpv 91b094c966 02/50: initial import, ELPA Syncer, 2021/12/28
- [nongnu] elpa/mpv f0da905fd3 06/50: implement pausing and inserting playback position,
ELPA Syncer <=
- [nongnu] elpa/mpv 6338f0d6b5 12/50: rename to mpv.el, ELPA Syncer, 2021/12/28
- [nongnu] elpa/mpv e3fad297cd 18/50: add README.md, ELPA Syncer, 2021/12/28
- [nongnu] elpa/mpv c6b3fa013c 36/50: Add mpv-run-command function to synchronously run commands, ELPA Syncer, 2021/12/28
- [nongnu] elpa/mpv 9dedf3b7c1 34/50: Monkey-patch org-timer-item instead of reimplementing, ELPA Syncer, 2021/12/28
- [nongnu] elpa/mpv 174cd4b68b 31/50: call expand-file-name on files passed to mpv-play, ELPA Syncer, 2021/12/28
- [nongnu] elpa/mpv 3849da1e45 01/50: root commit, ELPA Syncer, 2021/12/28
- [nongnu] elpa/mpv 33ca8987ed 03/50: work around spurious event messages, ELPA Syncer, 2021/12/28
- [nongnu] elpa/mpv 6fe510798a 26/50: fix mpv-speed-set, ELPA Syncer, 2021/12/28
- [nongnu] elpa/mpv fcdca618df 29/50: add badge for MELPA stable, ELPA Syncer, 2021/12/28
- [nongnu] elpa/mpv d7bb3a7082 40/50: Add sleep and timeout to mpv-kill and mpv-play, ELPA Syncer, 2021/12/28