summaryrefslogtreecommitdiff
path: root/guix/kolwynia/home/bdunahu/files/.config/emacs/modules/bd--emms.el
diff options
context:
space:
mode:
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.el68
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