summaryrefslogtreecommitdiff
path: root/.config/emacs/bd-emms.el
diff options
context:
space:
mode:
Diffstat (limited to '.config/emacs/bd-emms.el')
-rw-r--r--.config/emacs/bd-emms.el46
1 files changed, 46 insertions, 0 deletions
diff --git a/.config/emacs/bd-emms.el b/.config/emacs/bd-emms.el
new file mode 100644
index 0000000..cf39f94
--- /dev/null
+++ b/.config/emacs/bd-emms.el
@@ -0,0 +1,46 @@
+;; -*- 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*"))