fedora-csb-system-manager
 1;;; config-emms.el --- EMMS configuration to play music from Emacs -*- lexical-binding: t -*-
 2
 3;; Author: Vincent Demeester
 4
 5;; This file is not part of GNU Emacs
 6
 7;; This program is free software: you can redistribute it and/or modify
 8;; it under the terms of the GNU General Public License as published by
 9;; the Free Software Foundation, either version 3 of the License, or
10;; (at your option) any later version.
11
12;; This program is distributed in the hope that it will be useful,
13;; but WITHOUT ANY WARRANTY; without even the implied warranty of
14;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15;; GNU General Public License for more details.
16
17;; You should have received a copy of the GNU General Public License
18;; along with this program.  If not, see <https://www.gnu.org/licenses/>.
19
20;;; Commentary:
21
22;; This configuration is used for controlling playing music from Emacs.
23
24;;; Code:
25
26(use-package emms
27  :custom
28  (emms-player-list '(emms-player-mpv))
29  (emms-source-file-default-directory "~/desktop/music")
30  (emms-player-mpv-parameters '("--quiet" "--really-quiet" "--no-audio-display" "--force-window=no" "--vo=null"))
31  :config
32  (require 'emms-source-file)
33  (require 'emms-source-playlist)
34  (require 'emms-player-simple)
35  (require 'emms-player-mpv)
36  (require 'emms-playlist-mode)
37  (require 'emms-info)
38  (require 'emms-info-mp3info)
39  (require 'emms-info-ogginfo)
40  (require 'emms-info-opusinfo)
41  (require 'emms-info-metaflac)
42  (require 'emms-info-tinytag)
43  (require 'emms-info-exiftool)
44  (require 'emms-info-native)
45  (require 'emms-cache)
46  (require 'emms-mode-line)
47  (require 'emms-mark)
48  (require 'emms-show-all)
49  (require 'emms-streams)
50  (require 'emms-playing-time)
51  (require 'emms-browser)
52  (require 'emms-mode-line-icon)
53  (require 'emms-cue)
54  (require 'emms-bookmarks)
55  (require 'emms-last-played)
56  (require 'emms-metaplaylist-mode)
57  (require 'emms-stream-info)
58  (require 'emms-history)
59  (require 'emms-i18n)
60  (require 'emms-volume)
61  (require 'emms-playlist-limit)
62  (require 'emms-mpris)
63  (require 'emms-idapi-musicbrainz)
64  (require 'emms-idapi-browser)
65  
66  (setq emms-playlist-default-major-mode #'emms-playlist-mode)
67  (add-to-list 'emms-track-initialize-functions #'emms-info-initialize-track)
68  (setq emms-info-functions '(emms-info-native emms-info-cueinfo))
69  (setq emms-track-description-function #'emms-info-track-description)
70  (when (fboundp 'emms-cache)		; work around compiler warning
71    (emms-cache 1))
72  (emms-mode-line-mode 1)
73  (emms-mode-line-blank)
74  (emms-playing-time-mode 1)
75  (add-hook 'emms-player-started-hook #'emms-last-played-update-current))
76
77(provide 'config-emms)
78;;; config-emms.el ends here