From 3b340f3c204e9cec0a69d10f6d22297ee6db1038 Mon Sep 17 00:00:00 2001 From: lucas Date: Fri, 16 Sep 2005 00:42:00 +0000 Subject: Adding emms-playlist-save and -active-save Opening will come soon. darcs-hash:20050916004252-4f952-6ddd886a8bb95591ecdb5bd801cafadca0d9ad64.gz --- emms.el | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'emms.el') diff --git a/emms.el b/emms.el index bf0189c..ea8bfb9 100644 --- a/emms.el +++ b/emms.el @@ -448,6 +448,34 @@ If no playlist exists, a new one is generated." ,@body))) (put 'with-current-emms-playlist 'lisp-indent-function 0) +;;; Saving playlists. + +(defun emms-playlist-save (playlist filename) + "Save a playlist" + (interactive "bPlaylist buffer name : +FFile to save playlist as: ") + (let ((tracklist '()) + (buffer (find-file-noselect filename))) + (condition-case nil + (with-current-buffer playlist + (save-excursion + (emms-playlist-first) + (while (emms-playlist-track-at) + (add-to-list 'tracklist (emms-playlist-track-at) t) + (emms-playlist-next)))) + (error "")) + ;; tracklist complete, let's write it ! + (set-buffer buffer) + (erase-buffer) + (prin1 tracklist buffer) + (insert "\n") + (save-buffer) + (kill-buffer buffer))) + +(defun emms-playlist-save-active (filename) + (interactive "FFile to save playlist as: ") + (emms-save-playlist emms-playlist-buffer filename)) + ;;; Point movement within the playlist buffer. (defun emms-playlist-track-at (&optional pos) -- cgit v1.2.3