emms-patches
[Top][All Lists]
Advanced

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

[Emms-patches] darcs patch: Remove emms-volume-mpd-raise/lower, make...


From: Michael Olson
Subject: [Emms-patches] darcs patch: Remove emms-volume-mpd-raise/lower, make... (and 7 more)
Date: Thu, 04 Jan 2007 23:28:11 -0500

Thu Jan  4 19:08:20 EST 2007  Michael Olson <address@hidden>
  * Remove emms-volume-mpd-raise/lower, make chapter in manual for 
emms-volume.el

Thu Jan  4 19:09:42 EST 2007  Michael Olson <address@hidden>
  * emms-streams: Try to reconnect to station if briefly disconnected

Thu Jan  4 22:22:47 EST 2007  Michael Olson <address@hidden>
  * emms-compat: New file that contains compatibility functions for emms; this 
make emms.el a bit cleaner-looking

Thu Jan  4 22:40:35 EST 2007  Michael Olson <address@hidden>
  * emms-url: New file containing the url.el interaction routines from 
emms-lastfm.el.  I plan to use these in other parts of EMMS as well.

Thu Jan  4 22:52:33 EST 2007  Michael Olson <address@hidden>
  * emms-player-mpd: Use functions in emms-url.el

Thu Jan  4 22:53:42 EST 2007  Michael Olson <address@hidden>
  * emms-lastfm: Use emms-url.el, fix compiler warnings, and be kind to the 
namespace

Thu Jan  4 23:02:31 EST 2007  Michael Olson <address@hidden>
  * emms-playlist-sort: Add compile-time dependency on cl.el to avoid a warning

Thu Jan  4 23:27:01 EST 2007  Michael Olson <address@hidden>
  * Make jack.el use emms-compat.el rather than cl.el, and tidy up 
emms-compat.el
New patches:

