[Top][All Lists]
[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
+ '((?\" . """)
+ (?\< . "<")
+ (?\> . ">")
+ (?\& . "&")
+ (?\ . "%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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emms-patches] darcs patch: Remove emms-volume-mpd-raise/lower, make... (and 7 more),
Michael Olson <=