[Top][All Lists]

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

[Emms-patches] darcs patch: NEWS: Mention changes in emms-playing-time.

From: William Xu
Subject: [Emms-patches] darcs patch: NEWS: Mention changes in emms-playing-time. (and 2 more)
Date: Fri, 02 Mar 2007 14:02:06 +0800

Sun Feb 25 14:13:42 CST 2007  William Xu <address@hidden>
  * NEWS: Mention changes in emms-playing-time.

Thu Mar  1 17:15:37 CST 2007  William Xu <address@hidden>
  * emms.texinfo: Update lyrics section.

Fri Mar  2 13:56:49 CST 2007  William Xu <address@hidden>
  * emms-lyrics.el: Add lyrics auto-scrolling support.
New patches:

[NEWS: Mention changes in emms-playing-time.
William Xu <address@hidden>**20070225061342] {
hunk ./NEWS 36
+  - emms-playing-time supports different display styles now.

[emms.texinfo: Update lyrics section.
William Xu <address@hidden>**20070301091537] {
hunk ./emms.texinfo 1776
-The lyrics files should have the extention ``.lrc''.
+The lyrics files should have the extention ``.lrc'', and can be placed
+under either the same directory as the music files or
hunk ./emms.texinfo 1800
-Local lyrics repository. @command{emms-lyrics-find-lyric} will look
-for lyrics in current directory and this directory.
+Local lyrics repository.
address@hidden will look for lyrics in current
+directory(i.e., same as the music file) and this directory.

[emms-lyrics.el: Add lyrics auto-scrolling support.
William Xu <address@hidden>**20070302055649] {
hunk ./emms-lyrics.el 3
-;; Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
hunk ./emms-lyrics.el 6
-;; Keywords: emms music lyric
+;; Keywords: emms music lyrics
hunk ./emms-lyrics.el 73
-  "Local lyrics repository. `emms-lyrics-find-lyric' will look
-for lyrics in current directory and this directory."
+  "Local lyrics repository.
+`emms-lyrics-find-lyric' will look for lyrics in current directory(i.e.,
+same as the music file) and this directory."
hunk ./emms-lyrics.el 99
+(defcustom emms-lyrics-scroll-p t
+  "Non-nil value will enable lyrics scrolling."
+  :type 'boolean
+  :group 'emms-lyrics)
+(defcustom emms-lyrics-scroll-timer-interval 0.4
+  "Interval between scroller timers. The shorter, the faster."
+  :type 'number
+  :group 'emms-lyrics)
hunk ./emms-lyrics.el 116
-  "a list of the form: '((time0 lyric0) (time1 lyric1)...)). In short,
-at time-i, display lyric-i.")
+  "a list of the form: '((time0 . lyric0) (time1 . lyric1)...)). In
+short, at time-i, display lyric-i.")
hunk ./emms-lyrics.el 134
+(defvar emms-lyrics-scroll-timers nil
+  "Lyrics scroller timers.")
hunk ./emms-lyrics.el 175
-                      (append emms-lyrics-alist `((,time ,lyric))))
-                (setq time 0))))))
+                      (append emms-lyrics-alist `((,time . ,lyric))))
+                (setq time 0)))))
+        (sort emms-lyrics-alist (lambda (a b) (< (car a) (car b)))))
hunk ./emms-lyrics.el 326
-  (setq emms-lyrics-timers
-       (mapcar
-        '(lambda (arg)
-           (let ((time (- (car arg) emms-lyrics-elapsed-time))
-                 (lyric (cadr arg)))
-             (when (>= time 0)
-               (run-at-time (format "%d sec" time)
-                            nil
-                            'emms-lyrics-display
-                            lyric))))
-        emms-lyrics-alist)))
+  (setq emms-lyrics-timers '())
+  (let ((lyrics-alist emms-lyrics-alist))
+    (while lyrics-alist
+      (let ((time (- (caar lyrics-alist) emms-lyrics-elapsed-time))
+            (lyric (cdar lyrics-alist))
+            (next-time (and (cdr lyrics-alist)
+                            (- (caadr lyrics-alist) emms-lyrics-elapsed-time)))
+            (next-lyric (and (cdr lyrics-alist)
+                             (cdadr lyrics-alist))))
+        (setq emms-lyrics-timers
+              (append emms-lyrics-timers
+                      (list
+                       (run-at-time (format "%d sec" time)
+                                    nil
+                                    'emms-lyrics-display-handler
+                                    lyric
+                                    next-lyric
+                                    (and next-time (- next-time time)))))))
+      (setq lyrics-alist (cdr lyrics-alist)))))
hunk ./emms-lyrics.el 361
-(defun emms-lyrics-display (lyric)
-  "Display lyric.
-LYRIC is current playing lyric.
+(defun emms-lyrics-display-handler (lyric next-lyric diff)
+  "DIFF is the timestamp differences between current LYRIC and
+  (emms-lyrics-display (format emms-lyrics-display-format lyric))
+  (when emms-lyrics-scroll-p
+    (emms-lyrics-scroll lyric next-lyric diff)))
hunk ./emms-lyrics.el 368
+(defun emms-lyrics-display (lyric)
+  "Display LYRIC now.
hunk ./emms-lyrics.el 376
-      (setq emms-lyrics-mode-line-string
-           (format emms-lyrics-display-format lyric))
+      (setq emms-lyrics-mode-line-string lyric)
+;;       (setq emms-lyrics-mode-line-string ; make it fit scroller width
+;;             (concat emms-lyrics-mode-line-string
+;;                     (make-string
+;;                      (abs (- emms-lyrics-scroll-width (length lyric)))
+;;                      (string-to-char " "))))
hunk ./emms-lyrics.el 385
-        (message lyric)))))
+        (message emms-lyrics-mode-line-string)))))
hunk ./emms-lyrics.el 425
+;; (setq emms-lyrics-scroll-width 20)
+(defun emms-lyrics-scroll (lyric next-lyric diff)
+  "Scroll LYRIC to left smoothly in DIFF seconds.
+DIFF is the timestamp differences between current LYRIC and
+  (setq diff (floor diff))
+  (setq emms-lyrics-scroll-timers '())
+  (let ((scrolled-lyric (concat lyric " " next-lyric))
+        (time 0)
+        (pos 0))
+    (catch 'return
+      (while (< time diff)
+        (setq emms-lyrics-scroll-timers
+              (append emms-lyrics-scroll-timers
+                      (list
+                       (run-at-time time
+                                    nil
+                                    'emms-lyrics-display
+                                    (if (>= (length lyric) pos)
+                                        (substring scrolled-lyric pos)
+                                      (throw 'return))))))
+        (setq time (+ time emms-lyrics-scroll-timer-interval))
+        (setq pos (1+ pos))))))


[emms-player-mpd: Miscellaneous docfixes
Michael Olson <address@hidden>**20070227180444] 
[manual: Mention how to set the default EMMS playlist mode
Michael Olson <address@hidden>**20070223040831] 
[Move dictionary definitions higher to avoid compiler warning
Michael Olson <address@hidden>**20070223040135] 
Tassilo Horn <address@hidden>**20070222165136
 Fixed emms-mark-track so that you can (un)mark backwards
 with `C-u -3 m'.
 Wrote texinfo docs for emms-mark.el.
[Speed up emms-play-directory-tree by about factor 10
 Most of the speedup comes from using nconc in later-do instead
 of append (and therefore, not excessively copying lists).
 I see a factor of 10 speedup when generating the playlist
 for 37000 audio files.
[Fix several XEmacs compatibility issues
Michael Olson <address@hidden>**20070215231146] 
[emms-texinfo: Add stubs for emms-mark and emms-tag-editor
Michael Olson <address@hidden>**20070215171211
 I've added "write me" chapters to the manual for emms-mark.el and
 emms-tag-editor.el, because they need to be written before the
 release.  Hopefully others will volunteer to write them :^) .
[NEWS: Update
Michael Olson <address@hidden>**20070207142227] 
[emms-tag-editor: Make editing of ogg vorbis comments work properly
Michael Olson <address@hidden>**20070129154657
 It turns out we have to have the "-t" option before each bit of track
 information, not just the first.  Also, avoid sending empty track
 information to vorbiscomment.
[emms-mark: Save the keymap properly
Michael Olson <address@hidden>**20070129150940] 
[emms-mark: Overhaul and turn into a derived mode
Michael Olson <address@hidden>**20070129091833
 Make emms-mark integrate better with the rest of EMMS by turning it
 into a derived mode of emms-playlist-mode.  This allows it to have its
 own keymap derived from emms-playlist-mode, and be easily enabled and
 disabled without messing up the output from emms-show.
 It will operate on a buffer-by-buffer basis, but can easily be made
 the default playlist mode if desired.
 We have to avoid calling emms-playlist-mode a second time when
 starting emms-mark-mode, so that the selection does not disappear.
 Thus, it must be its own function, rather than using
[emms-playlist: Pay attention to selection when updating
Michael Olson <address@hidden>**20070129091716
 Make sure that we preserve the current selection if updating the
 currently-selected track..
[Distinguish `emms-track-description' and `emms-track-force-description'
Michael Olson <address@hidden>**20070129091330
 The idea is that emms-track-force-description is only allowed to be
 used when inserting descriptions into a playlist buffer.  This lets us
 distinguish between the content and layout of the text, for add-ons
 like emms-mark that want to do something decorative with the text.
[New macro emms-walk-tracks
Michael Olson <address@hidden>**20070129091141
 This macro makes it easy to write code which steps forward through the
 tracks of the current buffer iteratively.
[Add `emms-lyrics-catchup' for dealing with external lyrics crawler.
William Xu <address@hidden>**20070208033306] 
Tassilo Horn <address@hidden>**20070116202013] 
[Manual: Add periods to end of menu entry descriptions, update menus, minor 
grammar and style fixes
Michael Olson <address@hidden>**20070113234824] 
Tassilo Horn <address@hidden>**20070113104902
 Roman Lagunov reported a bug: the last.fm plugin failed scrobbling tracks with
 & in artist/title/album. The same applies to streams containing an ampersand.
 So I added ?& and ?? to `emms-url-specials'. But because both are needed to
 submit values via HTTP GET now you have to `emms-escape-url' only the arguments
 that may contain special chars instead the complete url, e.g.:
             (concat emms-lastfm-server
                     "&c=" emms-lastfm-client-id
                     "&v=" (number-to-string emms-lastfm-client-version)
                     "&u=" (emms-escape-url emms-lastfm-username))
 instead of
              (concat emms-lastfm-server
                     "&c=" emms-lastfm-client-id
                     "&v=" (number-to-string emms-lastfm-client-version)
                     "&u=" emms-lastfm-username))
[emms-streams: Make sure type is a symbol, not a string
Michael Olson <address@hidden>**20070108191308] 
Tassilo Horn <address@hidden>**20070108205923] 
Tassilo Horn <address@hidden>**20070107104105
 Adds docs for emms-volume-minor-mode and replaces defvars with defopts in the
 last.fm chapter.
Tassilo Horn <address@hidden>**20070106173701] 
[emms-lastfm: Remove periods from end of messages
Michael Olson <address@hidden>**20070106011559] 
[emms-lastfm: Add emms-lastfm-np, which displays the current song information 
as a message or inserts it at point
Michael Olson <address@hidden>**20070105235058] 
[Add support for playing Last.fm streams using emms-streams interface
Michael Olson <address@hidden>**20070105230616] 
[emms-lastfm: Use emms-cancel-timer, fix FIXME section, make 
emms-lastfm-radio-request-metadata more flexible
Michael Olson <address@hidden>**20070105073906] 
[emms-url: Only escape spaces and newlines, on second thought
Michael Olson <address@hidden>**20070105073821] 
[Make jack.el use emms-compat.el rather than cl.el, and tidy up emms-compat.el
Michael Olson <address@hidden>**20070105042701] 
[emms-playlist-sort: Add compile-time dependency on cl.el to avoid a warning
Michael Olson <address@hidden>**20070105040231] 
[emms-lastfm: Use emms-url.el, fix compiler warnings, and be kind to the 
Michael Olson <address@hidden>**20070105035342] 
[emms-player-mpd: Use functions in emms-url.el
Michael Olson <address@hidden>**20070105035233] 
[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] 
[emms-compat: New file that contains compatibility functions for emms; this 
make emms.el a bit cleaner-looking
Michael Olson <address@hidden>**20070105032247] 
[emms-streams: Try to reconnect to station if briefly disconnected
Michael Olson <address@hidden>**20070105000942] 
[Remove emms-volume-mpd-raise/lower, make chapter in manual for emms-volume.el
Michael Olson <address@hidden>**20070105000820] 
Tassilo Horn <address@hidden>**20070103205523
 This patch adds a new function to emms-lastfm.el:
 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.
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.
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.
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. 
Tassilo Horn <address@hidden>**20061229155921] 
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
 2. It adds the ability to play lastfm:// streams. New user functions:
   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.  
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.
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.
Tassilo Horn <address@hidden>**20061220205010
 The docstring of `next-line' suggest to use `forward-line' instead, so
 use that...
[emms-playlist-sort.el: Reorganize codes && add `emms-playlist-sort-by-list'.
William Xu <address@hidden>**20061225054559] 
[emms.texinfo: Update emms-playing-time info.
[emms-playing-time: Add stuffs for controlling displaying on mode line
 while still enabling emms-playing-time module at backgrond.
[emms-mode-line: Rename `emms-playing-time-toggle' to `emms-mode-line-toggle'.
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.
[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-player-mpd: Document how to use MusicPD to change the volume via 
Michael Olson <address@hidden>**20061208223509] 
[emms-lyrics: Make `emms-lyrics-find-lyric-function' customizable and add
[emms-i18n: Rename functions to match file name.
[emms-setup: Add `emms-i18n' to `emms-devel'.
[emms-info-mp3info: Make use of `emms-i18n-call-process-simple'.
[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.
[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] 
Tassilo Horn <address@hidden>**20061206112823
 This patch adds emms-lastfm.el, its setup to emms-setup.el and myself
[Fix a silly bug in emms-mp3tag. Remove timestamp.
Ye Wenbin <address@hidden>**20061206020710] 
[AUTHORS: Added Ye Wenbin
[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
[emms.el: Fix bug introduced by recent changes to 
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" 
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 
Michael Olson <address@hidden>**20061119041900] 
[bind SPC to `scroll-up' in emms-playlist-mode and update manual.
[emms-info-mp3info.el: Replace `emms-iconv' with decode-coding-string and
[emms-playing-time.el: New variable `emms-playing-time-style', it
 supports two styles at present, `time' and `bar'.
[emms-player-mpd: Deal with change in output when getting supported file types
Michael Olson <address@hidden>**20061028042119] 
[emms.el: Move macros to the top of the file.
[NEWS: Add entry for recent emms-player-mpd change
Michael Olson <address@hidden>**20061023125738] 
[emms-player-mpd: Handle errors that occur when we begin playback
Michael Olson <address@hidden>**20061022215310] 
[NEWS: Version 2 is version 2.0
[emms-playlist-mode: Handle case where selection has not been set but user 
wants to delete a region
Michael Olson <address@hidden>**20061022201724] 
[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] 
[FluidSynth midi file player
[Added delYsid
 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-player-mplayer.el: Mplayer also supports .vob files.
[fix faulty emms-playlist-mode keybinding, fix due to William and Damien.
[Added seeking to the playlist keymap, and updated the manual.
[emms-player-mpd: Only display error if we are certain that url.el is not 
Michael Olson <address@hidden>**20061004032213] 
 Add relative seek support for alsaplayer
 A simple-player definition for timidity
 Get pause/resume working for alsaplayer
 mplayer also supports mms:// URLs
[emms-playing-time.el: Minor cleanups.
[emms-lyrics.el: Minor Cleanups.
[DoTheRightThing with player pausing and emms-bookmarks.el
[Added emms-bookmarks.el
[Added `emms-pause' to emms-playlist-mode.el bound to to ``P''.
[browser: add deletion started/finished message
Damien Elmes <address@hidden>**20060923051128] 
[Added a link to the online version of the manual.
[emms-playing-time.el now works with `seek-to'.
[Added `seek-to' to emms.el and emms-player-mplayer.el.
[browser/cache: support deleting files, make emms-cache-dirty a defsubst
Damien Elmes <address@hidden>**20060922090553] 
[TAG 2.1
Patch bundle hash:

reply via email to

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