[Remove emms-volume-mpd-raise/lower, make chapter in manual for emms-volume.el
Michael Olson <address@hidden>**20070105000820] {
hunk ./emms-player-mpd.el 79
-;; (setq emms-volume-lower-function 'emms-volume-mpd-lower
-;;       emms-volume-raise-function 'emms-volume-mpd-raise)
+;; (setq emms-volume-change-function 'emms-volume-mpd-change)
hunk ./emms-player-mpd.el 191
-(defcustom emms-player-mpd-volume-change-amount 5
-  "The amount to use when raising or lowering the volume using the
-emms-volume interface.
-
-This should be a positive integer."
-  :type 'integer
-  :group 'emms-player-mpd)
-
hunk ./emms-player-mpd.el 985
-(defun emms-volume-mpd-raise ()
-  "Increase the volume."
-  (interactive)
-  (emms-volume-mpd-change emms-player-mpd-volume-change-amount))
-
-(defun emms-volume-mpd-lower ()
-  "Decrease the volume."
-  (interactive)
-  (emms-volume-mpd-change (- 0 emms-player-mpd-volume-change-amount)))
-
hunk ./emms.texinfo 74
+* Volume::              Changing the volume
hunk ./emms.texinfo 1676
-(setq emms-volume-lower-function 'emms-volume-mpd-lower
-      emms-volume-raise-function 'emms-volume-mpd-raise)
+(require 'emms-volume)
+(setq emms-volume-change-function 'emms-volume-mpd-change)
hunk ./emms.texinfo 1680
address@hidden emms-player-mpd-volume-change-amount
-The amount to use when raising or lowering the volume using the
-emms-volume interface.
-
-This should be a positive integer.
address@hidden defopt
-
address@hidden emms-volume-mpd-change amount
-Change volume up or down by AMOUNT, depending on whether it is
-positive or negative.
address@hidden defun
-
address@hidden emms-volume-mpd-raise
-Increase the volume.
address@hidden defun
-
address@hidden emms-volume-mpd-lower
-Decrease the volume.
address@hidden defun
-
hunk ./emms.texinfo 1752
+
+
+
address@hidden Volume
address@hidden volume
+
address@hidden volume
+
+We can use the `emms-volume' package, as provided by the
address@hidden file, to manipulate the volume.
+
address@hidden emms-volume-change-amount
+The amount to use when raising or lowering the volume using the
+emms-volume interface.
+
+This should be a positive integer.
address@hidden defopt
+
address@hidden emms-volume-raise
+Increase the volume.
address@hidden defun
+
address@hidden emms-volume-lower
+Decrease the volume.
address@hidden defun
}

[emms-streams: Try to reconnect to station if briefly disconnected
Michael Olson <address@hidden>**20070105000942] {
hunk ./emms-streams.el 203
-          (emms-playlist-set-playlist-buffer (emms-playlist-new)))))
+          (emms-playlist-set-playlist-buffer (emms-playlist-new)))
+    (with-current-buffer emms-stream-playlist-buffer
+      ;; make sure that we continue to play the station, even if
+      ;; briefly disconnected
+      (set (make-local-variable 'emms-repeat-playlist) t))))
}

[emms-compat: New file that contains compatibility functions for emms; this 
make emms.el a bit cleaner-looking
Michael Olson <address@hidden>**20070105032247] {
addfile ./emms-compat.el
hunk ./emms-compat.el 1
+;;; emms-compat.el --- Compatibility routines for EMMS
+
+;; Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
+
+;; Author: Michael Olson <address@hidden>
+
+;; This file is part of EMMS.
+
+;; EMMS is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+;;
+;; EMMS is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with EMMS; see the file COPYING.  If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Commentary:
+
+;; These are functions and macros that EMMS needs in order to be
+;; compatible with various Emacs and XEmacs versions.
+
+;;; Code:
+
+(defun emms-propertize (string &rest properties)
+  (if (fboundp 'propertize)
+      (apply #'propertize string properties)
+    (set-text-properties 0 (length string) properties string)
+    string))
+
+(defun emms-cancel-timer (timer)
+  "Cancel the given TIMER."
+  (when timer
+    (cond ((fboundp 'cancel-timer)
+           (cancel-timer timer))
+          ((fboundp 'delete-itimer)
+           (delete-itimer timer)))))
+
+(defun emms-time-less-p (t1 t2)
+  "Say whether time T1 is less than time T2."
+  (or (< (car t1) (car t2))
+      (and (= (car t1) (car t2))
+           (< (nth 1 t1) (nth 1 t2)))))
+
+(defun emms-replace-regexp-in-string (regexp replacement text
+                                      &optional fixedcase literal)
+  "Replace REGEXP with REPLACEMENT in TEXT.
+If fourth arg FIXEDCASE is non-nil, do not alter case of replacement text.
+If fifth arg LITERAL is non-nil, insert REPLACEMENT literally."
+  (cond
+   ((fboundp 'replace-regexp-in-string)
+    (replace-regexp-in-string regexp replacement text fixedcase literal))
+   ((fboundp 'replace-in-string)
+    (replace-in-string text regexp replacement literal))
+   (t (let ((repl-len (length replacement))
+            start)
+        (save-match-data
+          (while (setq start (string-match regexp text start))
+            (setq start (+ start repl-len)
+                  text (replace-match replacement fixedcase literal text)))))
+      text)))
+
+(defun emms-line-number-at-pos (&optional pos)
+  "Return (narrowed) buffer line number at position POS.
+If POS is nil, use current buffer location."
+  (if (fboundp 'line-number-at-pos)
+      (line-number-at-pos pos)
+    (let ((opoint (or pos (point))) start)
+      (save-excursion
+        (goto-char (point-min))
+        (setq start (point))
+        (goto-char opoint)
+        (forward-line 0)
+        (1+ (count-lines start (point)))))))
+
+(defun emms-match-string-no-properties (num &optional string)
+  (if (fboundp 'match-string-no-properties)
+      (match-string-no-properties num string)
+    (match-string num string)))
+
+(defun emms-delete-if (predicate seq)
+  "Remove all items satisfying PREDICATE in SEQ.
+This is a destructive function: it reuses the storage of SEQ
+whenever possible."
+  ;; remove from car
+  (while (when (funcall predicate (car seq))
+           (setq seq (cdr seq))))
+  ;; remove from cdr
+  (let ((ptr seq)
+        (next (cdr seq)))
+    (while next
+      (when (funcall predicate (car next))
+        (setcdr ptr (if (consp next)
+                        (cdr next)
+                      nil)))
+      (setq ptr (cdr ptr))
+      (setq next (cdr ptr))))
+  seq)
+
+(defun emms-move-beginning-of-line (arg)
+  "Move point to beginning of current line as displayed.
+If there's an image in the line, this disregards newlines
+which are part of the text that the image rests on."
+  (if (fboundp 'move-beginning-of-line)
+      (move-beginning-of-line arg)
+    (if (numberp arg)
+        (forward-line (1- arg))
+      (forward-line 0))))
+
+(provide 'emms-compat)
+;;; emms-compat.el ends here
hunk ./emms.el 463
-(defun emms-propertize (string &rest properties)
-  (if (fboundp 'propertize)
-      (apply #'propertize string properties)
-    (set-text-properties 0 (length string) properties string)
-    string))
-
-(defun emms-cancel-timer (timer)
-  "Cancel the given TIMER."
-  (when timer
-    (cond ((fboundp 'cancel-timer)
-           (cancel-timer timer))
-          ((fboundp 'delete-itimer)
-           (delete-itimer timer)))))
-
-(defun emms-time-less-p (t1 t2)
-  "Say whether time T1 is less than time T2."
-  (or (< (car t1) (car t2))
-      (and (= (car t1) (car t2))
-           (< (nth 1 t1) (nth 1 t2)))))
-
-(defun emms-replace-regexp-in-string (regexp replacement text &optional 
fixedcase literal)
-  "Replace REGEXP with REPLACEMENT in TEXT.
-If fourth arg FIXEDCASE is non-nil, do not alter case of replacement text.
-If fifth arg LITERAL is non-nil, insert REPLACEMENT literally."
-  (cond
-   ((fboundp 'replace-regexp-in-string)
-    (replace-regexp-in-string regexp replacement text fixedcase literal))
-   ((fboundp 'replace-in-string)
-    (replace-in-string text regexp replacement literal))
-   (t (let ((repl-len (length replacement))
-            start)
-        (save-match-data
-          (while (setq start (string-match regexp text start))
-            (setq start (+ start repl-len)
-                  text (replace-match replacement fixedcase literal text)))))
-      text)))
-
-(defun emms-line-number-at-pos (&optional pos)
-  "Return (narrowed) buffer line number at position POS.
-If POS is nil, use current buffer location."
-  (if (fboundp 'line-number-at-pos)
-      (line-number-at-pos pos)
-    (let ((opoint (or pos (point))) start)
-      (save-excursion
-        (goto-char (point-min))
-        (setq start (point))
-        (goto-char opoint)
-        (forward-line 0)
-        (1+ (count-lines start (point)))))))
-
-(defun emms-match-string-no-properties (num &optional string)
-  (if (fboundp 'match-string-no-properties)
-      (match-string-no-properties num string)
-    (match-string num string)))
-
-(defun emms-delete-if (predicate seq)
-  "Remove all items satisfying PREDICATE in SEQ.
-This is a destructive function: it reuses the storage of SEQ
-whenever possible."
-  ;; remove from car
-  (while (when (funcall predicate (car seq))
-           (setq seq (cdr seq))))
-  ;; remove from cdr
-  (let ((ptr seq)
-        (next (cdr seq)))
-    (while next
-      (when (funcall predicate (car next))
-        (setcdr ptr (if (consp next)
-                        (cdr next)
-                      nil)))
-      (setq ptr (cdr ptr))
-      (setq next (cdr ptr))))
-  seq)
-
-(defun emms-move-beginning-of-line (arg)
-  "Move point to beginning of current line as displayed.
-If there's an image in the line, this disregards newlines
-which are part of the text that the image rests on."
-  (if (fboundp 'move-beginning-of-line)
-      (move-beginning-of-line arg)
-    (if (numberp arg)
-        (forward-line (1- arg))
-      (forward-line 0))))
+(require 'emms-compat)
}

[emms-url: New file containing the url.el interaction routines from 
emms-lastfm.el.  I plan to use these in other parts of EMMS as well.
Michael Olson <address@hidden>**20070105034035] {
hunk ./emms-lastfm.el 491
-(defun url-escape (url)
-  "Escapes SPACEs with %20."
-  (replace-regexp-in-string " " "%20" url))
-
-(defun http-content-coding ()
-  (and (boundp 'url-http-content-type)
-       (string-match ";\\s-*charset=\\([^;[:space:]]+\\)" 
url-http-content-type)
-       (intern-soft (downcase (match-string 1 url-http-content-type))) ))
-
-(defun http-decode-buffer ()
-  "Recode the buffer with `url-retrieve's contents. Else the
-buffer would contain multibyte chars like \\123\\456."
-  (let* ((default (or (car default-process-coding-system) 'utf-8) )
-         (coding  (or (http-content-coding) default)) ) 
-    ;; (pop-to-buffer (current-buffer))
-    ;; (message "content-type: %s" url-http-content-type)
-    ;; (message "coding: %S [default: %S]" coding default)
-    (set-buffer-multibyte t)
-    (decode-coding-region (point-min) (point-max) coding)))
-
addfile ./emms-url.el
hunk ./emms-url.el 1
+;;; emms-url.el --- Make URL and EMMS work together well
+
+;; Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+
+;; This file is part of EMMS.
+
+;; EMMS is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+;;
+;; EMMS is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with EMMS; see the file COPYING.  If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Commentary:
+
+;; These routines sanify input to URL and parse data returned by URL.
+
+;;; Code:
+
+(require 'url)
+
+(defvar emms-url-specials
+  '((?\" . "&quot;")
+    (?\< . "&lt;")
+    (?\> . "&gt;")
+    (?\& . "&amp;")
+    (?\  . "%20")
+    (?\n . "%0D%0A"))
+  "*An alist of characters which must be represented specially in URLs.
+The transformation is the key of the pair.")
+
+(defun emms-escape-url (url)
+  "Escape specials in URL.
+
+The specials to escape are specified by the `emms-url-specials'
+variable."
+  (apply (function concat)
+         (mapcar
+          (lambda (ch)
+            (let ((repl (assoc ch emms-url-specials)))
+              (if (null repl)
+                  (char-to-string ch)
+                (cdr repl))))
+          (append url nil))))
+
+(defun emms-http-content-coding ()
+  (and (boundp 'url-http-content-type)
+       (string-match ";\\s-*charset=\\([^;[:space:]]+\\)"
+                     url-http-content-type)
+       (intern-soft (downcase (match-string 1 url-http-content-type)))))
+
+(defun emms-http-decode-buffer ()
+  "Recode the buffer with `url-retrieve's contents. Else the
+buffer would contain multibyte chars like \\123\\456."
+  (let* ((default (or (car default-process-coding-system) 'utf-8))
+         (coding  (or (emms-http-content-coding) default)))
+    ;; (pop-to-buffer (current-buffer))
+    ;; (message "content-type: %s" url-http-content-type)
+    ;; (message "coding: %S [default: %S]" coding default)
+    (set-buffer-multibyte t)
+    (decode-coding-region (point-min) (point-max) coding)))
+
+(provide 'emms-url)
+;;; emms-url.el ends here
}

[emms-player-mpd: Use functions in emms-url.el
Michael Olson <address@hidden>**20070105035233] {
hunk ./emms-player-mpd.el 109
+(eval-when-compile
+  (condition-case nil
+      (progn
+        (require 'url)           ; load if available
+        (require 'emms-url))
+    (error nil)))
+
hunk ./emms-player-mpd.el 751
-      (with-temp-buffer
-        (url-insert-file-contents url)
-        (emms-player-mpd-add-buffer-contents closure callback))
+      (progn
+        (require 'emms-url)
+        (with-temp-buffer
+          (url-insert-file-contents (emms-escape-url url))
+          (emms-http-decode-buffer)
+          (emms-player-mpd-add-buffer-contents closure callback)))
}

[emms-lastfm: Use emms-url.el, fix compiler warnings, and be kind to the 
namespace
Michael Olson <address@hidden>**20070105035342] {
hunk ./emms-lastfm.el 72
+(require 'emms-mode-line)
+(require 'emms-playing-time)
+(require 'emms-source-file)
+(require 'emms-url)
hunk ./emms-lastfm.el 215
-          (url-retrieve 
-           (url-escape (concat emms-lastfm-server "?hs=true&p=1.1"
-                               "&c=" emms-lastfm-client-id
-                               "&v=" (number-to-string
-                                      emms-lastfm-client-version)
-                               "&u=" emms-lastfm-username))
+          (url-retrieve
+           (emms-escape-url (concat emms-lastfm-server "?hs=true&p=1.1"
+                                    "&c=" emms-lastfm-client-id
+                                    "&v=" (number-to-string
+                                           emms-lastfm-client-version)
+                                    "&u=" emms-lastfm-username))
hunk ./emms-lastfm.el 228
-    (http-decode-buffer)
+    (emms-http-decode-buffer)
hunk ./emms-lastfm.el 232
-    (let ((response (read-line)))
+    (let ((response (emms-read-line)))
hunk ./emms-lastfm.el 242
-        (setq emms-lastfm-md5-challenge (read-line))
+        (setq emms-lastfm-md5-challenge (emms-read-line))
hunk ./emms-lastfm.el 244
-        (setq emms-lastfm-submit-url (read-line))
+        (setq emms-lastfm-submit-url (emms-read-line))
hunk ./emms-lastfm.el 277
-          (url-retrieve (url-escape emms-lastfm-submit-url)
+          (url-retrieve (emms-escape-url emms-lastfm-submit-url)
hunk ./emms-lastfm.el 285
-    (http-decode-buffer)
+    (emms-http-decode-buffer)
hunk ./emms-lastfm.el 318
-          (url-retrieve (url-escape
+          (url-retrieve (emms-escape-url
hunk ./emms-lastfm.el 325
-    (http-decode-buffer)
-    (setq emms-lastfm-radio-session    (key-value "session"))
-    (setq emms-lastfm-radio-stream-url (key-value "stream_url"))
+    (emms-http-decode-buffer)
+    (setq emms-lastfm-radio-session    (emms-key-value "session"))
+    (setq emms-lastfm-radio-stream-url (emms-key-value "stream_url"))
hunk ./emms-lastfm.el 361
-               (url-escape
+               (emms-escape-url
hunk ./emms-lastfm.el 370
+(defcustom emms-lastfm-radio-metadata-period 15
+  "When listening to Last.fm Radio every how many seconds should
+emms-lastfm poll for metadata? If set to nil, there won't be any
+polling at all.
+
+The default is 15: That means that the mode line will display the
+wrong (last) track's data for a maximum of 15 seconds. If your
+network connection has a big latency this value may be too
+high. (But then streaming a 128KHz mp3 won't be fun anyway.)"
+  :type 'integer
+  :group 'emms-lastfm)
+
hunk ./emms-lastfm.el 385
-    (http-decode-buffer)
-    (if (string= (key-value "response") "OK")
+    (emms-http-decode-buffer)
+    (if (string= (emms-key-value "response") "OK")
hunk ./emms-lastfm.el 437
-           (url-escape
+           (emms-escape-url
hunk ./emms-lastfm.el 448
-    (http-decode-buffer)
-    (if (string= (key-value "response") "OK")
+    (emms-http-decode-buffer)
+    (if (string= (emms-key-value "response") "OK")
hunk ./emms-lastfm.el 453
-(defcustom emms-lastfm-radio-metadata-period 15
-  "When listening to Last.fm Radio every how many seconds should
-emms-lastfm poll for metadata? If set to nil, there won't be any
-polling at all.
-
-The default is 15: That means that the mode line will display the
-wrong (last) track's data for a maximum of 15 seconds. If your
-network connection has a big latency this value may be too
-high. (But then streaming a 128KHz mp3 won't be fun anyway.)"
-  :type 'integer
-  :group 'emms-lastfm)
-
hunk ./emms-lastfm.el 461
-           (url-escape
+           (emms-escape-url
hunk ./emms-lastfm.el 471
-    (http-decode-buffer)
-    (let ((artist (key-value "artist"))
-          (title  (key-value "track")))
+    (emms-http-decode-buffer)
+    (let ((artist (emms-key-value "artist"))
+          (title  (emms-key-value "track")))
hunk ./emms-lastfm.el 481
-(defun read-line ()
+(defun emms-read-line ()
hunk ./emms-lastfm.el 485
-(defun key-value (key)
+(defun emms-key-value (key)
}

[emms-playlist-sort: Add compile-time dependency on cl.el to avoid a warning
Michael Olson <address@hidden>**20070105040231] {
hunk ./emms-playlist-sort.el 35
+
+(eval-when-compile (require 'cl))
}

[Make jack.el use emms-compat.el rather than cl.el, and tidy up emms-compat.el
Michael Olson <address@hidden>**20070105042701] {
hunk ./emms-compat.el 31
+
+;;; Miscellaneous
+
hunk ./emms-compat.el 40
+
+;;; Time and timers
+
hunk ./emms-compat.el 57
+
+;;; Movement and position
+
+(defun emms-move-beginning-of-line (arg)
+  "Move point to beginning of current line as displayed.
+If there's an image in the line, this disregards newlines
+which are part of the text that the image rests on."
+  (if (fboundp 'move-beginning-of-line)
+      (move-beginning-of-line arg)
+    (if (numberp arg)
+        (forward-line (1- arg))
+      (forward-line 0))))
+
+(defun emms-line-number-at-pos (&optional pos)
+  "Return (narrowed) buffer line number at position POS.
+If POS is nil, use current buffer location."
+  (if (fboundp 'line-number-at-pos)
+      (line-number-at-pos pos)
+    (let ((opoint (or pos (point))) start)
+      (save-excursion
+        (goto-char (point-min))
+        (setq start (point))
+        (goto-char opoint)
+        (forward-line 0)
+        (1+ (count-lines start (point)))))))
+
+
+;;; Regular expression matching
+
hunk ./emms-compat.el 104
-(defun emms-line-number-at-pos (&optional pos)
-  "Return (narrowed) buffer line number at position POS.
-If POS is nil, use current buffer location."
-  (if (fboundp 'line-number-at-pos)
-      (line-number-at-pos pos)
-    (let ((opoint (or pos (point))) start)
-      (save-excursion
-        (goto-char (point-min))
-        (setq start (point))
-        (goto-char opoint)
-        (forward-line 0)
-        (1+ (count-lines start (point)))))))
-
hunk ./emms-compat.el 109
+
+;;; Common Lisp
+
hunk ./emms-compat.el 131
-(defun emms-move-beginning-of-line (arg)
-  "Move point to beginning of current line as displayed.
-If there's an image in the line, this disregards newlines
-which are part of the text that the image rests on."
-  (if (fboundp 'move-beginning-of-line)
-      (move-beginning-of-line arg)
-    (if (numberp arg)
-        (forward-line (1- arg))
-      (forward-line 0))))
+(defun emms-find-if (predicate seq)
+  "Find the first item satisfying PREDICATE in SEQ.
+Return the matching item, or nil if not found."
+  (catch 'found
+    (dolist (el seq)
+      (when (funcall predicate el)
+        (throw 'found el)))))
+
+(defun emms-remove-if-not (predicate seq)
+  "Remove all items not satisfying PREDICATE in SEQ.
+This is a non-destructive function; it makes a copy of SEQ to
+avoid corrupting the original SEQ."
+  (let (newseq)
+    (dolist (el seq)
+      (when (funcall predicate el)
+        (setq newseq (cons el newseq))))
+    (nreverse newseq)))
hunk ./jack.el 44
-(require 'cl)
+(require 'emms-compat)
hunk ./jack.el 258
-                  (remove-if-not predicate (jack-list))
+                  (emms-remove-if-not predicate (jack-list))
hunk ./jack.el 280
-                  (remove-if-not predicate (jack-ports program))
+                  (emms-remove-if-not predicate (jack-ports program))
hunk ./jack.el 296
-                  (find-if (lambda (port)
-                             (member to-type (assoc 'properties (cdr port))))
-                           (cdr prog)))))
+                  (emms-find-if (lambda (port)
+                                  (member to-type (assoc 'properties
+                                                         (cdr port))))
+                                (cdr prog)))))
hunk ./jack.el 323
-                  (find-if (lambda (port) (assoc 'connections (cdr port)))
-                           (cdr prog)))))
+                  (emms-find-if (lambda (port) (assoc 'connections (cdr port)))
+                                (cdr prog)))))
hunk ./jack.el 346
-                 (setq connections (remove-if-not
+                 (setq connections (emms-remove-if-not
}

Context:

[artist-fan-radio-and-texinfo-docs-for-lastfm.dpatch
Tassilo Horn <address@hidden>**20070103205523
 
 This patch adds a new function to emms-lastfm.el:
 
   `emms-lastfm-radio-artist-fan'
 
 I also added a chapter about Last.fm in emms.texinfo. It compiles for me and
 looks good, but it wold be nice if someone could have a short look at it. It's
 my first work with texinfo.
] 
[fix-broken-multibyte-chars-in-http-responses.dpatch
Tassilo Horn <address@hidden>**20070103140726
 
 If a `url-retrieve' returns a buffer containing multibyte strings, they were
 displayed as \123\456. The bug occured mostly when listening to Last.fm radio
 playing a track with non-ascii title or artist.
 
 Thanks to fledermaus at #emacs for investigating what went wrong and putting
 together the function `http-decode-buffer'. The bug seems to be fixed with it.
] 
[metadata-for-lastfm-streams.dpatch
Tassilo Horn <address@hidden>**20070102222433
 
 Now the Artist and Title of the current song are displayed in the mode-line
 when listening to a last.fm stream.
 
 Additionally I made all user options customizable.
] 
[lastfm-skip-love-ban-plus-renaming.dpatch
Tassilo Horn <address@hidden>**20061230115944
 
 First, I renamed all things "emms-lastfm-playback" to "emms-lastfm-radio",
 which fits much better.
 
 Then I added the functionality of loving/skipping/banning the song you're
 listening to on Last.fm Radio. 
] 
[fix-lastfm-streams-with-spaces.dpatch
Tassilo Horn <address@hidden>**20061229155921] 
[emms-playlist-sort.el: Reorganize codes && add `emms-playlist-sort-by-list'.
William Xu <address@hidden>**20061225054559] 
[play-lastfm-streams.dpatch
Tassilo Horn <address@hidden>**20061227205745
 
 This patch has two major parts:
 
 1. Make emms-lastfm.el conforming to other emms plugins, meaning that there
    are those three user functions:
 
      `emms-lastfm' -- The usual prefix arg toggle
      `emms-lastfm-enable'
      `emms-lastfm-disable'
 
 2. It adds the ability to play lastfm:// streams. New user functions:
 
     `emms-lastfm-playback'
     `emms-lastfm-playback-similar-artists'
     `emms-lastfm-playback-global-tag'
 
   Sadly there are 2 FIXMEs in the code:
 
     1. Major problem: It doesn't work for lastfm urls which contain blanks. If
        someone is familiar with the url library, he could tell me how to fix
        it. (retrieving urls with whitespaces)
 
     2. Minor problem: There's some ugly (but working) code to ensure the
        execution doesn't continue before a sentinel has been run.  
] 
[emms-playing-time: Add stuffs for controlling displaying on mode line
address@hidden
 while still enabling emms-playing-time module at backgrond.
] 
[emms-mode-line: Rename `emms-playing-time-toggle' to `emms-mode-line-toggle'.
address@hidden 
[warn-if-playing-time-deactivated.dpatch
Tassilo Horn <address@hidden>**20061219085443
 
 New emms-lastfm-activate warns the user if he disabled emms-playing-time
 completely and points him to the right docs.
] 
[fix-regression-in-lastfm.dpatch
Tassilo Horn <address@hidden>**20061216132209
 
 My last path enabled emms-lastfm.el to submit tracks even if you paused
 them. I tested this extensively! But I didn't test if it still submits
 them if you don't pause it. Of course it didn't. ;-)
 
 The problem was that I rely on `emms-playing-time' to calculate when a
 track has to be submitted. But in `emms-player-started-hook' my new
 track function was run *before* `emms-playing-time' was set to 0 again.
] 
[emms.texinfo: Update emms-playing-time info.
address@hidden 
[replace-next-line-with-forward-line.dpatch
Tassilo Horn <address@hidden>**20061220205010
 
 The docstring of `next-line' suggest to use `forward-line' instead, so
 use that...
] 
[submitting-when-paused.dpatch
Tassilo Horn <address@hidden>**20061212200324
 
 This patch enables emms-lastfm.el to submit the current track even if
 the playback has been paused and resumed. It's done by canceling the
 `emms-lastfm-timer' when pausing and reenabling it on resume.
] 
[emms-lyrics: Make `emms-lyrics-find-lyric-function' customizable and add
address@hidden
 `emms-lyrics-find-current-lyric'.
] 
[change raise/lower-function to change-functon, add change-amount
Ye Wenbin <address@hidden>**20061208052114] 
[Remove emms-volume-amixer-raise/lower commands, use emms-volume-change-function
Ye Wenbin <address@hidden>**20061208052019] 
[emms-i18n: Rename functions to match file name.
address@hidden 
[emms-setup: Add `emms-i18n' to `emms-devel'.
address@hidden 
[emms-info-mp3info: Make use of `emms-i18n-call-process-simple'.
address@hidden 
[emms-player-mpd: Document how to use MusicPD to change the volume via 
emms-volume.el
Michael Olson <address@hidden>**20061208223509] 
[Fix various byte-compiler warnings throughout
Michael Olson <address@hidden>**20061207143511] 
[emms-tag-editor: Rename functions to match file name
Michael Olson <address@hidden>**20061207142310] 
[Rename emms-mp3tag.el to emms-tag-editor.el
Michael Olson <address@hidden>**20061207141945] 
[emms.el: Improve `emms-uniq-list' to not use cl.el.
address@hidden 
[emms-i18n changes, add playlist navigate command, uniq playlist command
Ye Wenbin <address@hidden>**20061207063510] 
[emms-mp3tag support ogg, add more documentation. fix some error
Ye Wenbin <address@hidden>**20061206153528] 
[emms-lastfm.dpatch
Tassilo Horn <address@hidden>**20061206112823
 
 This patch adds emms-lastfm.el, its setup to emms-setup.el and myself
 to AUTHORS.
] 
[Fix a silly bug in emms-mp3tag. Remove timestamp.
Ye Wenbin <address@hidden>**20061206020710] 
[AUTHORS: Added Ye Wenbin
address@hidden 
[Fix lyrics minibuffer display. Amixer display playback and more useful commands
Wenbin Ye <address@hidden>**20061127154113] 
[Edit all track, set tag to file for mp3
Wenbin Ye <address@hidden>**20061205112209] 
[Add emms-mp3tag and emms-i18n
Wenbin Ye <address@hidden>**20061205065407] 
[Add emms-mark and emms-history
address@hidden 
[emms-info-mp3info.el: Replace `emms-iconv' with decode-coding-string and
address@hidden
 encode-coding-string.
] 
[emms.el: Fix bug introduced by recent changes to 
emms-playlist-set-playlist-buffer
Michael Olson <address@hidden>**20061119204738] 
[Default to current buffer when setting the current EMMS playlist buffer.
Michael Olson <address@hidden>**20061119053410] 
[manual: Add documentation for new emms-playlist-mode keybindings
Michael Olson <address@hidden>**20061119052935] 
[emms-playlist-mode: Bind "b" key to emms-playlist-set-playlist-buffer.
Michael Olson <address@hidden>**20061119052907] 
[emms-playlist-mode: Implement adding the thing at point to the current 
playlist.  If it is a playlist, add its contents instead.  Map this to the "a" 
key.
Michael Olson <address@hidden>**20061119052254] 
[emms.el: In emms-playlist-set-playlist-buffer, prompt user from available EMMS 
playlist buffers rather than all buffers, and display feedback upon setting the 
current buffer, since this is not an easy change to see
Michael Olson <address@hidden>**20061119052023] 
[emms.el: Fix compiler warning
Michael Olson <address@hidden>**20061119051946] 
[Don't add subdirectories for directory and playlist-directory source insert 
methods
Michael Olson <address@hidden>**20061119041900] 
[emms-playing-time.el: New variable `emms-playing-time-style', it
address@hidden
 supports two styles at present, `time' and `bar'.
] 
[bind SPC to `scroll-up' in emms-playlist-mode and update manual.
address@hidden 
[emms.el: Move macros to the top of the file.
address@hidden 
[emms-player-mpd: Deal with change in output when getting supported file types
Michael Olson <address@hidden>**20061028042119] 
[NEWS: Add entry for recent emms-player-mpd change
Michael Olson <address@hidden>**20061023125738] 
[NEWS: Version 2 is version 2.0
address@hidden 
[emms-player-mpd: Handle errors that occur when we begin playback
Michael Olson <address@hidden>**20061022215310] 
[emms-playlist-mode: Handle case where selection has not been set but user 
wants to delete a region
Michael Olson <address@hidden>**20061022201724] 
[emms-player-mplayer.el: Mplayer also supports .vob files.
address@hidden 
[FluidSynth midi file player
address@hidden 
[Added delYsid
address@hidden 
[jackd-support-for-emacs
address@hidden
 jackd is a pro-audio server which can be used as a backend for
 alsaplayer, mplayer, and lots of other linux audio apps.
 This module allows to start jackd from within emacs, and
 connect/disconnect jack client ports.
] 
[browser: ensure the RNG is seeded before use
Damien Elmes <address@hidden>**20061011151535] 
[browser: require sort (fixes bug with sort-fold-case being void)
Damien Elmes <address@hidden>**20061010125718] 
[emms-playlist-mode: Fix typo in hook name
Michael Olson <address@hidden>**20061022022812] 
[emms-player-mpd: Update version recommendation
Michael Olson <address@hidden>**20061022012223] 
[emms-player-mpd: Work properly with tracks inserted by emms-browser
Michael Olson <address@hidden>**20061022011050] 
[Add NEWS items since version 2.1
Michael Olson <address@hidden>**20061017222117] 
[emms-player-mpd: When using the emms-volume interface, allow the user to 
specify the amount of change in the volume
Michael Olson <address@hidden>**20061017220404] 
[Documentation cleanups in emms-player-mpd and emms-source-playlist
Michael Olson <address@hidden>**20061017215345] 
[Since emms-player-seeked-to-functions and emms-player-time-set-functions hooks 
do the same thing, replace the former with the latter
Michael Olson <address@hidden>**20061017210238] 
[emms-browser: Fix compiler warning
Michael Olson <address@hidden>**20061017205310] 
[emms-player-mpd: Implement seek-to support
Michael Olson <address@hidden>**20061017205106] 
[fix faulty emms-playlist-mode keybinding, fix due to William and Damien.
address@hidden 
[Added seeking to the playlist keymap, and updated the manual.
address@hidden 
[emms-player-mpd: Only display error if we are certain that url.el is not 
up-to-date
Michael Olson <address@hidden>**20061004032213] 
[seek-for-alsaplayer
address@hidden
 Add relative seek support for alsaplayer
] 
[midi-files-via-timidity
address@hidden
 A simple-player definition for timidity
] 
[emms-playing-time.el: Minor cleanups.
address@hidden 
[emms-lyrics.el: Minor Cleanups.
address@hidden 
[pause-for-alsaplayer
address@hidden
 Get pause/resume working for alsaplayer
] 
[mms-for-mplayer
address@hidden
 mplayer also supports mms:// URLs
] 
[DoTheRightThing with player pausing and emms-bookmarks.el
address@hidden 
[Added emms-bookmarks.el
address@hidden 
[Added `emms-pause' to emms-playlist-mode.el bound to to ``P''.
address@hidden 
[browser: add deletion started/finished message
Damien Elmes <address@hidden>**20060923051128] 
[Added a link to the online version of the manual.
address@hidden 
[emms-playing-time.el now works with `seek-to'.
address@hidden 
[Added `seek-to' to emms.el and emms-player-mplayer.el.
address@hidden 
[browser/cache: support deleting files, make emms-cache-dirty a defsubst
Damien Elmes <address@hidden>**20060922090553] 
[TAG 2.1
address@hidden 
Patch bundle hash:
4ef6300905e3c7e9ace2cb1d07c0d9dc9d7b4480

reply via email to

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