emms-patches
[Top][All Lists]
Advanced

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

[Emms-patches] darcs patch: emms-lyrics.el: Fix file-exists-p error when


From: William Xu
Subject: [Emms-patches] darcs patch: emms-lyrics.el: Fix file-exists-p error when finding l...
Date: Wed, 14 Jun 2006 11:21:47 +0800

Wed Jun 14 11:21:14 CST 2006  address@hidden
  * emms-lyrics.el: Fix file-exists-p error when finding lyrics file for
  streams. At present, will just take care of tracks with 'file type.
New patches:

[emms-lyrics.el: Fix file-exists-p error when finding lyrics file for
address@hidden
 streams. At present, will just take care of tracks with 'file type.
] {
hunk ./emms-lyrics.el 133
-  "Read a lyric file(LRC format). File should end up with \".lrc\", its
-contents look like one of the following:
+  "Read a lyric file(LRC format). FILE should end up with \".lrc\", its
+content looks like one of the following:
hunk ./emms-lyrics.el 141
-  (unless (file-exists-p file)
-    (setq file (emms-lyrics-find-lyric file)))
-  (when (and file (not (string= file "")) (file-exists-p file))
-    (with-temp-buffer
-      (let ((coding-system-for-read emms-lyrics-coding-system))
-      (insert-file-contents file)
-      (while (search-forward-regexp "\\[[0-9:.]+\\].*" nil t)
-       (let ((lyric-string (match-string 0))
-             (time 0)
-             (lyric ""))
-         (setq lyric
-               (emms-replace-regexp-in-string ".*\\]" "" lyric-string))
-         (while (string-match "\\[[0-9:.]+\\]" lyric-string)
-           (let* ((time-string (match-string 0 lyric-string))
-                  (semi-pos (string-match ":" time-string)))
-             (setq time
-                   (+ (* (string-to-number
-                          (substring time-string 1 semi-pos))
-                         60)
-                      (string-to-number
-                       (substring time-string
-                                  (1+ semi-pos)
-                                  (1- (length time-string))))))
-             (setq lyric-string
-                   (substring lyric-string (length time-string)))
-             (setq emms-lyrics-alist
-                   (append emms-lyrics-alist `((,time ,lyric))))
-             (setq time 0))))))
-      t)))
+  (when (eq 'file (emms-track-get
+                   (emms-playlist-current-selected-track)
+                   'type))
+    (unless (file-exists-p file)
+      (setq file (emms-lyrics-find-lyric file)))
+    (when (and file (not (string= file "")) (file-exists-p file))
+      (with-temp-buffer
+        (let ((coding-system-for-read emms-lyrics-coding-system))
+          (insert-file-contents file)
+          (while (search-forward-regexp "\\[[0-9:.]+\\].*" nil t)
+            (let ((lyric-string (match-string 0))
+                  (time 0)
+                  (lyric ""))
+              (setq lyric
+                    (emms-replace-regexp-in-string ".*\\]" "" lyric-string))
+              (while (string-match "\\[[0-9:.]+\\]" lyric-string)
+                (let* ((time-string (match-string 0 lyric-string))
+                       (semi-pos (string-match ":" time-string)))
+                  (setq time
+                        (+ (* (string-to-number
+                               (substring time-string 1 semi-pos))
+                              60)
+                           (string-to-number
+                            (substring time-string
+                                       (1+ semi-pos)
+                                       (1- (length time-string))))))
+                  (setq lyric-string
+                        (substring lyric-string (length time-string)))
+                  (setq emms-lyrics-alist
+                        (append emms-lyrics-alist `((,time ,lyric))))
+                  (setq time 0))))))
+        t))))
}

Context:

