From 3f7a8703edbdc0be14e5dca52dd736d9711c07b7 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Tue, 5 Oct 2021 14:23:47 -0500 Subject: Replace ytel with ytdious Better interface --- lisp/acdw-ytel.el | 44 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) (limited to 'lisp') diff --git a/lisp/acdw-ytel.el b/lisp/acdw-ytel.el index 01e6187..276323d 100644 --- a/lisp/acdw-ytel.el +++ b/lisp/acdw-ytel.el @@ -7,12 +7,12 @@ ;;; Code: -(require 'ytel) +(require 'ytel nil t) (defun acdw/ytel-current-video-link () "Get the link of the video at point." (let* ((video (ytel-get-current-video)) - (id (ytel-video-id video))) + (id (ytel-video-id video))) (concat "https://www.youtube.com/watch?v=" id))) (defun acdw/ytel-watch () ; This could possibly use `browse-url'. @@ -31,5 +31,45 @@ (kill-new link) (message "Copied %s to kill-ring" link))) + +;;; YTDIOUS: https://github.com/spiderbit/ytdious +;; a fork of ytel that uses table-view or w/e. looks nicer + +(require 'ytdious nil t) + +(defun acdw/ytdious-current-video-link () + "Get the link of the video at point." + (let* ((video (ytdious-get-current-video)) + (id (ytdious-video-id-fun video))) + (concat "https://www.youtube.com/watch?v=" id))) + +(defun acdw/ytdious-watch () ; This could possibly use `browse-url'. + "Stream video at point in mpv." + (interactive) + (let ((link (acdw/ytdious-current-video-link))) + (start-process "ytdious mpv" nil + "mpv" + link + "--ytdl-format=bestvideo[height<=?720]+bestaudio/best") + (message "Streaming %s..." link))) + +(defun acdw/ytdious-copy-link () + "Copy link of the video at point." + (interactive) + (let ((link (acdw/ytdious-current-video-link))) + (kill-new link) + (message "Copied %s to kill-ring" link))) + +(defun acdw/ytdious-quit () + "Quit ytdious." + ;; This corrects an error with `ytdious-quit' where it doesn't have the right + ;; buffer setup. + (interactive) + (quit-window)) + +;;; Ignore `ytdious-show-image-asyncron' because it's buggy. + +(defalias 'ytdious-show-image-asyncron #'ignore) + (provide 'acdw-ytel) ;;; acdw-ytel.el ends here -- cgit 1.4.1-21-gabe81