summaryrefslogtreecommitdiff
path: root/.config/emacs/bd-emms.el
blob: 24c0d25d4615be5ff1df9cefb0dffc5e71e25e03 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
;; -*- lexical-binding: t; -*-

(defun emms-open-playlist-buffer ()
  "Opens the current playlist in the right
side window."
  (interactive)
  (if (get-buffer emms-playlist-buffer-name)
      (progn (display-buffer-in-side-window (get-buffer emms-playlist-buffer-name) '((side . right)))
             (select-window (get-buffer-window emms-playlist-buffer-name)))
    (message "The Ainur cannot hear you...")))

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

(use-package emms
  :bind (("C-c C-m" . 'emms-open-playlist-buffer)
         ("C-c C-p" . 'emms-play-playlist)
         ("C-c C-s" . 'emms-quickstart))
  :config
  (emms-all)
  (add-to-list 'emms-info-functions 'emms-info-functions 'emms-info-mpd)
  (add-to-list 'emms-player-list 'emms-player-mpd)
  :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*"))