From fe794975246f1910bfdc494e266817d33fd199df Mon Sep 17 00:00:00 2001 From: Rahguzar Date: Sun, 10 Mar 2024 12:09:25 +0100 Subject: Optionally show status of mpv process on modeline --- yeetube-mpv.el | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) (limited to 'yeetube-mpv.el') diff --git a/yeetube-mpv.el b/yeetube-mpv.el index 2c925a4..04f684a 100644 --- a/yeetube-mpv.el +++ b/yeetube-mpv.el @@ -32,20 +32,34 @@ :group 'yeetube) (defcustom yeetube-mpv-enable-torsocks nil - "Enable torsocks.") + "Enable torsocks." + :type 'boolean + :group 'yeetube) + +(defcustom yeetube-mpv-show-status nil + "Show mpv status in mode-line." + :type 'boolean + :group 'yeetube) + +(setf (alist-get 'yeetube-mpv-show-status mode-line-misc-info nil t) + '(("" yeetube-mpv-status))) -(defvar yeetube-mpv-path (executable-find "mpv") - "Path for mpv executable.") +(defvar yeetube-mpv-command '("mpv" "--no-msg-color" "--term-status-msg=${?=audio==1:A}${?=video==1:V} ${?=pause==yes:Paused}${?=pause==no:Playing} (${percent-pos}%)") + "Cons of mpv command and list of args passed to it.") (defvar yeetube-mpv-torsocks (executable-find "torsocks") "Path to torsocks executable.") (defvar yeetube-mpv-video-quality "720" - "Video resolution/quality - + "Video resolution/quality. Accepted values include: 1080, 720, 480, 360, 240, 144") +(defvar yeetube-mpv-status nil + "Contains a brief status of the mpv process.") +(put 'yeetube-mpv-status 'risky-local-variable t) + (defun yeetube-mpv-change-video-quality () + "Change video quality." (interactive) (let ((new-value (completing-read (format "Set video quality (current value %s):" yeetube-mpv-video-quality) '("1080" "720" "480" "360" "240" "144") nil t))) -- cgit v1.2.3 From 5c00a7bd546df8e87452edb18447851263aed2c2 Mon Sep 17 00:00:00 2001 From: Rahguzar Date: Sun, 10 Mar 2024 12:10:26 +0100 Subject: Command to quit and go forward/backward --- yeetube-mpv.el | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'yeetube-mpv.el') diff --git a/yeetube-mpv.el b/yeetube-mpv.el index 04f684a..77e28ca 100644 --- a/yeetube-mpv.el +++ b/yeetube-mpv.el @@ -123,7 +123,7 @@ to play local files." (message "yeetube: mpv disabled video"))) (defun yeetube-mpv-send-keypress (key) - "Send KEY to yeetube-mpv-process." + "Send KEY to `yeetube-mpv-process'." (interactive "sKey: ") (process-send-string "yeetube" key)) @@ -145,5 +145,21 @@ to play local files." (yeetube-mpv-send-keypress "_") (message "yeetube: toggle video")) +(defun yeetube-mpv-forward () + "Forward video." + (interactive) + (yeetube-mpv-send-keypress "")) + +(defun yeetube-mpv-backward () + "Go backwards in video." + (interactive) + (yeetube-mpv-send-keypress "")) + +(defun yeetube-mpv-quit () + "Quit mpv." + (interactive) + (yeetube-mpv-send-keypress "q") + (message "yeetube: quit")) + (provide 'yeetube-mpv) ;;; yeetube-mpv.el ends here -- cgit v1.2.3 From 3916a2332a79c0640b5f9167bf67865493264937 Mon Sep 17 00:00:00 2001 From: Rahguzar Date: Sat, 16 Mar 2024 08:58:42 +0100 Subject: Fix status command and pass process to quit-process --- yeetube-mpv.el | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) (limited to 'yeetube-mpv.el') diff --git a/yeetube-mpv.el b/yeetube-mpv.el index 77e28ca..39f8881 100644 --- a/yeetube-mpv.el +++ b/yeetube-mpv.el @@ -101,17 +101,18 @@ Accepted values include: 1080, 720, 480, 360, 240, 144") This function is not specific to just playing urls. Feel free to use to play local files." - (yeetube-mpv-process - (concat (when yeetube-mpv-enable-torsocks - (concat yeetube-mpv-torsocks " ")) - yeetube-mpv-path " --ytdl-format=" - (yeetube-mpv-ytdl-format-video-quality yeetube-mpv-video-quality) - " " - (shell-quote-argument input) - (when yeetube-mpv-disable-video " --no-video"))) - (message (if yeetube-mpv-enable-torsocks - "yeetube: Starting mpv process (using torsocks)" - "yeetube: Starting mpv process"))) + (let ((yeetube-mpv-path (executable-find "mpv"))) + (yeetube-mpv-process + (concat (when yeetube-mpv-enable-torsocks + (concat yeetube-mpv-torsocks " ")) + yeetube-mpv-path " --ytdl-format=" + (yeetube-mpv-ytdl-format-video-quality yeetube-mpv-video-quality) + " " + (shell-quote-argument input) + (when yeetube-mpv-disable-video " --no-video"))) + (message (if yeetube-mpv-enable-torsocks + "yeetube: Starting mpv process (using torsocks)" + "yeetube: Starting mpv process")))) (defun yeetube-mpv-toggle-no-video-flag () "Toggle no video flag for mpv player." -- cgit v1.2.3 From 70ea7e5e7d41577b63dce632cd0b7d5d3bdb7c15 Mon Sep 17 00:00:00 2001 From: Thanos Apollo Date: Mon, 18 Mar 2024 13:47:00 +0200 Subject: yeetube-mpv: Remove mpv-show-status If such a feature will be implemented, should be done as yeetube-modeline-mode, similarly to emms-mode-line-mode. --- yeetube-mpv.el | 15 --------------- 1 file changed, 15 deletions(-) (limited to 'yeetube-mpv.el') diff --git a/yeetube-mpv.el b/yeetube-mpv.el index 39f8881..5070fd5 100644 --- a/yeetube-mpv.el +++ b/yeetube-mpv.el @@ -36,17 +36,6 @@ :type 'boolean :group 'yeetube) -(defcustom yeetube-mpv-show-status nil - "Show mpv status in mode-line." - :type 'boolean - :group 'yeetube) - -(setf (alist-get 'yeetube-mpv-show-status mode-line-misc-info nil t) - '(("" yeetube-mpv-status))) - -(defvar yeetube-mpv-command '("mpv" "--no-msg-color" "--term-status-msg=${?=audio==1:A}${?=video==1:V} ${?=pause==yes:Paused}${?=pause==no:Playing} (${percent-pos}%)") - "Cons of mpv command and list of args passed to it.") - (defvar yeetube-mpv-torsocks (executable-find "torsocks") "Path to torsocks executable.") @@ -54,10 +43,6 @@ "Video resolution/quality. Accepted values include: 1080, 720, 480, 360, 240, 144") -(defvar yeetube-mpv-status nil - "Contains a brief status of the mpv process.") -(put 'yeetube-mpv-status 'risky-local-variable t) - (defun yeetube-mpv-change-video-quality () "Change video quality." (interactive) -- cgit v1.2.3