Top / emacs / emms

#contents

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

 (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))

* 個人的な設定 [#mb478d4b]

 (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で曲を再生しようとした際のエラーメッセージ [#y37f95a4]

** 症状 [#l6481580]
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

** 対応 [#z6e1b04e]
下記を実行してから,''(emms-add-directory-tree)''などを実行しなおす.
 (emms-cache-disable)

** 備考 [#z2d49977]
下記あたりがあやしいっぽい

   [[file:~/.emacs.d/elisp/emms/emms.el::(defun%20emms-track%20(type%20name)][emms-track]]
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.