diff options
Diffstat (limited to 'guix/kolwynia/home/bdunahu/files/.config/emacs/modules/bd--emms.el')
| -rw-r--r-- | guix/kolwynia/home/bdunahu/files/.config/emacs/modules/bd--emms.el | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/guix/kolwynia/home/bdunahu/files/.config/emacs/modules/bd--emms.el b/guix/kolwynia/home/bdunahu/files/.config/emacs/modules/bd--emms.el new file mode 100644 index 0000000..f4e5064 --- /dev/null +++ b/guix/kolwynia/home/bdunahu/files/.config/emacs/modules/bd--emms.el @@ -0,0 +1,68 @@ +;;; -*- lexical-binding: t; -*- +;;; Commentary: +;;; Code: + + +(use-package emms + :bind (("C-z C-s" . #'emms-quickstart) + ("C-z C-m" . #'switch-to-emms) + :map emms-playlist-mode-map + ("q" . #'quit-window)) + :config + (emms-all) + + (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 "~/ik/")) + (emms-shuffle)) + (defun switch-to-emms () + (interactive) + + (if (get-buffer emms-playlist-buffer-name) + (emms-playlist-mode-go) + (message "The Ainur cannot hear you..."))) + + (add-to-list 'emms-player-list 'emms-player-mpv) + (emms-playing-time-disable-display) + (setq-default emms-playlist-default-major-mode 'emms-playlist-mode + + emms-player-list '(emms-player-mpv) + emms-player-mpv-environment '("PULSE_PROP_media.role=music") + emms-player-mpv-parameters '("--quiet" "--really-quiet" "--no-audio-display" "--force-window=no" "--vo=null")) + (setopt + emms-track-description-function + '(lambda (track) + (let ((artist (emms-track-get track 'info-artist)) + (title (emms-track-get track 'info-title))) + (cond + ((and artist title) + (concat artist " - " title)) + (title + title) + (t + (emms-track-simple-description track)))))) + (setopt emms-source-file-default-directory (expand-file-name "~/ik/playlists/") + emms-info-report-each-num-tracks 2000 + emms-playlist-buffer-name "*Playlist*" + emms-mode-line-icon-enabled-p nil + emms-mode-line-length-limit 35 + emms-mode-line-format " [%s] " + emms-repeat-playlist t + emms-info-functions '(emms-info-native + emms-info-exiftool)) + (add-to-list 'display-buffer-alist + '((major-mode . emms-playlist-mode) + (display-buffer-in-side-window) + (side . left) + (slot . 0) + (width . 0.2) + (post-command-select-window t)))) + + +(provide 'bd--emms) +;;; bd--emms.el ends here |
