aboutsummaryrefslogtreecommitdiff
path: root/bard-emacs-modules/bard-emacs-emms.el
blob: fdc17829c38a25fc632f28c51bd3dc0d4edaff1a (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
41
42
43
44
45
46
47
48
49
50
51
;; |------------------------------------|
;; |             EMMS                   |
;; |------------------------------------|

;; (require 'emms)
;; (require 'emms-setup)
;; (require 'emms-mpris)
;; (require 'emms-mode-line-icon)

(use-package emms
  :ensure t
  ;; :demand t
  :bind
  (:map emms-playlist-mode-map
        ("A" . emms-add-directory)
        ("T" . emms-add-directory-tree)
        ("F" . emms-add-file)
        ("U" . emms-add-url)
        ("L" . emms-toggle-repeat-track)
        ("<mouse-3>" . emms-pause)
        ("<SPC>" . emms-pause)
        ("c" . bard/emms-recenter)
        ("P" . emms-playlist-mode-shift-track-up)
        ("N" . emms-playlist-mode-shift-track-down))
  :bind (("<f8>" . emms)
         ("M-<f8>" . emms-browser))
  :hook
  (emms-playlist-mode . hl-line-mode)
  :config
  (emms-all)
  (emms-default-players)
  (emms-mpris-enable)
  (setq emms-player-list '(emms-player-mpv))
  ;; emms-info-functions '(emms-info-native)

  ;; (setq emms-browser-covers 'emms-browser-cache-thumbnail)

  (setq emms-volume-amixer-card 0)

  ;; center line function
  (defun bard/emms-recenter ()
    (interactive)
    (recenter-top-bottom)
    (emms-playlist-mode-center-current))

  ;; modeline
  (emms-mode-line-disable)
  (emms-playing-time-disable-display)
  )

(provide 'bard-emacs-emms)