From 46f2edc42166eb1a4a840485f410823b9e0c8b72 Mon Sep 17 00:00:00 2001 From: lucas Date: Fri, 16 Sep 2005 21:21:00 +0000 Subject: Adding emms-playlist-mode-save and -open darcs-hash:20050916212134-4f952-f9c41d8ba7a07b8525e8d627e1d5630def0de19c.gz --- emms-playlist-mode.el | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/emms-playlist-mode.el b/emms-playlist-mode.el index 8d9f2d6..ec91230 100644 --- a/emms-playlist-mode.el +++ b/emms-playlist-mode.el @@ -234,6 +234,41 @@ (buffer-list)) lis)) +;;; -------------------------------------------------------- +;;; Saving/Restoring +;;; -------------------------------------------------------- + +(defun emms-playlist-mode-save-buffer (buffer filename) + "Saves a playlist buffer in a file, including annotations." + (interactive "bPlaylist buffer to save: \nFFile to save buffer as: ") + (with-current-buffer (find-file-noselect filename) + (erase-buffer) + (prin1 (with-current-buffer buffer + (buffer-string)) + (current-buffer)) + (save-buffer) + (kill-buffer (current-buffer)))) + +(defun emms-playlist-mode-open-buffer (filename) + "Opens a previously saved playlist buffer. + +It creates a buffer called \"filename\", and restore the contents +of the saved playlist inside." + (interactive "fFile: ") + (let* ((s) + (buffer (find-file-noselect filename)) + (name (buffer-name buffer))) + (with-current-buffer buffer + (setq s (read (buffer-string)))) + (kill-buffer buffer) + (with-current-buffer (get-buffer-create name) + (insert s)))) + +(defun emms-playlist-mode-save-active-buffer (filename) + "Saves the active playlist buffer to a file." + (interactive "FFile to save playlist buffer as: ") + (emms-playlist-mode-save-buffer emms-playlist-buffer filename)) + ;;; -------------------------------------------------------- ;;; Entry ;;; -------------------------------------------------------- -- cgit v1.2.3