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