aboutsummaryrefslogtreecommitdiff
path: root/emms-playlist-mode.el
diff options
context:
space:
mode:
authorlucas <lucas>2005-09-16 21:21:00 +0000
committerlucas <mwolson@gnu.org>2005-09-16 21:21:00 +0000
commit46f2edc42166eb1a4a840485f410823b9e0c8b72 (patch)
treea7e41826e2c378858aab4fe2fc070343f1e59c49 /emms-playlist-mode.el
parent3e97e2a386e287dc5b7acf37a87aa1b8daaa0af8 (diff)
Adding emms-playlist-mode-save and -open
darcs-hash:20050916212134-4f952-f9c41d8ba7a07b8525e8d627e1d5630def0de19c.gz
Diffstat (limited to 'emms-playlist-mode.el')
-rw-r--r--emms-playlist-mode.el35
1 files changed, 35 insertions, 0 deletions
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
@@ -235,6 +235,41 @@
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
;;; --------------------------------------------------------