;;; -*- lexical-binding: t; -*- ;;; Commentary: ;;; Code: (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/music/")) (emms-shuffle)) (use-package emms :bind (("C-z C-s" . 'emms-quickstart) ("C-z C-p" . 'emms-play-playlist)) :config (emms-all) (require 'emms-player-mpd) (add-to-list 'emms-info-functions 'emms-info-mpd) (add-to-list 'emms-player-list 'emms-player-mpd) (keymap-global-set "C-z C-m" (lambda () (interactive) (if (get-buffer emms-playlist-buffer-name) (display-buffer emms-playlist-buffer-name) (message "The Ainur cannot hear you...")))) (emms-playing-time-disable-display) (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)))))) ;; "emms-playlist-mode-bury-buffer" plays poorly with shackle (keymap-set emms-playlist-mode-map "q" #'quit-window) :custom ;; make sure mpd is configured similarly (emms-player-mpd-server-name "localhost") (emms-player-mpd-server-port "6600") ;; set dir and volume keys (emms-player-mpd-music-directory (expand-file-name "~/ik/music/")) (emms-source-file-default-directory (expand-file-name "~/ik/playlists/")) (emms-volume-change-function 'emms-volume-mpd-change) ;; misc (emms-info-report-each-num-tracks 2000) (emms-playlist-buffer-name "*Playlist*") (emms-mode-line-format " %s ")) (provide 'bd--emms) ;;; bd-emms ends here