Top / emacs / emms

dired-rangerで選択したファイルをemmsのプレイリストに流し込む

(let*
  ((data  (ring-ref dired-ranger-copy-ring 0))
   (files (cdr data)))

  (emms-cache-disable)

  (--each files (when (file-exists-p it)
                  (unless (file-directory-p it)
                    (message it)
                    (emms-add-file it))))
  (ring-remove dired-ranger-copy-ring 0))

個人的な設定

(add-to-load-path "~/.emacs.d/elisp/emms")
(add-to-list 'exec-path (expand-file-name "~/.emacs.d/elisp/emms"))

(require 'emms-setup)
(require 'emms-browser)
(emms-all)
(emms-default-players)
(setq emms-source-file-default-directory "/mnt/storage/media/music/")
(require 'emms-info-libtag)
(setq emms-info-functions '(emms-info-libtag))

(define-key emms-playlist-mode-map "\C-p" 'scroll-down)
(define-key emms-playlist-mode-map "\C-n" 'scroll-up)
(define-key emms-playlist-mode-map "\M-p" 'scroll-up-in-place)
(define-key emms-playlist-mode-map "\M-n" 'scroll-down-in-place)

(set-face-attribute
 'emms-playlist-selected-face nil
 :inverse-video nil
 :foreground    "yellow")

;; プレイリストの表示フォーマット
;; タグに曲名が設定されている場合は,次のフォーマットを表示
;;   <アルバム名>:<トラック番号>:<曲名>
;; それ以外の場合はファイル名を表示
(defun emms-track-my-description (track)
  (let ((type (emms-track-type track)))
    (cond ((eq 'file type)
           (if (emms-track-get track 'info-title)
               (progn
                 (concat
                  (emms-track-get track 'info-album)
                  ":"
                  (format "%02d"
                          (string-to-number
                           (emms-track-get track 'info-tracknumber)))
                  ":"
                  (emms-track-get track 'info-title)))
             (emms-track-get track 'name)))
          ((eq 'url type)
           (emms-format-url-track-name (emms-track-name track)))
          (t (concat (symbol-name type)
                     ": " (emms-track-name track))))))
(setq emms-track-description-function 'emms-track-my-description)

(require 'emms-mark)
;; (setq emms-playlist-default-major-mode 'emms-mark-mode)

;; ALSAのデバイス番号に,"1"を指定する
(custom-set-variables
 '(emms-player-ogg123-parameters
   (list "-d" "alsa" "-o" "dev:hw:1")))

emmsで曲を再生しようとした際のエラーメッセージ

症状

emmsで曲を再生しようとCtrl+mキーを押下した際に 以下のようなメッセージが表示される.

if: Don't know how to play track: (*track* (type . playlist) (name . "/path/to/file.flac") (metadata))

プレイリストをよく見ると,下記のように冒頭にplaylist:と表示されてる. どうもファイルがplaylistとして認識されてるっぽい.

playlist: /path/to/file.flac

対応

下記を実行してから,(emms-add-directory-tree)などを実行しなおす.

(emms-cache-disable)

備考

下記あたりがあやしいっぽい

  [[file:~/.emacs.d/elisp/emms/emms.el::(defun%20emms-track%20(type%20name)][emms-track]]
Link: MenuBar(124d) ,
Site admin: kam1610, PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-ji. Powered by PHP 5.2.17.