From 59a1f58695d09ab29ddf992b2c0711c94a4039ea Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Tue, 3 Jan 2023 23:03:03 -0600 Subject: Switch to use-package --- lisp/+emms.el | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 lisp/+emms.el (limited to 'lisp/+emms.el') diff --git a/lisp/+emms.el b/lisp/+emms.el new file mode 100644 index 0000000..a43daea --- /dev/null +++ b/lisp/+emms.el @@ -0,0 +1,38 @@ +;;; +emms.el -*- lexical-binding: t; -*- + +(defun +emms-streams (&optional file) + "Better interface for `emms-streams'. +If FILE is non-nil, use it. Otherwise use `emms-streams-file'. +If `emms-streams-file' is nil or this function is called with +\\[universal-argument], prompt the user." + (interactive + (list (cond + ((or emms-streams-file + (not current-prefix-arg)) + emms-streams-file) + (:else (read-file-name "Stream file: " + emms-source-file-default-directory))))) + (when (and (not (file-exists-p emms-streams-file)) + (y-or-n-p "Emms' bulit-in streams file hasn't been installed yet. Install it now?")) + (emms-streams-install)) + (let ((buf (get-buffer emms-streams-buffer-name))) + (when (not buf) + (with-current-buffer (get-buffer-create emms-streams-buffer-name) + (setq buf (current-buffer)) + (emms-playlist-mode) + (setq emms-playlist-buffer-p t) + (emms-playlist-set-playlist-buffer (current-buffer)) + (with-current-buffer (find-file-noselect emms-streams-file) + (cond + ((emms-source-playlist-native-p) + (emms-add-native-playlist emms-streams-file)) + ((emms-source-playlist-m3u-p) + (emms-add-m3u-playlist emms-streams-file)) + ((emms-source-playlist-pls-p) + (emms-add-pls-playlist emms-streams-file)) + (:else (error "Streams file `%s' isn't in a known format." + emms-streams-file)))))) + (switch-to-buffer buf))) + +(provide '+emms) +;;; +emms.el ends here -- cgit 1.4.1-21-gabe81