[added the section "Finding files and speed" to the manual
address@hidden 
[fix bug in emms-playlist-mode-center-current
address@hidden 
[removed superfluous comment (actually testing darcs send)
address@hidden 
[debian: add changelog for 2.0-2
address@hidden 
[debian: Install info file as well
address@hidden 
[browser: sorting, bugfixes
Damien Elmes <address@hidden>**20060612051800
 - add sorting for subitems (albums, tracks, etc)
 - make isearching expand the current entry automatically
 - rename subitems-exist to subitems-visible (clearer)
] 
[updated manual about emms-foobar-file prefix toggling
address@hidden 
[emms-cache: add pruning support, make save/load interactive
Damien Elmes <address@hidden>**20060611095400] 
[Use better exclude regexp, so that people can load music files with '#' in the 
middle of the name.
Michael Olson <address@hidden>**20060610230507] 
[emms-info: Never return 0 for info-mtime, since emms-time-less-p does not like 
this.  Use nil instead.
Michael Olson <address@hidden>**20060610230409] 
[Add mpd volume settings to custom
Martin Schoenmakers <address@hidden>**20060609231150
 
 Small patchlet so mpd users can use custom to change the volume setting
 backend to use the appropriate volume functions.
] 
[browse subcategories (eg artist->album->title)
Damien Elmes <address@hidden>**20060609185950
 - subcategories can now be expanded and contracted, and added to
   playlist
 - see the new keybindings at the top of the file
 - add new faces for the various sublevels (only the dark background
   colours are useful at the moment - any light background users want
   to fix that?)
 - fix a bug in emms-smart-browse with (recenter)
] 
[emms-player-mpd: Add functionality to dump MusicPD data into the EMMS cache.  
This allows for easy integration with emms-browser.el.
Michael Olson <address@hidden>**20060609043831] 
[emms-player-mpd: Rename volume functions to better match the namespace created 
by emms-volume.el.
Michael Olson <address@hidden>**20060609043643] 
[emms-player-mpd: Fix minor bug when importing the current MusicPD playlist 
into EMMS.
Michael Olson <address@hidden>**20060609043538] 
[emms-setup: Get rid of pointless compiler warning.
Michael Olson <address@hidden>**20060609042002] 
[update emms-cache.el commentary
Damien Elmes <address@hidden>**20060609064935] 
[emms-cache: Small compiler fix.
Michael Olson <address@hidden>**20060609041606] 
[emms-cache: Add standard enable/disable/toggle interface and do a docfix for 
emms-cache-set-function.
Michael Olson <address@hidden>**20060609040108] 
[Standardize copyright notices.  Add COPYING file.  Mention license in README.
Michael Olson <address@hidden>**20060608194123] 
[Fix compiler warnings in emms-cache.el.
Michael Olson <address@hidden>**20060608184612] 
[emms-metaplaylist-mode: Fix bug introduced by the recent emms-playlist-mode 
overhaul.  Add faces for light backgrounds.
Michael Olson <address@hidden>**20060608143846] 
[NEWS is new
address@hidden 
[refactor browser mode creation code
Damien Elmes <address@hidden>**20060608123618
 - make the rendering function (browse-by-artist, etc) responsible for
   the mode name
 - fix a bug where the wrong buffer is used
] 
[browser sorting, and bug fixes
Damien Elmes <address@hidden>**20060608105253
 - sort tracks when they're added to the playlist
 - fix a bug where we didn't uniquify the buffer
 - distinguish between files and urls
 - modify emms-playlist-sort to accept an optional region
] 
[update modeline when changing browsing method
Damien Elmes <address@hidden>**20060608094037] 
[avoid rebuilding the browser window each time
Damien Elmes <address@hidden>**20060608092623] 
[small typo fix
Damien Elmes <address@hidden>**20060608032546] 
[fix RET on trailing \n
Damien Elmes <address@hidden>**20060608090703
 \n isn't propertized which means hitting RET on a playlist or browser
 entry fails. this patch moves the point before trying to read the
 properties.
] 
[add a metadata browser - emms-browser.el
Damien Elmes <address@hidden>**20060608084400
 * preliminary work on a metadata browser - still alpha, but it's
   useable for me
 * also updated my email address in emms-cache.el (whoops)
] 
[emms-playlist-mode: Facify tracks on startup.
address@hidden 
[emms.el: Change directory to / before starting the player.
address@hidden 
[emms-playlist-mode: When making new overlays, do not allow the rear to 
advance.  This prevents some display issues.  If we really need to modify the 
text there, we should be using (insert-before-markers).
Michael Olson <address@hidden>**20060607215212] 
[Make emms-property-region bulletproof.
Michael Olson <address@hidden>**20060607215113] 
[Fix typo in emms-property-region
address@hidden 
[emms.el, simplified emms-property-region considerably.
address@hidden 
[Very basic support for recording the time you last played a track.
address@hidden
 
 * emms-last-played.el: New file.
   Nothing fancy right now, more to come soon.
 * emms-setup.el: emms-devel now requires and setups emms-last-played.
] 
[Mark the cache as dirty for each modification.
address@hidden 
[fix damien elmes's email address
Damien Elmes <address@hidden>**20060607154000] 
[emms.el: The currently playing marker now should stay where it is, even for 
yanks
address@hidden 
[emms-playlist-mode: Stop overlay from being attached to text inserted before it
address@hidden 
[emms sources now switch add/play behavior when a prefix argument is supplied.
address@hidden 
[Add autoloads to emms-setup.el
address@hidden 
[Typo, defvar => defcustom for emms-cache-set-function
address@hidden 
[Cleaned up the cached code in emms.el a bit
address@hidden 
[refactor caching code into emms-cache.el
Damien Elmes <address@hidden>**20060607125345
 * caching support is now provided via two function vars in emms.el,
   emms-cache-get-function and emms-cache-set-function
 * (emms-standard) or above will enable caching support
 * you'll need to remove .emms-cache or s/emms-info-cache/emms-cache-db/
] 
[emms-info: Fix bug that occurs after clearing the current playlist and trying 
to re-add songs to it.
Michael Olson <address@hidden>**20060606144439] 
[emms-playlist-mode doesn't need overlay compatibility anymore
address@hidden 
[emms-playlist-mode.el - now with less overlay!
address@hidden 
[AUTHORS: fixed Lucas' e-mail address
address@hidden 
[info-cache-dirty/coding
Damien Elmes <address@hidden>**20060605163339
 
 * mark the info cache as dirty when it's modified, so we don't have to
   write it out all the time
 * save the cache as mule-utf-8 - comments? i'm not sure if this is
   correct
] 
[AUTHORS: Damien Elmes address updated
address@hidden 
[emms-info caching (thanks to Damien Elmes)
address@hidden 
[Sort file names from `emms-source-file-directory-tree-function'.
address@hidden 
[Add some sources for inserting playlists without inserting their contents, and 
likewise for directories of playlist files.  Exclude some files and directories 
from being added when walking directories.
Michael Olson <address@hidden>**20060604195602] 
[emms-player-mpd: Differentiate between files and URLs when it makes sense to 
do so.
Michael Olson <address@hidden>**20060604195449] 
[Miscellaneous minor cleanups.
Michael Olson <address@hidden>**20060604195311] 
[Make sure we never have an empty track description when inserting a song into 
a playlist buffer.
Michael Olson <address@hidden>**20060604194940] 
[Remove debian-extras package as requested by ftpmasters (debian)
address@hidden 
[Put volume options in their own customize group.
Martin Schoenmakers <address@hidden>**20060601193853
 
 Added a separate emms-volume group for customize and put things there instead
 of in the main thing.
] 
[Make handling of multiple playlist buffers less error-prone.
Michael Olson <address@hidden>**20060531203810] 
[emms-volume.el: Cosmetic stuff, defvar -> defcustom
address@hidden 
[emms-volume.el: Minor cosmetic cleanup
address@hidden 
[emms-volme.el: Add some requires.
address@hidden 
[emms-volume-amixer.el: Provide a way to set the control for amixer
address@hidden 
[AUTHORS: Add Martin Schoenmakers. Welcome! :-)
address@hidden 
[Add emms-volume and emms-volume-amixer.
Martin Schoenmakers <address@hidden>**20060530223500
 
 New files: emms-volume.el provides some general volume changing things,
 including a minor mode to more easily change volume when not in the
 EMMS buffer. emms-volume-amixer.el is a backend using amixer.
 
] 
[emms-streams: Re-add space after prompt and use completion for type.
Michael Olson <address@hidden>**20060530190620] 
[emms-streams: When the user wants emms-streams to play the selected stream 
instead of add it, create our own playlist buffer.  When quitting, if we own 
the current playlist buffer, kill it.
Michael Olson <address@hidden>**20060530144243] 
[allow nonzero ogginfo exit plus some reindenting
Martin Schoenmakers <address@hidden>**20060530130411
 
 When ogginfo gave a nonzero value on exit, any valid data would get tossed
 if there was any. This prevented emms from showing info for files that are
 tagged but a bit odd.
 
 Also reindented emms-info-ogginfo accordingly, which incidentally removed
 some tabs in favour of spaces.
 
] 
[emms-streams: Re-implement yank and kill so that they do the right thing with 
emms-stream-list.
Michael Olson <address@hidden>**20060530045429] 
[emms-streams: Implement kill and yank.
Michael Olson <address@hidden>**20060530040114] 
[emms-streams: Make hitting RET on a URL do the right thing, improve cursor 
movement, and mark the buffer as unmodified after performing a save.
Michael Olson <address@hidden>**20060529030043] 
[emms-player-mpd: Make seek work correctly.
Michael Olson <address@hidden>**20060525033120] 
[emms-player-mpd: Use more robust method of detecting whether we need to 
force-feed MusicPD our playlist.
Michael Olson <address@hidden>**20060525014253] 
[emms-playlist-mode: Make "d" kill the entire line.  This seems to be a good 
compromise of those who use C-k and those who want more standard object-killing 
behavior.
foo**20060524200008] 
[emms-player-mpd: When showing the currently-playing song, prepend the name of 
the radio station, if it exists.
foo**20060524195911] 
[emms-player-mpd: Fix bug that caused unconditional reloading of the entire 
MusicPD playlist whenever the track was changed manually.
Michael Olson <address@hidden>**20060524061655] 
[emms-player-mpd: Overhaul for streamlist support, and fix a few miscellaneous 
issues.
Michael Olson <address@hidden>**20060524055707] 
[emms-player-mpd: Add a few checks to make sure that the given buffer exists 
before trying to do anything with it.
Michael Olson <address@hidden>**20060517035419] 
[emms-source-playlist: Do not expand names of files in playlists, as this can 
cause problems with emms-player-mpd in some configurations.
Michael Olson <address@hidden>**20060516081257] 
[emms-playlist-mode: Implement the option (disabled by default) of opening a 
new EMMS buffer for a playlist, when hitting RET on one.
Michael Olson <address@hidden>**20060510040730] 
[emms-playlist-mode.el: Don't put a period after the mode map. This hangs 21.4 
on display.
address@hidden 
[TAG 2.0
address@hidden 
Patch bundle hash:
52d23de9bb724121b2d25c191db0c0cd2725678d

reply via email to

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