All pastes #1646290 Raw Edit

Someone

public text v1 · immutable
#1646290 ·published 2009-10-28 10:19 UTC
rendered paste body
;; emms

(add-to-list 'load-path "~/.emacs.d/site-lisp/emms/lisp")

(require 'emms-setup)
(require 'emms-info-libtag)
(require 'emms-player-mpg321-remote)
(emms-devel)
(emms-default-players)
(push 'emms-player-mpg321-remote emms-player-list)
(push 'emms-player-mplayer emms-player-list)
(push 'emms-player-mplayer-playlist emms-player-list)

(setq
 emms-info-asynchronously t
 later-do-interval 0.0001
 emms-info-functions '(emms-info-libtag)
 emms-source-file-default-directory "~/.emacs.d/emms/"
 emms-mode-line-format " %s ")
;; emms-show-format "NP: %s")

(global-set-key (kbd "<f1>")    'emms-google-for-lyrics)
(global-set-key (kbd "<f2>") 'emms-smart-browse)
(global-set-key (kbd "<f3>")    'emms-playlist-mode-go)
(global-set-key (kbd "<S-f3>")  'emms-stream-popup)

(define-key emms-playlist-mode-map (kbd "/") 'de-search)
(define-key emms-browser-mode-map (kbd "W W") 'emms-browser-lookup-multi)

(add-hook 'emms-playlist-selection-changed-hook 'de-focus-on-track)
(remove-hook 'emms-player-started-hook 'emms-show)
;;(add-hook 'emms-player-started-hook 'emms-show)

;; let compilation tracks be displayed together
(setq emms-browser-get-track-field-function
      'emms-browser-get-track-field-use-directory-name)


;; recenter based on the current track
(defun de-focus-on-track ()
  (let ((w (get-buffer-window emms-playlist-buffer t)))
    (when w
      (with-selected-window w
        (emms-playlist-mode-center-current)
        (recenter '(4))))))

(defun de-toggle-playing ()
  (interactive)
  (if emms-player-playing-p
      (emms-pause)
    (emms-start)))

(defun de-add-dir ()
  (interactive)
  (call-interactively 'emms-add-directory-tree)
  (emms-playlist-mode-go))

(defun de-search ()
  (interactive)
  (goto-char (point-min))
  (call-interactively 'isearch-forward))

(defun emms-browser-lookup-multi ()
  (interactive)
  (emms-browser-lookup-wikipedia 'info-artist)
  (emms-browser-lookup-wikipedia 'info-album)
  (emms-browser-lookup-pitchfork 'info-artist))

(defun emms-google-for-lyrics ()
  (interactive)
  (browse-url
   (concat "http://www.google.com/search?q="
           (replace-regexp-in-string " +" "+"
                                     (concat "lyrics "
                                             (delete ?- (emms-track-description
                             (emms-playlist-current-selected-track))))))))