;; -*- emacs-lisp -*- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; $Id: multimedia.el,v 1.9 2006/03/06 12:07:06 ole Exp $ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (require 'mingus) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; The cool EMMS cvs version ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; (add-to-list 'load-path (expand-file-name "emms/" emacs-packages-dir)) ;; (add-to-list 'Info-default-directory-list (expand-file-name "emms/" emacs-packages-dir)) (require 'emms-setup) (emms-devel) (add-to-list 'emms-info-functions 'emms-info-mpd) (add-to-list 'emms-player-list 'emms-player-mpd) (emms-player-mpd-connect) ;; (emms-setup 'cvs (expand-file-name "~/music")) (setq emms-source-file-default-directory "~/music") ;; (require 'emms-gstreamer) ;; (add-to-list 'exec-path(expand-file-name "emms/" emacs-packages-dir)) (setq ;; emms-play-all-preparation-function 'emms-play-all-shuffle emms-pbi-popup-default-width 60 emms-player-mpg321-parameters '("-q" "--aggressive" "-o" "alsa") emms-player-ogg123-parameters '("-q" "-b" "1024" "-d" "oss")) (define-emms-simple-player modmplayer '(file) (regexp-opt '(".it" ".xm" ".mod" ".ft")) "mplayer") (defun emms-google-for-lyrics () (interactive) (browse-url (concat "http://www.google.com/search?q=" (replace-regexp-in-string " +" "+" (concat "lyrics " (delete ?- (emms-playlist-current))))))) (defvar multimedia-keymap (make-sparse-keymap "Multimedia") "Keymap used to globally access multimedia functions") (define-key mode-specific-map [?m] multimedia-keymap) (define-key multimedia-keymap [?m] 'mingus) (define-key multimedia-keymap [?n] 'emms-next) (define-key multimedia-keymap [?p] 'emms-previous) (define-key multimedia-keymap [?w] 'emms-show) (define-key multimedia-keymap [?s] 'emms-stop) (define-key multimedia-keymap [?b] 'emms-sort) (define-key multimedia-keymap [?B] 'emms-shuffle) (define-key multimedia-keymap [?e] 'emms-tageditor-edit-current) (define-key multimedia-keymap [?A] 'emms-play-all) (define-key multimedia-keymap [?f] 'emms-play-file) (define-key multimedia-keymap [?F] 'emms-play-find) (define-key multimedia-keymap [?d] 'emms-play-directory-tree) (define-key multimedia-keymap [?l] 'emms-playlist-mode-go) (define-key dired-mode-map [?(] 'emms-play-dired) (define-key dired-mode-map [?)] 'emms-add-dired) (defun oa:emms-playlist-mpd () (interactive) (emms-player-mpd-connect) (emms-playlist-mode-go)) (defun oa:emms-player-mpd-mute () (interactive) (emms-player-mpd-send "setvol 0" nil #'ignore)) (define-key multimedia-keymap [?+] 'emms-player-mpd-volume-up) (define-key multimedia-keymap [?-] 'emms-player-mpd-volume-down) (define-key multimedia-keymap [?v] 'amixer-set-volume) (global-set-key [XF86AudioLowerVolume] 'emms-player-mpd-volume-down) (global-set-key [XF86AudioRaiseVolume] 'emms-player-mpd-volume-up) (global-set-key [XF86AudioMute] 'oa:emms-player-mpd-mute) (global-set-key [XF86AudioPlay] 'oa:emms-playlist-mpd) (global-set-key [(shift XF86Reload)] 'emms-play-directory-tree) (global-set-key [XF86Reload] 'oa:emms-playlist-mpd) (global-set-key [XF86Back] 'emms-previous) (global-set-key [XF86Forward] 'emms-next) (global-set-key [XF86Stop] #'(lambda () (interactive) (if emms-player-playing-p (emms-stop) (emms-start)))) (global-set-key [(shift XF86AudioLowerVolume)] 'emms-previous) (global-set-key [(shift XF86AudioRaiseVolume)] 'emms-next) (global-set-key [(shift XF86AudioPause)] #'(lambda () (interactive) (if emms-player-playing-p (emms-stop) (emms-start)))) (global-set-key [XF86Calculator] 'emms-play-directory-tree)