emms-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emms-patches] darcs patch: emms-player-mpd: When showing the curren...


From: Michael Olson
Subject: [Emms-patches] darcs patch: emms-player-mpd: When showing the curren... (and 3 more)
Date: Wed, 24 May 2006 23:33:38 -0400

Wed May 24 22:07:03 EDT 2006  Michael Olson <address@hidden>
  * emms-player-mpd: When showing the currently-playing song, prepend the name 
of the radio station, if it exists.

Wed May 24 22:07:46 EDT 2006  Michael Olson <address@hidden>
  * emms-playlist-mode: Make "d" kill the entire line.  This seems to be a good 
compromise of those who use C-k and those who want more standard object-killing 
behavior.

Wed May 24 22:08:10 EDT 2006  Michael Olson <address@hidden>
  * emms-player-mpd: Use more robust method of detecting whether we need to 
force-feed MusicPD our playlist.

Wed May 24 23:31:20 EDT 2006  Michael Olson <address@hidden>
  * emms-player-mpd: Make seek work correctly.
New patches:

[emms-player-mpd: When showing the currently-playing song, prepend the name of 
the radio station, if it exists.
Michael Olson <address@hidden>**20060525020703] {
hunk ./emms-player-mpd.el 946
-         (track (emms-dictionary '*track*))
hunk ./emms-player-mpd.el 949
-         (name (cdr (assoc "name" info)))
+         (name (cdr (assoc "name" info))) ; radio feeds sometimes set this
+         (file (cdr (assoc "file" info)))
hunk ./emms-player-mpd.el 953
-      (if name
-          (setq desc name)
-        (emms-track-set track 'type 'file)
-        (emms-track-set track 'name (cdr (assoc "file" info)))
-        (emms-info-mpd track info)
-        (setq desc (emms-track-description track))))
+      (when name
+        (setq desc name))
+      (when file
+        (let ((track (emms-dictionary '*track*)))
+          (emms-track-set track 'type 'file)
+          (emms-track-set track 'name file)
+          (emms-info-mpd track info)
+          (if name
+              (setq desc (concat name ": " (emms-track-description track)))
+            (setq desc (emms-track-description track))))))
}

[emms-playlist-mode: Make "d" kill the entire line.  This seems to be a good 
compromise of those who use C-k and those who want more standard object-killing 
behavior.
Michael Olson <address@hidden>**20060525020746] {
hunk ./emms-playlist-mode.el 121
-    (define-key map (kbd "d") 'emms-playlist-mode-kill-track)
+    (define-key map (kbd "d") 'emms-playlist-mode-kill-entire-track)
hunk ./emms-playlist-mode.el 281
+;; d
+(defun emms-playlist-mode-kill-entire-track ()
+  "Kill track at point, including newline."
+  (interactive)
+  (let ((kill-whole-line t))
+    (emms-playlist-mode-kill-track)))
+
}

[emms-player-mpd: Use more robust method of detecting whether we need to 
force-feed MusicPD our playlist.
Michael Olson <address@hidden>**20060525020810] {
hunk ./emms-player-mpd.el 310
+(make-variable-buffer-local 'emms-player-mpd-playlist-id)
+
hunk ./emms-player-mpd.el 595
+          (set-buffer-modified-p nil)
hunk ./emms-player-mpd.el 824
+        (set-buffer-modified-p nil)
hunk ./emms-player-mpd.el 836
-     (if (and (stringp emms-player-mpd-playlist-id)
-              (string= emms-player-mpd-playlist-id id))
-         (emms-player-mpd-start-and-sync-1 emms-playlist-buffer id)
-       (emms-player-mpd-sync-from-emms
-        #'emms-player-mpd-start-and-sync-1)))))
+     (let ((buf-id (with-current-emms-playlist emms-player-mpd-playlist-id)))
+       (if (and (not (buffer-modified-p emms-playlist-buffer))
+                (stringp buf-id)
+                (string= buf-id id))
+           (emms-player-mpd-start-and-sync-1 emms-playlist-buffer id)
+         (emms-player-mpd-sync-from-emms
+          #'emms-player-mpd-start-and-sync-1))))))
hunk ./emms-player-mpd.el 890
-    (setq emms-player-mpd-playlist-id nil)
}

[emms-player-mpd: Make seek work correctly.
Michael Olson <address@hidden>**20060525033120] {
hunk ./emms-player-mpd.el 908
-(defun emms-player-mpd-seek (sec)
-  "Seek backward or forward by SEC seconds, depending on sign of SEC."
+(defun emms-player-mpd-seek (amount)
+  "Seek backward or forward by AMOUNT seconds, depending on sign of AMOUNT."
hunk ./emms-player-mpd.el 911
-  (emms-player-mpd-send (format "seek %s%d"
-                                (if (> sec 0) "+" "")
-                                sec)
-                        nil #'ignore))
+  (emms-player-mpd-get-status
+   amount
+   (lambda (amount info)
+     (let ((song (emms-player-mpd-get-current-song nil #'ignore info))
+           (secs (emms-player-mpd-get-playing-time nil #'ignore info)))
+       (when (and song secs)
+         (emms-player-mpd-send
+          (concat "seek " song " " (number-to-string (+ secs amount)))
+          nil #'ignore))))))
}

Context:

[emms-player-mpd: Fix bug that caused unconditional reloading of the entire 
MusicPD playlist whenever the track was changed manually.
Michael Olson <address@hidden>**20060524061655] 
[emms-player-mpd: Overhaul for streamlist support, and fix a few miscellaneous 
issues.
Michael Olson <address@hidden>**20060524055707] 
[emms-player-mpd: Add a few checks to make sure that the given buffer exists 
before trying to do anything with it.
Michael Olson <address@hidden>**20060517035419] 
[emms-source-playlist: Do not expand names of files in playlists, as this can 
cause problems with emms-player-mpd in some configurations.
Michael Olson <address@hidden>**20060516081257] 
[emms-playlist-mode: Implement the option (disabled by default) of opening a 
new EMMS buffer for a playlist, when hitting RET on one.
Michael Olson <address@hidden>**20060510040730] 
[emms-playlist-mode.el: Don't put a period after the mode map. This hangs 21.4 
on display.
address@hidden 
[TAG 2.0
address@hidden 
Patch bundle hash:
0707d7e58e869b01be10ee4f9bbfeb94ed9e2e54

reply via email to

[Prev in Thread] Current Thread [Next in Thread]