[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
emms-player-mpd-sync-from-mpd does not always call callback
From: |
StrawberryTea |
Subject: |
emms-player-mpd-sync-from-mpd does not always call callback |
Date: |
Mon, 30 Dec 2024 23:19:44 -0600 |
User-agent: |
mu4e 1.12.7; emacs 31.0.50 |
Hello EMMS developers,
I have written a function to jump to the currently playing EMMS song but
I have noticed that the callback is not always called when syncing from
MPD. Here is my code:
(defun cae-emms-jump-to-currently-playing-track (&rest args)
(let ((track (emms-track-get
(emms-playlist-current-selected-track) 'name)))
(if (and track args)
(dired-jump nil track)
(message "No song is currently selected.")
(transient-setup 'cae-emms-quick-access))))
;; TODO PR something so that the callback always runs to EMMS even when tracks
is nil.
(defadvice! cae-emms-handle-jump-to-playing-track-a (closure tracks)
:after #'emms-player-mpd-sync-from-mpd-1
(when (and (not tracks)
(eq (cadr closure) #'cae-emms-jump-to-currently-playing-track))
(funcall (cadr closure))))
;;;###autoload (autoload 'cae-emms-quick-access
"cae/misc-applications/autoload/emms" nil t)
(transient-define-prefix cae-emms-quick-access ()
"Jump to EMMS music directories."
["Quick Access"
[("v" "VGM"
(lambda () (interactive)
(require 'emms)
(dired (expand-file-name "VGM" cae-misc-applications-music-dir))))
("y" "Youtube Music"
(lambda () (interactive)
(require 'emms)
(dired (expand-file-name "Youtube Music"
cae-misc-applications-music-dir))))
("p" "Playlists"
(lambda () (interactive)
(require 'emms)
(dired (expand-file-name "Playlists" cae-misc-applications-music-dir))))
("a" "Anime Music"
(lambda () (interactive)
(require 'emms)
(dired (expand-file-name "Anime Music"
cae-misc-applications-music-dir))))
("r" "Artists"
(lambda () (interactive)
(require 'emms)
(dired (expand-file-name "Artists" emms-source-file-default-directory))))
("l" "Longplays"
(lambda () (interactive)
(require 'emms)
(dired (expand-file-name "Longplays"
emms-source-file-default-directory))))
("j" "Currently playing"
(lambda () (interactive)
(require 'emms)
(if (executable-find "mpd")
(emms-player-mpd-sync-from-mpd nil
#'cae-emms-jump-to-currently-playing-track)
(funcall #'cae-emms-jump-to-currently-playing-track))))]])
Could we make it so that emms-player-mpd-sync-from-mpd-1 calls the
callback even if tracks is nil? I think this would be a good change.
Sincerely,
StrawberryTea
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- emms-player-mpd-sync-from-mpd does not always call callback,
StrawberryTea <=