From 9867a7128473f1df9b718571603028af9c59c135 Mon Sep 17 00:00:00 2001 From: yoni Date: Sat, 16 Feb 2008 11:59:00 +0000 Subject: Added emms-playlist-mode-goto-dired-at-point (with keybinding) to emms-playlist-mode.el. darcs-hash:20080216115915-670cc-d188de0d0a8b74d0f21313f061d89c90e8cde09f.gz --- emms-playlist-mode.el | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/emms-playlist-mode.el b/emms-playlist-mode.el index 1c016b5..f8f5086 100644 --- a/emms-playlist-mode.el +++ b/emms-playlist-mode.el @@ -143,6 +143,7 @@ This is true for every invocation of `emms-playlist-mode-go'." (define-key map (kbd "?") 'describe-mode) (define-key map (kbd "r") 'emms-random) (define-key map (kbd "C") 'emms-playlist-mode-clear) + (define-key map (kbd "D") 'emms-playlist-mode-goto-dired-at-point) (define-key map (kbd "") 'emms-playlist-mode-play-current-track) (define-key map (kbd "RET") 'emms-playlist-mode-play-smart) map) @@ -323,6 +324,18 @@ set it as current." (goto-char (point-min)) (message "Added %s" (symbol-name type))))))) +(defun emms-playlist-mode-goto-dired-at-point () + "Visit the track at point in a `dired' buffer." + (interactive) + (let ((track (emms-playlist-track-at))) + (if track + (let ((name (emms-track-get track 'name)) + (type (emms-track-get track 'type))) + (if (eq type 'file) + (dired (file-name-directory name)) + (error "Can't visit this track type in Dired"))) + (error "No track at point")))) + ;;; -------------------------------------------------------- ;;; Killing and yanking ;;; -------------------------------------------------------- -- cgit v1.2.3