[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emms-patches] darcs patch: emms-player-mpd: If the MusicPD daemon g...
From: |
Michael Olson |
Subject: |
[Emms-patches] darcs patch: emms-player-mpd: If the MusicPD daemon g... (and 2 more) |
Date: |
Sat, 08 Apr 2006 20:36:42 -0400 |
Wed Apr 5 23:45:53 EDT 2006 Michael Olson <address@hidden>
* emms-player-mpd: If the MusicPD daemon goes away, make sure that we can
still stop EMMS.
Thu Apr 6 00:26:15 EDT 2006 Michael Olson <address@hidden>
* emms-playlist-mode: Make it possible to use edebug on
`with-inhibit-read-only' forms.
Sat Apr 8 20:35:40 EDT 2006 Michael Olson <address@hidden>
* emms-source-playlist: Get things working to my satisfaction, like saving
playlists in different formats and (optionally) being prompted for which format.
New patches:
[emms-player-mpd: If the MusicPD daemon goes away, make sure that we can still
stop EMMS.
Michael Olson <address@hidden>**20060406034553] {
hunk ./emms-player-mpd.el 626
- (emms-player-mpd-send "stop")
+ (condition-case nil
+ (emms-player-mpd-send "stop")
+ (error nil))
}
[emms-playlist-mode: Make it possible to use edebug on `with-inhibit-read-only'
forms.
Michael Olson <address@hidden>**20060406042615] {
hunk ./emms-playlist-mode.el 179
+(put 'with-inhibit-read-only-t 'edebug-form-spec '(body))
}
[emms-source-playlist: Get things working to my satisfaction, like saving
playlists in different formats and (optionally) being prompted for which format.
Michael Olson <address@hidden>**20060409003540] {
hunk ./README 129
+(require 'emms-source-playlist)
hunk ./emms-player-mpd.el 526
- (let ((list (cond ((emms-source-playlist-m3u-p)
- (emms-source-playlist-parse-m3u-1))
- ((emms-source-playlist-pls-p)
- (emms-source-playlist-parse-pls-1))
- (t nil)))
- (any-success nil))
- (dolist (file list)
- (when (emms-player-mpd-add-file file)
- (setq any-success t)))
- any-success)))
+ (let ((format (emms-source-playlist-determine-format)))
+ (when format
+ (let ((list (emms-source-playlist-files format))
+ (any-success nil))
+ (dolist (file list)
+ (when (emms-player-mpd-add-file file)
+ (setq any-success t)))
+ any-success)))))
hunk ./emms-setup.el 60
+ (require 'emms-source-playlist)
hunk ./emms-source-playlist.el 26
-;; files. EMMS' own playlist files are supported as well als the
-;; typical .m3u and .pls files.
+;; files. EMMS' own playlist files are supported as well as .m3u and
+;; .pls files.
hunk ./emms-source-playlist.el 32
-(defvar emms-source-playlist-version "0.1 $Revision: 1.30 $"
+(defvar emms-source-playlist-version "0.5 $Revision: 1.30 $"
hunk ./emms-source-playlist.el 39
-(defcustom emms-source-playlist-formats
- '((emms-source-playlist-native-p emms-source-playlist-parse-native)
- (emms-source-playlist-pls-p emms-source-playlist-parse-pls)
- (emms-source-playlist-m3u-p emms-source-playlist-parse-m3u))
- "*A list of playlist format functions.
-Each entry is a list with two elements:
-A function which returns non-nil if the current buffer is of this
-type, and a function which parses such a buffer.
-The former is called with no arguments, while the latter is
-called with two buffers: The playlist buffer and the file buffer."
- :type 'sexpr
+(defcustom emms-source-playlist-formats '(native pls m3u)
+ "*A list of playlist formats.
+Each entry must have at least three corresponding functions.
+
+First, a function named `emms-source-playlist-FORMAT-p' which
+returns non-nil if the current buffer is of the type FORMAT. It
+is called with no arguments.
+
+Second, a function named `emms-source-playlist-parse-FORMAT'
+which parses the current buffer into tracks. It is called with
+no arguments.
+
+Third, a function named `emms-source-playlist-unparse-FORMAT'
+which creates an output file in the type FORMAT that contains the
+tracks of a playlist buffer. It is called with two arguments:
+The playlist buffer and the file buffer.
+
+It is also recommended to have a function named
+`emms-source-playlist-FORMAT-files' which returns a list of the
+files contained in the playlist."
+ :type '(repeat (symbol :tag "Format"))
+ :group 'emms)
+
+(defcustom emms-source-playlist-default-format nil
+ "*The default format to use for saving playlists.
+If this is nil, you will be prompted for a format to use."
+ :type '(choice (const :tag "Prompt each time" nil)
+ (const :tag "Native" native)
+ (const :tag "m3u" m3u)
+ (const :tag "pls" pls)
+ (symbol :tag "Other"))
hunk ./emms-source-playlist.el 74
+(defsubst emms-source-playlist-p-sym (format)
+ (intern (concat "emms-source-playlist-" (symbol-name format) "-p")))
+
+(defsubst emms-source-playlist-parse-sym (format)
+ (intern (concat "emms-source-playlist-parse-" (symbol-name format))))
+
+(defsubst emms-source-playlist-unparse-sym (format)
+ (intern (concat "emms-source-playlist-unparse-" (symbol-name format))))
+
+(defsubst emms-source-playlist-files-sym (format)
+ (intern (concat "emms-source-playlist-" (symbol-name format) "-files")))
+
+(defun emms-source-playlist-p (format &optional parse-files)
+ (let ((sym (emms-source-playlist-p-sym format)))
+ (when (and (functionp sym)
+ (or (not parse-files)
+ (functionp (emms-source-playlist-files-sym format))))
+ (funcall sym))))
+
+(defun emms-source-playlist-parse (format)
+ (funcall (emms-source-playlist-parse-sym format)))
+
+(defun emms-source-playlist-unparse (format playlist file)
+ (funcall (emms-source-playlist-unparse-sym format) playlist file))
+
+(defun emms-source-playlist-files (format)
+ (let ((sym (emms-source-playlist-files-sym format)))
+ (if (functionp sym)
+ (funcall sym)
+ (error "The `%s' format cannot parse files from a playlist" format))))
+
+(defvar emms-source-playlist-format-history nil
+ "List of recently-entered formats; used by `emms-playlist-save'.")
+
+(defun emms-source-playlist-read-format ()
+ "Read a playlist format from the user.
+If `emms-source-playlist-default-format' is non-nil, use it
+instead of prompting the user."
+ (or emms-source-playlist-default-format
+ (intern
+ (completing-read
+ (concat "Playlist format: (default: "
+ (if emms-source-playlist-format-history
+ (car emms-source-playlist-format-history)
+ "native")
+ ") ")
+ (mapcar #'symbol-name emms-source-playlist-formats)
+ nil nil nil 'emms-source-playlist-format-history
+ (if emms-source-playlist-format-history
+ (car emms-source-playlist-format-history)
+ "native")))))
+
+(defun emms-playlist-save (format file)
+ "Store the current playlist to FILE as the type FORMAT.
+The default format is specified by `emms-source-playlist-default-format'."
+ (interactive (list (emms-source-playlist-read-format)
+ (read-file-name "Store as: "
+ emms-source-file-default-directory
+ emms-source-file-default-directory
+ nil)))
+ (with-temp-buffer
+ (emms-source-playlist-unparse format
+ (with-current-emms-playlist
+ (current-buffer))
+ (current-buffer))
+ (let ((backup-inhibited t))
+ (write-file file))))
+
+(defun emms-source-playlist-determine-format (&optional parse-files)
+ "Determine the playlist format of the current buffer.
+If PARSE-FILES is specified, the given format must be able to
+return a list of the files contained in the playlist."
+ (catch 'return
+ (let ((formats emms-source-playlist-formats))
+ (while formats
+ (when (emms-source-playlist-p (car formats) parse-files)
+ (throw 'return (car formats)))
+ (setq formats (cdr formats))))))
+
hunk ./emms-source-playlist.el 166
- (catch 'return
- (let ((formats emms-source-playlist-formats))
- (while formats
- (when (funcall (caar formats))
- (throw 'return (funcall (cadr (car formats)))))
- (setq formats (cdr formats))))
- (error "Not a recognized playlist format")))))
+ (let ((format (emms-source-playlist-determine-format)))
+ (if format
+ (emms-source-playlist-parse format)
+ (error "Not a recognized playlist format"))))))
hunk ./emms-source-playlist.el 192
-OUT should be a buffer to get the native EMMS format."
+OUT should be the buffer where tracks are stored in the native EMMS format."
hunk ./emms-source-playlist.el 209
+;;;###autoload (autoload 'emms-play-native-playlist "emms-source-playlist" nil
t)
+;;;###autoload (autoload 'emms-add-native-playlist "emms-source-playlist" nil
t)
hunk ./emms-source-playlist.el 225
-(defun emms-playlist-save (file)
- "Store the current playlist in a native format."
- (interactive (list (read-file-name "Store as: "
- emms-source-file-default-directory
- emms-source-file-default-directory
- nil)))
- (with-temp-buffer
- (emms-source-playlist-unparse-native (with-current-emms-playlist
- (current-buffer))
- (current-buffer))
- (let ((backup-inhibited t))
- (write-file file))))
-
hunk ./emms-source-playlist.el 236
+; emms-source-playlist-m3u-files
hunk ./emms-source-playlist.el 249
- (emms-source-playlist-parse-m3u-1)))
+ (emms-source-playlist-m3u-files)))
hunk ./emms-source-playlist.el 251
-(defun emms-source-playlist-parse-m3u-1 ()
+(defun emms-source-playlist-m3u-files ()
hunk ./emms-source-playlist.el 261
+(defun emms-source-playlist-unparse-m3u (in out)
+ "Unparse an m3u playlist from IN to OUT.
+IN should be a buffer with a EMMS playlist in it.
+OUT should be the buffer where tracks are stored in m3u format."
+ (with-current-buffer in ;; Don't modify the position
+ (save-excursion ;; in the IN buffer
+ (with-current-buffer out
+ (let ((track (emms-source-playlist-first in)))
+ (while track
+ (insert (emms-track-name track) ?\n)
+ (setq track (emms-source-playlist-next in))))))))
+
+;;;###autoload (autoload 'emms-play-m3u-playlist "emms-source-playlist" nil t)
+;;;###autoload (autoload 'emms-add-m3u-playlist "emms-source-playlist" nil t)
+(define-emms-source m3u-playlist (file)
+ "An EMMS source for an m3u playlist file."
+ (interactive (list (read-file-name "Playlist file: "
+ emms-source-file-default-directory
+ emms-source-file-default-directory
+ t)))
+ (mapc #'emms-playlist-insert-track
+ (with-temp-buffer
+ (insert-file-contents file)
+ (goto-char (point-min))
+ (when (not (emms-source-playlist-m3u-p))
+ (error "Not an m3u playlist file."))
+ (emms-source-playlist-parse-m3u))))
+
hunk ./emms-source-playlist.el 293
+;; [playlist]
+;; NumberOfEntries=<num_entries>
hunk ./emms-source-playlist.el 299
+; emms-source-playlist-pls-files
hunk ./emms-source-playlist.el 316
- (emms-source-playlist-parse-pls-1)))
+ (emms-source-playlist-pls-files)))
hunk ./emms-source-playlist.el 318
-(defun emms-source-playlist-parse-pls-1 ()
+(defun emms-source-playlist-pls-files ()
hunk ./emms-source-playlist.el 328
+(defun emms-source-playlist-unparse-pls (in out)
+ "Unparse a pls playlist from IN to OUT.
+IN should be a buffer with a EMMS playlist in it.
+OUT should be the buffer where tracks are stored in pls format."
+ (with-current-buffer in ;; Don't modify the position
+ (save-excursion ;; in the IN buffer
+ (with-current-buffer out
+ (let ((pos 0))
+ (insert "[playlist]\n")
+ (save-restriction
+ (narrow-to-region (point) (point))
+ (let ((track (emms-source-playlist-first in)))
+ (while track
+ (setq pos (1+ pos))
+ (insert "File" (number-to-string pos) "="
+ (emms-track-name track) ?\n)
+ (setq track (emms-source-playlist-next in))))
+ (goto-char (point-min))
+ (insert "NumberOfEntries=" (number-to-string pos) ?\n)))))))
+
+;;;###autoload (autoload 'emms-play-pls-playlist "emms-source-playlist" nil t)
+;;;###autoload (autoload 'emms-add-pls-playlist "emms-source-playlist" nil t)
+(define-emms-source pls-playlist (file)
+ "An EMMS source for a pls playlist file."
+ (interactive (list (read-file-name "Playlist file: "
+ emms-source-file-default-directory
+ emms-source-file-default-directory
+ t)))
+ (mapc #'emms-playlist-insert-track
+ (with-temp-buffer
+ (insert-file-contents file)
+ (goto-char (point-min))
+ (when (not (emms-source-playlist-pls-p))
+ (error "Not a pls playlist file."))
+ (emms-source-playlist-parse-pls))))
+
+;;; extm3u files
+
+;; Format:
+;; #EXTM3U
+;; #EXTINF:<length in seconds>,<name>
+;; <filename>
+
+; emms-source-playlist-extm3u-p
+; emms-source-playlist-parse-extm3u
+; emms-source-playlist-unparse-extm3u
+
+;; (erase-buffer)
+;; (insert "#EXTM3U\n")
+;; (mapc (lambda (track)
+;; (let ((time (or (emms-track-get track 'info-mtime) ""))
+;; (artist (emms-track-get track 'info-artist))
+;; (title (emms-track-get track 'info-title))
+;; (name (emms-track-get track 'name)))
+;; (insert (format "#EXTINF: %s,%s - %s\n%s\n"
+;; time artist title name))))
+;; tracklist)
+;; (save-buffer)
+;; (kill-buffer (current-buffer)))))
+
+;; Not implemented yet
+
hunk ./emms-source-playlist.el 414
-;;; Old stuff:
-;;
-;; (defun emms-playlist-save (playlist filename)
-;; "Save a playlist in the native EMMS format."
-;; (interactive "bPlaylist buffer name: \nFFile to save playlist as: ")
-;; (let ((tracklist '()))
-;; (condition-case nil
-;; (with-current-buffer playlist
-;; (save-excursion
-;; (emms-playlist-first)
-;; (while (emms-playlist-track-at)
-;; (setq tracklist (cons (emms-playlist-track-at)
-;; tracklist))
-;; (emms-playlist-next))))
-;; (error nil))
-;; (setq tracklist (nreverse tracklist))
-;; ;; tracklist complete, let's write it !
-;; (with-current-buffer (find-file-noselect filename)
-;; (erase-buffer)
-;; (prin1 tracklist (current-buffer))
-;; (insert "\n")
-;; (save-buffer)
-;; (kill-buffer (current-buffer)))))
-;;
-;; (defun emms-playlist-save-active (filename)
-;; "Save the active EMMS playlist in native format."
-;; (interactive "FFile to save playlist as: ")
-;; (emms-playlist-save emms-playlist-buffer filename))
-;;
-;; (defun emms-playlist-save-as-m3u (playlist filename)
-;; "Save a playlist in .m3u format."
-;; (interactive "bPlaylist buffer name: \nFFile to save playlist as: ")
-;; (let ((tracklist '()))
-;; (condition-case nil
-;; (with-current-buffer playlist
-;; (save-excursion
-;; (emms-playlist-first)
-;; (while (emms-playlist-track-at)
-;; (setq tracklist (cons (emms-playlist-track-at)
-;; tracklist))
-;; (emms-playlist-next))))
-;; (error nil))
-;; (setq tracklist (nreverse tracklist))
-;; ;; tracklist complete, let's write it !
-;; (with-current-buffer (find-file-noselect filename)
-;; (erase-buffer)
-;; (insert "#EXTM3U\n")
-;; (mapc (lambda (track)
-;; (let ((time (or (emms-track-get track 'info-mtime) ""))
-;; (artist (emms-track-get track 'info-artist))
-;; (title (emms-track-get track 'info-title))
-;; (name (emms-track-get track 'name)))
-;; (insert (format "#EXTINF: %s,%s - %s\n%s\n"
-;; time artist title name))))
-;; tracklist)
-;; (save-buffer)
-;; (kill-buffer (current-buffer)))))
-;;
-;; (defun emms-playlist-save-current-as-m3u (filename)
-;; "Save the active EMMS playlist in m3u format."
-;; (interactive "FFile to save playlist as: ")
-;; (emms-playlist-save-as-m3u emms-playlist-buffer filename))
-
hunk ./emms.el 453
+(put 'with-current-emms-playlist 'edebug-form-spec '(body))
hunk ./emms.texinfo 268
+(require 'emms-source-playlist)
}
Context:
[Updated manual for emms-lyrics.
address@hidden
[New variable: `emms-lyrics-coding-system'. It's the coding system used
address@hidden
in the output of lyrics. (I sent this before, maybe some unexpected
problem happened.)
]
[emms-player-mpd: Never set emms-player-stopped-p, since this is only to be
done when the user explicitly stops the music.
Michael Olson <address@hidden>**20060402184833]
[Make sure that negated character classes in regexps include the newline
character, so that there is no possibility of empty lines being matched.
Michael Olson <address@hidden>**20060402175002]
[emms-playlist-sort.el, quote FORM argument to eval-after-load
address@hidden
[Update manual and emms-setup with the preferred way of invoking
emms-playing-time and emms-lyrics from .emacs. Update MusicPD section of
manual.
Michael Olson <address@hidden>**20060402144407]
[emms-streams: Make some options customizable. Fix compiler warnings.
Michael Olson <address@hidden>**20060402031546]
[emms-source-playlist: Add support for m3u and pls playlists.
Michael Olson <address@hidden>**20060402024556]
[README: Added a paragraph about libtag.
address@hidden
[emms-info-libtag.el: Add a warning about the possible conflict with
emms-info-mp3info
address@hidden
[Some minor modifications
address@hidden
[Use insert-file instead of insert-file-literally to get around coding system
problems
address@hidden
[Added emms-play-playlist
address@hidden
[Remove emms-tageditor.el, since it only works with emms-pbi.el. It might be
useful to re-add this, once it has been rewritten. But first, let's get a
release out the door :^) .
Michael Olson <address@hidden>**20060401233146]
[emms-player-mpd: Don't use define-emms-simple-player, since we provide our own
versions of the functions that it produces.
Michael Olson <address@hidden>**20060401233036]
[emms-lyrics: Make this behave like other add-ons.
Michael Olson <address@hidden>**20060401232918]
[Fix a variety of compilation errors and warnings.
Michael Olson <address@hidden>**20060401232610]
[Makefile: Don't show Emacs commandline. Remove generated HTML file in clean
rule.
Michael Olson <address@hidden>**20060401232522]
[emms-streams: Add prefix to utility functions.
Michael Olson <address@hidden>**20060401210849]
[Make all add-on files toggle-able.
Michael Olson <address@hidden>**20060401210634]
[Added emms-source-playlist.el, moved stuff from emms.el there
address@hidden
[Move emms-parse-playlist to emms-source-file.el, rename to
emms-source-file-parse-playlist
address@hidden
[Remove emms-pl-manip.el
Michael Olson <address@hidden>**20060401194358]
[Remove emms-pbi*.el at forcer's request.
Michael Olson <address@hidden>**20060401193306]
[emms-mode-line: Add toggle functions and autoload cookies.
Michael Olson <address@hidden>**20060401191825]
[emms-player-mpd: Use simpler value for connect function.
Michael Olson <address@hidden>**20060401190427]
[Makefile: Use correct extension in new HTML rule.
Michael Olson <address@hidden>**20060401184547]
[Makefile: Update .PHONY, add .PRECIOUS line for generated files, add rule for
creating HTML version of documentation.
Michael Olson <address@hidden>**20060401180331]
[emms-streams.el (emms-stream-default-list): Add "Voices from Within"
address@hidden
[All stable extentions documented
address@hidden
[emms-player-mpd.el (emms-info-mpd): Prevent an error when we can't connect to
a MusicPD instance. This prevents EMMS from causing Emacs to stop reading
initialization settings.
Michael Olson <address@hidden>**20060326230003]
[Added MusicPD to the Emms manual.
address@hidden
[Added `emms-playlist-sort' to the Emms manual.
address@hidden
[re-organization of emms-setup levels
address@hidden
[emms-player-mpd: Make importing of MusicPD playlist a bit less error-prone.
Michael Olson <address@hidden>**20060323135109]
[emms-player-mpd: Make pausing work after importing a playlist from MusicPD.
Michael Olson <address@hidden>**20060320071337]
[emms-player-mpd: Try to get values for name and port from environment. Fix
awkwardness in `emms-player-mpd-block'.
Michael Olson <address@hidden>**20060320065153]
[emms-player-mpd: Implement importing the current MusicPD playlist into EMMS
and fix a couple of bugs.
Michael Olson <address@hidden>**20060320061455]
[finished updating copyrights
address@hidden
[fixed copyright years and copyright holder
address@hidden
[emms-source-file: Yes, playlist does work. (Removed comment)
address@hidden
[emms-player-simple.el (alsaplayer): Fixed regexp.
address@hidden
[emms-player-simple.el: Added alsaplayer support. Thanks to indio on #emacs.
address@hidden
[emms-player-mpd: Do a seek when the song has changed in case several seconds
have elapsed between detection and song change.
Michael Olson <address@hidden>**20060302032315]
[playlist mode yank bug fix
address@hidden
[update README file
address@hidden
[Pass correct parameter to `run-at-time', to make sure only one timer is
address@hidden
running.
]
[add two macros, one to emms.el and the other to emms-playlist-mode.el. The
former fixes a bug in which the software attempts to access a completely
narrowed buffer and the latter because it looks nicer.
address@hidden
[emms-player-mpd: Detect when the server has stopped, and call
emms-player-stopped.
Michael Olson <address@hidden>**20060107081052]
[emms-player-mpd: Implement blocking so that code in timers doesn't conflict.
Michael Olson <address@hidden>**20060107064358]
[Rename m3u-playlist source to "playlist" and support .pls files. The
playlist-parsing routine has been moved to a separate function, since the
MusicPD player also needs to use it. Detect URLs in playlists and use type of
'url when creating tracks for them.
Michael Olson <address@hidden>**20060107053310]
[Use emms-replace-regexp-in-string.
Michael Olson <address@hidden>**20060106032400]
[emms-player-mpd: Escape specials in filenames like the other MPD clients do.
Michael Olson <address@hidden>**20060106032121]
[emms-stream-info: Use emms-replace-regexp-in-string.
Michael Olson <address@hidden>**20060106032048]
[New XEmacs compatibility function: emms-replace-regexp-in-string
Michael Olson <address@hidden>**20060105172144]
[emms-player-mpd: Quote file argument so that filenames with spaces are treated
correctly.
Michael Olson <address@hidden>**20060105014642]
[Move `emms-cancel-timer' to a compatibility section in emms.el
address@hidden
[emms-playing-time: Make sure that we don't start more than one timer instance.
Michael Olson <address@hidden>**20060104224902]
[emms-player-mpd: Make it the default to sync the MusicPD playlist with the
EMMS playlist, since this is what most EMMS users will probably want.
Michael Olson <address@hidden>**20060104224734]
[Make emms-player-mpd work with emms-playing-time.
Michael Olson <address@hidden>**20060104081359]
[emms-player-mpd: Bring this up-to-par with the other backends, in that it can
update the current playlist position and load the contents of the current
playlist into MusicPD.
Michael Olson <address@hidden>**20060104075237]
[Use timers in a way that is compatible with both Emacs and XEmacs.
Michael Olson <address@hidden>**20060104061024]
[emms-player-mpd: Docfix, wait 200 millisecs for process to start, add more
output when verbose mode is enabled.
Michael Olson <address@hidden>**20060103040456]
[emms-player-mpd: Fix documentation. The mpc binary is no longer needed.
Michael Olson <address@hidden>**20060102090752]
[emms-player-mpd: Make sure the process gets closed autommatically when exiting
Emacs.
Michael Olson <address@hidden>**20060101020942]
[Significantly improve (and speed up) MusicPD support.
Michael Olson <address@hidden>**20051231083223]
[`emms-score-set-playing' is not really "set", but "add". Fix this. Same
address@hidden
for `emms-score-set-file-on-line'.
]
[Added `emms-playlist-sort-by-score'.
address@hidden
[Fixed emms-score.el to accommordate with changes in EMMS2. I've also
address@hidden
reorganized the code structure a little bit and added bunches of new
user interface functions.
]
[Move `emms-lyrics-mode' to the end, or it won't work on CVS Emacs.
address@hidden
[fix mode-alter bug
address@hidden
[update manual for playlist-mode
address@hidden
[make emms-playlist-mode emacs21.4 compatible
address@hidden
[fix emms-playlist-save-as-m3u
address@hidden
[killing and yanking in the interactive playlist buffer
address@hidden
[Killing and yanking
address@hidden
[fix manual sectioning
address@hidden
[Fix conflicts in emms-playlist-mode.el
address@hidden
[Fix emms.texinfo for PDF output (thanks twb)
address@hidden
[Added `emms-playlist-mode-go-popup' for popuping emms-playlist as a side
address@hidden
window.
]
[emms-info-mp3info.el (emms-info-mp3find-arguments): use info-tracknumber
instead of info-tracknum, so as to be consistent with ogginfo.
Trent Buck <address@hidden>**20051119150805
emms-info.el: Update documentation.
]
[emms-source-file.el: add missing third clause to AUTOLOAD calls.
Trent Buck <address@hidden>**20051028142538]
[emms-info-libtag.el: Fix a couple of typos.
Trent Buck <address@hidden>**20051119183945]
[Implement an emms-info function using the libtag package.
Trent Buck <address@hidden>**20051119181528]
[Finished rewriting manual
address@hidden
[More manual work, but still only 71 percent done
address@hidden
[Added support for toggling default action in streams
address@hidden
[Added a hook for emms-streams
address@hidden
[debian/emms.emacs-install: Leave symlinks in bytecode dir for
find-library/function/variable.
Trent Buck <address@hidden>**20051027172739]
[debian/rules: swap binary-indep and binary-arch bodies, since emms is packages
as source code.
Trent Buck <address@hidden>**20051027150418]
[Makefile (ChangeLog): Generate ChangeLog from darcs metadata.
Trent Buck <address@hidden>**20051027133919
debian/rules (build-stamp): Have make generate the ChangeLog.
(build-arch): Include ChangeLog and debian/changelog in debian package.
]
[Added simple player "playsound".
Trent Buck <address@hidden>**20051023012053]
[Remove TODO from debian/docs.
Trent Buck <address@hidden>**20050912133353]
[Don't attempt to dh_installchangelogs ChangeLog in debian/rules.
Trent Buck <address@hidden>**20050912125754]
[Add prefix keys support.
address@hidden
[manual 71% done
address@hidden
[fix emms-info-ogginfo laguange
address@hidden
[manual update (68% done)
address@hidden
[emms-metaplaylist fix requested by Lukhas
address@hidden
[A minor spell correction.
address@hidden
[Make emms-mode-line-icon use the good function to get the current track
address@hidden
[Rename `emms-playlist-save-active-as-m3u' to
`emms-playlist-save-current-as-m3u'.
address@hidden
[emms-playlist-sort.el: New file containing various playlist sort
address@hidden
functions.
]
[emms-setup.el: Added `emms-playlist-sort' to `emms-devel'.
address@hidden
[emms-setup.el: Moved `emms-lyrics' and `emms-playing-time' into
address@hidden
`emms-all'.
]
[emms-lyrics.el: New function: `emms-lyrics-restore-mode-line'.
address@hidden
[emms-playing-time.el: New function: `emms-playing-time-restore-mode-line'.
address@hidden
[manual work (57% done)
address@hidden
[emms.el: Should initialize `emms-player-paused-p' to nil at start. Or a
address@hidden
pause + stop would make `emms-player-paused-p' be wrong.
]
[emms-mode-line.el: Made `emms-mode-line-alter' be compatible with
address@hidden
`emms-track-updated-functions'.
]
[emms-mode-line.el: When artist or title info cann't be achieved, show
address@hidden
file name without directory.
]
[emms-mode-line: Changed dead `emms-playlist-current-track-changed-hook'
address@hidden
to `emms-track-updated-functions'.
]
[emms-playlist-mode-switch-buffer
address@hidden
[Yet Another Installment of the manual re-write
address@hidden
[emms-setup.el re-write
address@hidden
[more manual re-writing
address@hidden
[manual work
address@hidden
[Another installment of manual changes
address@hidden
[some manual fixes (just the start)
address@hidden
[Rename emms-default.el to emms-setup.el.
address@hidden
[List all the changes needed in the manual
address@hidden
[Update tracks with a specific function, and provide
emms-track-updated-functions
address@hidden
[emms.el (emms-playlist-new): Use interactive-p rather than
Michael Olson <address@hidden>**20050925165342
called-interactively-p, since the latter is not available in Emacs21.
]
[emms-streams.el: Update `emms-info-file-info-song-artist' so that it
Michael Olson <address@hidden>**20050925160336
can deal with the new interface.
]
[emms-playlist-mode.el: 3rd attempt to not clobber
Michael Olson <address@hidden>**20050924183844
emms-playlist-buffer-p.
]
[rollback patch to fix adding tracks.
address@hidden
[Adding emms-info-ogginfo.el and consiquently modifying emms-default
address@hidden
[add emms-metaplaylist-mode.el
address@hidden
[emms-playing-time.el:
address@hidden
1 New functions: `emms-playing-time-enable',
`emms-playing-time-disable', `emms-playing-time-toggle', for handling
hook stuffs.
2 Removed `emms-playing-time-display-p' where unnecessary now.
3 Updated commentary and author name. :-)
]
[eemms-lyrics.el:
address@hidden
1 New functions: `emms-lyrics-enable', `emms-lyrics-disable',
`emms-lyrics-toggle', for handling hook stuffs.
2 Removed `emms-lyrics-display-p' where unnecessary now.
3 Updated commentary and author name. :-)
]
[emms-lyrics.el: Fixed a bug in `emms-lyrics-start'.
address@hidden
[emms-playing-time.el: Applied standard customization definitions.
address@hidden
[emms-info-mp3info: Provide a way to configure the mp3info output coding system.
address@hidden
[Add documentation of the define symbols for emms-info.el.
address@hidden
[remove emms-metaplaylist-mode code from emms-playlist-mode
address@hidden
[emms-playing-time: Since 'info-playing-time is an int now, changed
address@hidden
`emms-playing-time-display' accordingly.
]
[emms-info-mp3info: Use number for 'info-playing-time.
address@hidden
[emms-playing-time.el: Updated the playing-time retrieval method, so as
address@hidden
to be able to display playing-time again.
]
[emms-playlist-mode: Make sure emms-playlist-buffer-p is set, since we
Michael Olson <address@hidden>**20050922132808
destroy all local variables.
]
[emms-playlist-mode-go: Add buffer-live-p check to circumvent a
Michael Olson <address@hidden>**20050922132424
"selecting deleted buffer" error.
]
[emms-player-mplayer.el: Set resume method to nil to just use pause.
address@hidden
[fix emms-score.el and emms-info-ogg.el borkage
address@hidden
[clean-up emms-info-ogg.el
address@hidden
[fix ogg-info
address@hidden
[emms-info-mp3info ignores files which are not mp3s
address@hidden
[Don't set values mp3info has nothing for
address@hidden
[later-do.el: Run timer after function did run to avoid stacking
address@hidden
[Inefficiency removed: Update each track only once :P
address@hidden
[Ignore read-onliness when updating a track in a playlist buffer
address@hidden
[Use time-less-p instead of <= for times
address@hidden
[later-do.el emms version
address@hidden
[emms-streams shouldn't overwrite `emms-track-initialize-functions'
address@hidden
[Typo fix (findo -> find)
address@hidden
[emms-info-track-description: Fall back to old behavior if no title and artist
address@hidden
[Hotfix for emms-streams due to info changed. Please fix later.
address@hidden
[Fix emms-default.el, and ignore ogg stuff for now.
address@hidden
[Remove emms-info-later-do.el
address@hidden
[Fix emms-default.el for new emms-info.el
address@hidden
[emms-info-mp3info.el updated for newest emms-info.el
address@hidden
[emms-info.el rewrite.
address@hidden
[later-do: Work even if the called function errors out.
address@hidden
[emms-random: Use `emms-playlist-current-select-random'.
address@hidden
[fixing track killing some more
address@hidden
[use insert function for yanking
address@hidden
[Fixed saving/loading for emms-playlist-mode, also added track updating
address@hidden
[Added track updating to emms.
address@hidden
[Added emms-playlist-mode-insert-function (fixed sorting and shuffling
font-lock)
address@hidden
[Fix bugs in lyrics and mode-line modes when switching songs, fix yanking in
playlist buffer
address@hidden
[Fix track switching error and interactive playlist yanking
address@hidden
[Fix track switching error and interactive playlist yanking
address@hidden
[Added 'emms-playlist-clear to the default key-map for emms-playlist-mode
address@hidden
[Make emms-playlist-current-clear an interactive function.
address@hidden
[Added 'emms-playlist-clear to default playlist keymap
address@hidden
[include streaming into emms-default and fix streaming info from within the
*EMMS Streams* buffer
address@hidden
[Make `emms-playlist-clear' interactive so that I can map it to a key.
address@hidden
[Make `with-current-emms-playlist' disable read-onlyness.
address@hidden
[fix emms-streams.el and emms-player-mplayer.el
address@hidden
[comment out emms-info-playlist breakage
address@hidden
[emms-playlist-set-playlist-buffer: Ensure the selected buffer is a playlist.
address@hidden
[Ignore read-onliness when opening a playlist-mode-buffer.
address@hidden
[fixing errors after breakage
address@hidden
[Big renaming for current buffer/current playlist distinction.
address@hidden
All playlist functions which work on the current playlist now are named
`emms-playlist-current-...'. Other functions named `emms-playlist-...'
work on the current buffer.
This affects the following functions:
emms-playlist-clear => emms-playlist-current-clear
emms-playlist-selected-track => emms-playlist-current-selected-track
emms-playlist-select-next => emms-playlist-current-select-next
emms-playlist-select-previous => emms-playlist-current-select-previous
emms-playlist-select-random => emms-playlist-current-select-random
emms-playlist-select-first => emms-playlist-current-select-first
emms-playlist-select-last => emms-playlist-current-select-last
emms-playlist-insert-source => emms-playlist-current-insert-source
]
[emms-playlist-new: No, it's a major mode, DONT pass an argument!
address@hidden
[Making emms-default now emms-playlist-mode compatible
address@hidden
[emms-playlist-new: Pass positive argument to mode function.
address@hidden
[Renaming the "playlist" source to "streamlist".
address@hidden
Things might be broken.
]
[clean-up pseudo font-locking
address@hidden
["font-locking" for inserted, unselected tracks
address@hidden
[emms.el missing quote fix, emms-playlist-mode.el kill-track fix
address@hidden
[Adding a bunch of FIXME tags for the playlist source
address@hidden
When we come to a consensus on the naming, we'll just fix it.
Yrk should have a word about it, stream-playlist sounds good.
]
[Fixing emms-playlist-mode-open-buffer
address@hidden
[emms-playlist-select should not switch to the playlist buffer.
address@hidden
[Renaming emms-playlist-save to emms-playlist-mode-save-buffer
address@hidden
[Added docstrings and clean-up for emms-playlist-mode.el
address@hidden
[A kinder, gentler emms-playlist-mode-go
address@hidden
[clean-up and emms-playlist-mode-center-current
address@hidden
[emms-player-mplayer.el: mplayer also knows rm, rmvb, mp4, ...etc.
address@hidden
[multiple fixes to emms-playlist-mode.el
address@hidden
[emms-show now knows when nothing is playing.
address@hidden
[Inhibit read-only in `emms-playlist-insert-track'
address@hidden
[mpd-updates
Michael Olson <address@hidden>**20050917021138
emms-player-mpd.el: Add handler for 'resume.
(emms-player-mpd-paused-p): Remove, since we already have
emms-player-paused-p.
(emms-player-mpd-pause): Use toggle instead of either play or
pause.
]
[Making emms-playlist-mode-go respect emms-playlist-buffer
address@hidden
[Add `emms-ensure-player-playing-p'
address@hidden
[Adding emms-playlist-mode-save and -open
address@hidden
[Small fixes
address@hidden
[Be able to clear the playlist buffer even if it's killed.
address@hidden
[Adding emms-playlist-save-active-as-m3u
address@hidden
[Fixing a typo in emms-playlist-save-active
address@hidden
[Docstrings for playlist saving functions
address@hidden
[Adding m3u playlist format for saving.
address@hidden
[Added emms-playlist-mode.el
address@hidden
[Shuffle, sort and source-add don't move point anymore.
address@hidden
[Provide source insertion
address@hidden
[Cleaned up `emms-playlist-save' a bit
address@hidden
[Adding emms-playlist-save and -active-save
address@hidden
Opening will come soon.
]
[Fix emms-playlist-new and make emms-playlist-clear use it.
address@hidden
[Removing the old emms-save-playlist
address@hidden
[emms-source-add now checks for an as of yet unset marker, too.
address@hidden
[Add `emms-playlist-buffer-p'.
address@hidden
[emms-lyrics.el: Changed to `emms-player-seeked-hook' to
address@hidden
`emms-player-seeked-functions', defined in `emms.el'.
]
[emms-playing-time.el: Changed to `emms-player-seeked-hook' to
address@hidden
`emms-player-seeked-functions', defined in `emms.el'.
]
[emms.el: Fix seek bug in `emms-player-seek'.
address@hidden
[emms-lyrics.el: Updated commentary and applied standard customization
address@hidden
definitions.
]
[ogg-comment.el: Define macros before using them.
address@hidden
[Add more mikmod command line args.
address@hidden
[Added mikmod support (thanks to Martin Schoenmakers)
address@hidden
[emms-playlist-new, emms-playlist-set-playlist-buffer: New commands.
address@hidden
[Add `emms-player-simple-regexp'. Also, use it as appropriate.
address@hidden
[Fixing typo in file regexps for gstreamer
address@hidden
[Updated define-emms-simple-player examples in emms.texinfo
address@hidden
[Call widen in shuffle and sort.
address@hidden
[Added `emms-playlist-delete-track-function'.
address@hidden
[Remove emms-playlist-kill-track.
address@hidden
[Fix shuffling in combined sources.
address@hidden
[Call `emms-shuffle' to shuffle a source.
address@hidden
[Cleanup of the shuffle/sort stuff
address@hidden
[emms-shuffle-all: Depend on the value of current, not of emms-player-playing-p
address@hidden
[Don't make emms-playlist-sort and emms-playlist-shuffle interactive.
address@hidden
[Keep the selected song correct for shuffling and sorting
address@hidden
[Throw errors for `emms-next' and `emms-previous' at the end/beginning of the
playlist
address@hidden
[Added `emms-randomÃ' (idea by twb)
address@hidden
[Add shuffling and sorting.
address@hidden
[Lots of condition-case fixes.
address@hidden
[First attempt at reading playing time for .ogg
address@hidden
Problem : it's a bit long to read the info now.
We need to optimize that.
]
[Move gstreamer support into simple player.
address@hidden
[Add pause and resume to the simple player.
address@hidden
[emms-stream-info.el: Use emms-playlist-selected-track.
address@hidden
[Removed old gstreamer wrappers
address@hidden
[Added new generic wrapper for gstreamer
address@hidden
[Fixed typo in emms.el
address@hidden
Non quoted hook variable
]
[Rewrote emms-player-gstreamer
address@hidden
[Typo: It's emms-playlist-insert-track, not ...-track-insert.
address@hidden
[emms-player-mpd doesn't need emms-player-extensions anymore.
address@hidden
[FAQ: Typo fix (Thes -> The)
address@hidden
[Fixing the extensions problem.
address@hidden
Just removed the requires, and added require mplayer
in emms-default.
]
[Select a track after adding, too, if none is selected.
address@hidden
[Rename emms-mpd.el to emms-player-mpd.el
address@hidden
[Rename emms-lyric.el to emms-lyrics.el
address@hidden
[Add speex support
address@hidden
[Add pause and seek support to emms.el.
address@hidden
This factors out the mplayer support into emms-player-mplayer.el,
and removes emms-player-extensions.el.
]
[renaming the provide, Emacs complains otherwise
address@hidden
[Fixed emms-mode-line-icon and -playing-time
address@hidden
[Rename emms-gstreamer.el to emms-player-gstreamer.el
address@hidden
[fixing emms-lyric.el and emms-mode-line.el
address@hidden
I don't have any lyric file, so I can't test it. But
there are no errors :)
]
[emms.el (with-current-emms-playlist): Also recreate when the buffer is
address@hidden
dead.
]
[emms.el (emms-next-noerror): Always return non-nil when
address@hidden
`emms-playlist-select-next' doesn't error out.
]
[Playlist buffer rewrite
address@hidden
[Initial commit (CVS 2005-09-11)
address@hidden
Patch bundle hash:
9ae706dcbd140cd49c1fb1476698f9318a10a387
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emms-patches] darcs patch: emms-player-mpd: If the MusicPD daemon g... (and 2 more),
Michael Olson <=