;; -*- lexical-binding: t; -*- (defun emms-open-playlist-buffer () "Opens the current playlist in the side window." (interactive) ;; if playlist open, open playlist view. Else, if browser open, open browser view. Else, print failure (cond ((match-buffer-name "*Playlist*") (display-buffer-in-side-window (get-buffer "*Playlist*") '((side . right))) (select-window (get-buffer-window "*Playlist*"))) ((match-buffer-name "Browsing by: artist") (display-buffer-in-side-window (get-buffer "Browsing by: artist") '((side . right))) (select-window (get-buffer-window "Browsing by: artist"))) (t (message "No EMMS buffers open!")))) (defun emms-quickstart () "Queues a shuffled playlist and starts playback." (interactive) (emms-stop) (when (bufferp emms-playlist-buffer-name) (kill-buffer emms-playlist-buffer-name)) (emms-play-directory-tree (expand-file-name "~/Personal/mpd/music/")) (emms-shuffle) (emms-next)) (use-package emms ;; need to load immediately for mode line :bind (("C-z C-m" . 'emms-open-playlist-buffer)) :config (emms-all) (add-to-list 'emms-info-functions 'emms-info-functions 'emms-info-mpd) (add-to-list 'emms-player-list 'emms-player-mpd) ;; refresh database (emms-player-mpd-update-all-reset-cache) :custom ;; make sure mpd is configured similarly (emms-player-mpd-server-name "localhost") (emms-player-mod-server-port "6600") ;; set dir and volume keys (emms-player-mpd-music-directory "/home/bdunahu/Personal/mpd/music/") (emms-source-file-default-directory "/home/bdunahu/Personal/mpd/playlists/") (emms-volume-change-function 'emms-volume-mpd-change) ;; misc (emms-mode-line-format "%s ") (emms-playlist-buffer-name "*Playlist*"))