From 0782e0efec9e44b92f5b295fef1872f169e98702 Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Sat, 6 Dec 2025 11:44:55 +1100 Subject: [emacs] fix emms and invidious --- emacs/.emacs.d/lisp/my/my-emms.el | 12 ++++++++---- emacs/.emacs.d/lisp/my/my-ytdl.el | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) (limited to 'emacs/.emacs.d/lisp') diff --git a/emacs/.emacs.d/lisp/my/my-emms.el b/emacs/.emacs.d/lisp/my/my-emms.el index 0a42efe..91065a2 100644 --- a/emacs/.emacs.d/lisp/my/my-emms.el +++ b/emacs/.emacs.d/lisp/my/my-emms.el @@ -157,7 +157,11 @@ either 'audio or 'video (let ((emms-track-initialize-functions nil)) (my-emms-add-url-lists from (alist-get type my-extension-types))) - (with-current-buffer to (emms-sort)))) + (with-current-buffer to + (goto-char (point-min)) + (let ((inhibit-read-only t)) + (flush-lines "/Music/Archived/")) + (emms-sort)))) (defun my-emms-players-preference (track players) "If audio, use first player, otherwise second." @@ -651,15 +655,15 @@ If the last command is `emms-playlist-mode-play-smart', then set (setq last-command nil)) ) -(defun my-emms-wrapped () +(defun my-emms-wrapped (&optional n) "Print top 10 scored tracks." - (interactive) + (interactive "p") (let (keys) (maphash (lambda (k _) (push k keys)) emms-score-hash) (sort keys (lambda (k1 k2) (> (cl-second (gethash k1 emms-score-hash)) (cl-second (gethash k2 emms-score-hash))))) - (message "Top 10: %s" (string-join (take 10 keys) "\n")))) + (message "Top %s: %s" (or n 10) (string-join (take (or n 10) keys) "\n")))) (defun my-emms-maybe-get-duration-for-current-track () "Get duration for the current track. diff --git a/emacs/.emacs.d/lisp/my/my-ytdl.el b/emacs/.emacs.d/lisp/my/my-ytdl.el index 7cdda43..507e478 100644 --- a/emacs/.emacs.d/lisp/my/my-ytdl.el +++ b/emacs/.emacs.d/lisp/my/my-ytdl.el @@ -105,7 +105,7 @@ (defun my-ytdl-video-url-p (url) (let ((urlobj (url-generic-parse-url url))) (or (and (string-match-p - "^\\(www\\.\\|m\\.\\)?\\(youtube\\.com\\|yewtu\\.be\\)" + "^\\(www\\.\\|m\\.\\)?\\(youtube\\.com\\|yewtu\\.be\\|inv\\.nadeko.net\\)" (url-host urlobj)) (string-match-p "^/watch\\?v=.*" (url-filename urlobj))) (equal "youtu.be" (url-host urlobj))))) -- cgit v1.2.3