Update.
[elisp.git] / media.el
index b7b1a4e..c9d640d 100644 (file)
--- a/media.el
+++ b/media.el
@@ -53,7 +53,7 @@
 
 (defgroup media ()
   "Major mode to control media players"
 
 (defgroup media ()
   "Major mode to control media players"
-  :version "1.2.1")
+  :version "1.2.2")
 
 (defcustom media/player-api "media-mplayer"
   "The file to load for the abstract layer with the media player."
 
 (defcustom media/player-api "media-mplayer"
   "The file to load for the abstract layer with the media player."
@@ -103,8 +103,13 @@ title to display in the list (convenient for internet radios)."
   :type 'boolean
   :group 'media)
 
   :type 'boolean
   :group 'media)
 
+(defcustom media/continue-mode-hint "*"
+  "What to append to the MPlayer string when in repeat mode"
+  :type 'string
+  :group 'media)
+
 (defcustom media/expert nil
 (defcustom media/expert nil
-  "Should the keymap help be shown?"
+  "Should we bypass the keymap help when starting"
   :type 'boolean
   :group 'media)
 
   :type 'boolean
   :group 'media)
 
@@ -620,9 +625,11 @@ returns nil if no id3 tags could be found."
                  (title (or (and (consp c) (cdr c)) url)))
             (if (string-match "^\\(http\\|mms\\)://" url)
                 (media/insert-url (cons url title) 0)
                  (title (or (and (consp c) (cdr c)) url)))
             (if (string-match "^\\(http\\|mms\\)://" url)
                 (media/insert-url (cons url title) 0)
-              (if (file-regular-p url) (media/insert-file url 0)
-                (if (file-directory-p url) (media/insert-dir url 0)
-                  (error "Unknown type `%s'" url))))))
+              (if (file-exists-p url)
+                  (if (file-regular-p url) (media/insert-file url 0)
+                    (if (file-directory-p url) (media/insert-dir url 0)
+                      (error "Unknown type `%s'" url))))
+              )))
         list))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
         list))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -659,8 +666,7 @@ returns nil if no id3 tags could be found."
               (push (cons url (cons title time)) (cdr (assoc playlist list)))
               )))))
 
               (push (cons url (cons title time)) (cdr (assoc playlist list)))
               )))))
 
-    (save-excursion
-      (set-buffer (find-file-noselect media/playlist-file))
+    (with-current-buffer (find-file-noselect media/playlist-file)
       (erase-buffer)
       (mapc (lambda (x)
               (insert "PLAYLIST:" (car x) "\n")
       (erase-buffer)
       (mapc (lambda (x)
               (insert "PLAYLIST:" (car x) "\n")
@@ -730,7 +736,8 @@ returns nil if no id3 tags could be found."
             (propertize "\n" 'playlist name)
             )
     (setq media/active-playlist name)
             (propertize "\n" 'playlist name)
             )
     (setq media/active-playlist name)
-    (message "Playlist `%s' created" name)))
+    ;; (message "Playlist `%s' created" name)
+    ))
 
 (defun media/playlist-position (name)
   "Returns the position where the given playlist starts."
 
 (defun media/playlist-position (name)
   "Returns the position where the given playlist starts."
@@ -914,7 +921,7 @@ which stops when the songs ends."
    (concat
     " "
     media/player-id
    (concat
     " "
     media/player-id
-    (if media/continue-mode "*")
+    (if media/continue-mode media/continue-mode-hint)
     " "
 
     (if media/current-information
     " "
 
     (if media/current-information