From 9f3d9962279df31659e3d0d6b0bfe232e2edac9a Mon Sep 17 00:00:00 2001 From: Thanos Apollo Date: Fri, 9 Feb 2024 09:10:24 +0200 Subject: Add yeetube-mpv-video-quality --- yeetube-mpv.el | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'yeetube-mpv.el') diff --git a/yeetube-mpv.el b/yeetube-mpv.el index 474b88f..cd436e6 100644 --- a/yeetube-mpv.el +++ b/yeetube-mpv.el @@ -40,6 +40,11 @@ (defvar yeetube-mpv-torsocks (executable-find "torsocks") "Path to torsocks executable.") +(defvar yeetube-mpv-video-quality "720" + "Video resolution/quality + +Accepted values include: 1080, 720, 480, 360, 240, 144") + (defun yeetube-mpv-toggle-torsocks () "Toggle torsocks." (interactive) -- cgit v1.2.3 From 5db25e807fb6fc67d40bdb3126487d442523e989 Mon Sep 17 00:00:00 2001 From: Thanos Apollo Date: Fri, 9 Feb 2024 09:10:45 +0200 Subject: Add yeetube-mpv-ytdl-format-video-quality --- yeetube-mpv.el | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'yeetube-mpv.el') diff --git a/yeetube-mpv.el b/yeetube-mpv.el index cd436e6..5b43ae1 100644 --- a/yeetube-mpv.el +++ b/yeetube-mpv.el @@ -72,6 +72,10 @@ Accepted values include: 1080, 720, 480, 360, 240, 144") (start-process-shell-command "yeetube" nil command)))) +(defun yeetube-mpv-ytdl-format-video-quality (resolution) + "Return shell quoted argument for ytdlp with RESOLUTION." + (shell-quote-argument (format "bestvideo[height<=?%s]+bestaudio/best" resolution))) + (defun yeetube-mpv-play (input) "Start yeetube process to play INPUT using mpv. @@ -80,7 +84,9 @@ to play local files." (yeetube-mpv-process (concat (when yeetube-mpv-enable-torsocks (concat yeetube-mpv-torsocks " ")) - yeetube-mpv-path " " + 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 -- cgit v1.2.3 From fbe5bd642c6a8d1cae3b7b37bfb96420a18fe5ff Mon Sep 17 00:00:00 2001 From: Thanos Apollo Date: Fri, 9 Feb 2024 11:28:16 +0200 Subject: Add yeetube-mpv-change-video-quality --- yeetube-mpv.el | 6 ++++++ yeetube.el | 1 + 2 files changed, 7 insertions(+) (limited to 'yeetube-mpv.el') diff --git a/yeetube-mpv.el b/yeetube-mpv.el index 5b43ae1..2c925a4 100644 --- a/yeetube-mpv.el +++ b/yeetube-mpv.el @@ -45,6 +45,12 @@ Accepted values include: 1080, 720, 480, 360, 240, 144") +(defun yeetube-mpv-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))) + (setf yeetube-mpv-video-quality new-value))) + (defun yeetube-mpv-toggle-torsocks () "Toggle torsocks." (interactive) diff --git a/yeetube.el b/yeetube.el index 5c28324..6a2e9db 100644 --- a/yeetube.el +++ b/yeetube.el @@ -481,6 +481,7 @@ FIELDS-FACE-PAIRS is a list of fields and faces." "r" #'yeetube-replay "t" #'yeetube-view-thumbnail "T" #'yeetube-mpv-toggle-torsocks + "C-q" #'yeetube-mpv-change-video-quality "q" #'quit-window) (define-derived-mode yeetube-mode tabulated-list-mode "Yeetube" -- cgit v1.2.3