[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[emms-help] [patch] more killing and yanking + darcs weirdness
From: |
Yoni Rabkin Katzenell |
Subject: |
[emms-help] [patch] more killing and yanking + darcs weirdness |
Date: |
Fri, 09 Dec 2005 18:56:37 +0200 |
User-agent: |
Gnus/5.110004 (No Gnus v0.4) Emacs/22.0.50 (gnu/linux) |
I have just done a `darcs send' on the attached patch. The patch should
allow more natural, Emacs style killing and yanking without destroying
the overlays (bugs included of course).
To avoid conflicts I pulled a pristine tree from forcer and did a
successful `darcs apply -o ...' on it.
But there is something I don't get. Maybe some darcs guru can explain.
When I do a `darcs changes' on forcer's pristine tree I see the
following patch:
Mon Dec 5 11:20:44 IST 2005 address@hidden
* Killing and yanking
So obviously it has already been commited. But when I issue a `darcs
send' in the exact same tree, darcs asks me if to send that exact same
patch! What am I doing wrong?
New patches:
[Killing and yanking
address@hidden {
hunk ./emms-playlist-mode.el 3
-;;; Copyright Yoni Rabkin under the GNU General Public License.
+;;; Copyright 2005 Yoni Rabkin under the GNU General Public License.
hunk ./emms-playlist-mode.el 8
-;;; I'm designing this as a method of displaying and manipulating the
-;;; different Emms playlist buffers defined by the user.
+;;; This is a method of displaying and manipulating the different Emms
+;;; playlist buffers.
hunk ./emms-playlist-mode.el 13
-
-;;; Todo:
-;;;
-;;; emms-add-m3u-playlist displays the first track on the
-;;; mode-line.
-;;;
-;;; Not all of the methods for adding tracks behave correctly in
-;;; regards to marking the current track. Stress test this.
hunk ./emms-playlist-mode.el 28
+
+(defvar emms-playlist-mode-window-width -25
+ "Width for the emms-playlist-mode pop-up window.")
hunk ./emms-playlist-mode.el 73
- (define-key emms-playlist-mode-map (kbd "n") 'emms-next)
- (define-key emms-playlist-mode-map (kbd "p") 'emms-previous)
hunk ./emms-playlist-mode.el 74
- (define-key emms-playlist-mode-map (kbd "C-k")
'emms-playlist-mode-kill-track)
hunk ./emms-playlist-mode.el 75
- (define-key emms-playlist-mode-map (kbd "d")
'emms-playlist-mode-kill-track)
+ (define-key emms-playlist-mode-map (kbd "C-k")
'emms-playlist-mode-kill-track)
+ (define-key emms-playlist-mode-map (kbd "C-w") 'emms-playlist-mode-kill)
+ (define-key emms-playlist-mode-map (kbd "C-n") 'next-line)
+ (define-key emms-playlist-mode-map (kbd "C-p") 'previous-line)
+ (define-key emms-playlist-mode-map (kbd "C-j")
'emms-playlist-mode-insert-newline)
+ (define-key emms-playlist-mode-map (kbd "M-y")
'emms-playlist-mode-yank-pop)
+ (define-key emms-playlist-mode-map (kbd "M-<") 'emms-playlist-mode-first)
+ (define-key emms-playlist-mode-map (kbd "M->") 'emms-playlist-mode-last)
+ (define-key emms-playlist-mode-map (kbd "n") 'emms-next)
+ (define-key emms-playlist-mode-map (kbd "p") 'emms-previous)
hunk ./emms-playlist-mode.el 88
- (define-key emms-playlist-mode-map (kbd "RET")
'emms-playlist-mode-play-current-track)
hunk ./emms-playlist-mode.el 89
- (define-key emms-playlist-mode-map (kbd "<mouse-2>")
'emms-playlist-mode-play-current-track)
hunk ./emms-playlist-mode.el 90
- (define-key emms-playlist-mode-map (kbd "M-<") 'emms-playlist-mode-first)
- (define-key emms-playlist-mode-map (kbd "M->") 'emms-playlist-mode-last)
- (define-key emms-playlist-mode-map (kbd "C-n")
'emms-playlist-mode-select-next)
- (define-key emms-playlist-mode-map (kbd "C-p")
'emms-playlist-mode-select-previous)
hunk ./emms-playlist-mode.el 91
+ (define-key emms-playlist-mode-map (kbd "<mouse-2>")
'emms-playlist-mode-play-current-track)
+ (define-key emms-playlist-mode-map (kbd "RET")
'emms-playlist-mode-play-current-track)
hunk ./emms-playlist-mode.el 138
-
-;; Buggy
-(defun emms-playlist-mode-yank ()
- "Yank the last Emms track killed into the buffer."
- (interactive)
- (let ((track nil)
- (start nil))
- (with-temp-buffer
- (yank)
- (setq track (get-text-property (point-min) 'emms-track)))
- (if track
- (funcall emms-playlist-insert-track-function track)
- (error "No playlist info to yank"))))
-
-;; The logic for killing tracks in an interactive manner is
-;; suprisingly annoying
-(defun emms-playlist-mode-kill-track ()
- "Kill the track at point."
- (interactive)
- (let ((region (emms-property-region (point) 'emms-track))
- (inhibit-read-only t))
- (cond ((not (emms-playlist-track-at))
- (kill-line 1) (current-kill 1))
- ((and (not (emms-playlist-mode-selected-at))
- (emms-playlist-track-at))
- (kill-region (car region)
- (cdr region))
- (emms-playlist-mode-kill-track))
- ((and emms-player-playing-p
- (emms-playlist-mode-selected-at))
- (emms-stop)
- (emms-next-noerror)
- (kill-region (car region)
- (cdr region))
- (emms-playlist-mode-kill-track))
- ((and (not emms-player-playing-p)
- (emms-playlist-mode-selected-at))
- (kill-region (car region)
- (cdr region))
- (emms-playlist-mode-kill-track))
- (t (error "Cannot kill content at point")))))
hunk ./emms-playlist-mode.el 151
+
+(defun emms-playlist-mode-insert-newline ()
+ "Insert a newline at point."
+ (interactive)
+ (let ((inhibit-read-only t))
+ (newline)))
+
+;;; --------------------------------------------------------
+;;; Killing and yanking
+;;; --------------------------------------------------------
+
+(defun emms-playlist-mode-between-p (p a b)
+ "Return t if P is a point between points A and B."
+ (if (eq a b)
+ nil
+ (eq p (cadr (sort (list a b p) #'<=)))))
+
+;; C-k
+(defun emms-playlist-mode-kill-track ()
+ "Kill track at point."
+ (interactive)
+ (let ((track (emms-playlist-track-at))
+ (inhibit-read-only t))
+ (if track
+ (let ((track-region (emms-property-region (point)
+ 'emms-track)))
+ (when (and emms-player-playing-p
+ (equal (emms-playlist-selected-track) track))
+ (emms-stop))
+ (remove-overlays (point-at-bol) (point-at-eol))
+ (kill-region (car track-region) (cdr track-region)))
+ (kill-line))))
+
+;; C-w
+(defun emms-playlist-mode-kill ()
+ "Kill from mark to point."
+ (interactive)
+ (let ((inhibit-read-only t)
+ (m (mark)) ; throw error if no mark
+ (p (point))
+ (sm emms-playlist-selected-marker))
+ (kill-region p m)
+ (when (emms-playlist-mode-between-p
+ (marker-position sm) p m)
+ (setq emms-playlist-selected-marker nil)
+ (setq emms-playlist-mode-selected-overlay-marker nil)
+ (emms-stop)))) ; regardless of state
+
+;; C-y
+(defun emms-playlist-mode-yank ()
+ "Yank into the playlist buffer."
+ (interactive)
+ (let ((inhibit-read-only t))
+ (emms-playlist-mode-remove-overlay-selected)
+ (yank)
+ (emms-playlist-mode-overlay-selected)))
+
+;; M-y
+(defun emms-playlist-mode-yank-pop ()
+ "Cycle through the kill-ring."
+ (interactive)
+ (let ((inhibit-read-only t))
+ (yank-pop)))
hunk ./emms-playlist-mode.el 241
- (unless (null emms-playlist-mode-selected-overlay-marker)
- (save-excursion
- (goto-char emms-playlist-mode-selected-overlay-marker)
- (remove-overlays (point-at-bol)
- (point-at-eol))
- (emms-playlist-mode-overlay-at-point
- 'emms-playlist-track-face 1)))
+ (emms-playlist-mode-remove-overlay-selected)
hunk ./emms-playlist-mode.el 247
- (emms-playlist-mode-overlay-at-point
+ (emms-playlist-mode-overlay-at-point
hunk ./emms-playlist-mode.el 249
+
+(defun emms-playlist-mode-remove-overlay-selected ()
+ "Remove the overlay from the currently selected track"
+ (unless (null emms-playlist-mode-selected-overlay-marker)
+ (save-excursion
+ (goto-char emms-playlist-mode-selected-overlay-marker)
+ (remove-overlays (point-at-bol)
+ (point-at-eol))
+ (emms-playlist-mode-overlay-at-point
+ 'emms-playlist-track-face 1))))
hunk ./emms-playlist-mode.el 357
-
-(defvar emms-playlist-window-width -25
- "Window width for the emms-playlist window when it's popuped.")
hunk ./emms-playlist-mode.el 360
-WINDOW-WIDTH is `emms-playlist-window-width'."
+WINDOW-WIDTH is `emms-playlist-mode-window-width'."
hunk ./emms-playlist-mode.el 362
- (setq emms-playlist-window-width
- (or window-width emms-playlist-window-width))
- (split-window-horizontally emms-playlist-window-width)
+ (setq emms-playlist-mode-window-width
+ (or window-width emms-playlist-mode-window-width))
+ (split-window-horizontally emms-playlist-mode-window-width)
}
[killing and yanking in the interactive playlist buffer
address@hidden {
hunk ./emms-playlist-mode.el 164
- (if (eq a b)
+ (if (or (eq a b)
+ (and (> b a)
+ (= p b)))
hunk ./emms-playlist-mode.el 171
+;;
+;; Currently this kills as regular GNU/Emacs would and not like a
+;; typical music player would.
hunk ./emms-playlist-mode.el 197
- (kill-region p m)
+ ;; Are we killing the playing/selected track?
hunk ./emms-playlist-mode.el 199
- (marker-position sm) p m)
+ (marker-position sm) m p)
hunk ./emms-playlist-mode.el 202
- (emms-stop)))) ; regardless of state
+ (emms-stop))
+ (kill-region p m)))
hunk ./emms-playlist-mode.el 210
- (emms-playlist-mode-remove-overlay-selected)
- (yank)
- (emms-playlist-mode-overlay-selected)))
+ (yank))
+ (emms-playlist-mode-overlay-refresh))
hunk ./emms-playlist-mode.el 247
- (save-excursion
- (goto-char emms-playlist-selected-marker)
- (setq emms-playlist-mode-selected-overlay-marker
- (point-marker))
- (setq emms-playlist-mode-selected-overlay
- (emms-playlist-mode-overlay-at-point
- 'emms-playlist-selected-face 2))))
+ (when (not (and (null emms-playlist-selected-marker)
+ (null emms-playlist-mode-selected-overlay-marker))) ; ugh
+ (save-excursion
+ (goto-char emms-playlist-selected-marker)
+ (setq emms-playlist-mode-selected-overlay-marker
+ (point-marker))
+ (setq emms-playlist-mode-selected-overlay
+ (emms-playlist-mode-overlay-at-point
+ 'emms-playlist-selected-face 2)))))
hunk ./emms-playlist-mode.el 259
- (unless (null emms-playlist-mode-selected-overlay-marker)
+ (when (not (null emms-playlist-mode-selected-overlay-marker))
hunk ./emms-playlist-mode.el 267
+(defun emms-playlist-mode-overlay-all ()
+ "Place an low-priority overlay over the entire buffer."
+ (emms-playlist-mode-overlay-track (point-min)
+ (point-max)
+ 'emms-playlist-track-face
+ 1))
+
+;; not graceful, but avoids growing as the number of tracks grow.
+(defun emms-playlist-mode-overlay-refresh ()
+ "Remove and re-apply all the overlays in the buffer."
+ (remove-overlays (point-min)
+ (point-max))
+ (emms-playlist-mode-overlay-all)
+ (setq emms-playlist-mode-selected-overlay-marker nil)
+ (emms-playlist-mode-overlay-selected))
+
hunk ./emms-playlist-mode.el 393
+ ;; when there is neither a current emms track or a playing one...
hunk ./emms-playlist-mode.el 396
+ ;; ...then stop the player.
hunk ./emms-playlist-mode.el 398
+ ;; why select the first track?
hunk ./emms-playlist-mode.el 401
+ ;; when there is a selected track.
}
Context:
[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
[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.
]
[List all the changes needed in the manual
address@hidden
[Update tracks with a specific function, and provide
emms-track-updated-functions
address@hidden
[Adding emms-info-ogginfo.el and consiquently modifying emms-default
address@hidden
[add emms-metaplaylist-mode.el
address@hidden
[rollback patch to fix adding tracks.
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
[Make emms-playlist-current-clear an interactive function.
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
[Added 'emms-playlist-clear to default playlist keymap
address@hidden
[Make `emms-playlist-clear' interactive so that I can map it to a key.
address@hidden
[include streaming into emms-default and fix streaming info from within the
*EMMS Streams* buffer
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:
8ebde18f92193e73f781983110b30cd7cc4c0dfd
--
"Cut your own wood and it will warm you twice"