emms-patches
[Top][All Lists]
Advanced

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

[Emms-patches] darcs patch: emms-lyrics: Make `emms-lyrics-find-lyric-fu


From: William Xu
Subject: [Emms-patches] darcs patch: emms-lyrics: Make `emms-lyrics-find-lyric-function' cu...
Date: Mon, 11 Dec 2006 15:08:58 +0800

Mon Dec 11 15:04:39 CST 2006  address@hidden
  * emms-lyrics: Make `emms-lyrics-find-lyric-function' customizable and add
  `emms-lyrics-find-current-lyric'.
New patches:

[emms-lyrics: Make `emms-lyrics-find-lyric-function' customizable and add
address@hidden
 `emms-lyrics-find-current-lyric'.
] {
hunk ./emms-lyrics.el 27
-;; synchronically! :-)
+;; synchronically! :-) Plus, it provides a `emms-lyrics-mode' for
+;; making lyric files.
hunk ./emms-lyrics.el 93
+(defcustom emms-lyrics-find-lyric-function 'emms-lyrics-find-lyric
+  "Function for finding lyric files."
+  :type 'symbol
+  :group 'emms-lyrics)
+
hunk ./emms-lyrics.el 121
-  "current lyric.")
+  "Current lyric.")
hunk ./emms-lyrics.el 123
-(defvar emms-lyrics-find-lyric-function nil)
hunk ./emms-lyrics.el 134
-  (if (eq 'file (emms-track-get
-                 (emms-playlist-current-selected-track)
-                 'type))
-      (unless (file-exists-p file)
-        (setq file (emms-lyrics-find-lyric file)))
-    (setq file
-          (and (functionp emms-lyrics-find-lyric-function)
-               (funcall emms-lyrics-find-lyric-function file))))
-  (when (and file (not (string= file "")) (file-exists-p file))
+  (setq file (funcall emms-lyrics-find-lyric-function file))
+  (when (and file (file-exists-p file))
hunk ./emms-lyrics.el 341
-  "Use `emms-source-file-gnu-find' to find lrc FILE. You should specify
-a valid `emms-lyrics-dir'."
-  (unless (string= emms-lyrics-dir "")
+  "Use `emms-source-file-gnu-find' to find lrc FILE in
+`emms-lyrics-dir'."
+  (when (and (eq 'file (emms-track-get
+                        (emms-playlist-current-selected-track)
+                        'type))
+             (not (string= emms-lyrics-dir "")))
hunk ./emms-lyrics.el 349
-    (car (split-string
-         (shell-command-to-string
-          (concat emms-source-file-gnu-find " "
-                  emms-lyrics-dir " -name "
-                  "'"                  ; wrap up whitespaces
-                  (emms-replace-regexp-in-string
-                   "'" "*"             ; FIX ME, '->\'
-                   (file-name-nondirectory file))
-                  "'"))
-         "\n"))))
+    (if (file-exists-p file)             ; same directory
+        file
+      (let* ((ret (car (split-string
+                        (shell-command-to-string
+                         (concat emms-source-file-gnu-find " "
+                                 emms-lyrics-dir " -name "
+                                 "'"    ; wrap up whitespaces
+                                 (emms-replace-regexp-in-string
+                                  "'" "*" ; FIX ME, '->\'
+                                  (file-name-nondirectory file))
+                                 "'"))
+                        "\n"))))
+        (unless (equal ret "")
+          ret)))))
+
+(defun emms-lyrics-find-current-lyric ()
+  "Visit current selected track's lyric file."
+  (interactive)
+  (let ((name (emms-track-get (emms-playlist-current-selected-track)
+                              'name)))
+    (condition-case nil
+        (find-file-existing
+         (emms-lyrics-find-lyric
+          (emms-replace-regexp-in-string
+           (concat "\\." (file-name-extension name) "\\'")
+           ".lrc"
+           name)))
+      (error "lyric file does not exist"))))
}

Context:

[emms-player-mpd: Document how to use MusicPD to change the volume via 
emms-volume.el
Michael Olson <address@hidden>**20061208223509] 
[Fix various byte-compiler warnings throughout
Michael Olson <address@hidden>**20061207143511] 
[emms-tag-editor: Rename functions to match file name
Michael Olson <address@hidden>**20061207142310] 
[Rename emms-mp3tag.el to emms-tag-editor.el
Michael Olson <address@hidden>**20061207141945] 
[emms.el: Improve `emms-uniq-list' to not use cl.el.
address@hidden 
[emms-i18n changes, add playlist navigate command, uniq playlist command
Ye Wenbin <address@hidden>**20061207063510] 
[emms-mp3tag support ogg, add more documentation. fix some error
Ye Wenbin <address@hidden>**20061206153528] 
[emms-lastfm.dpatch
Tassilo Horn <address@hidden>**20061206112823
 
 This patch adds emms-lastfm.el, its setup to emms-setup.el and myself
 to AUTHORS.
] 
[Fix a silly bug in emms-mp3tag. Remove timestamp.
Ye Wenbin <address@hidden>**20061206020710] 
[AUTHORS: Added Ye Wenbin
address@hidden 
[Fix lyrics minibuffer display. Amixer display playback and more useful commands
Wenbin Ye <address@hidden>**20061127154113] 
[Edit all track, set tag to file for mp3
Wenbin Ye <address@hidden>**20061205112209] 
[Add emms-mp3tag and emms-i18n
Wenbin Ye <address@hidden>**20061205065407] 
[Add emms-mark and emms-history
address@hidden 
[emms.el: Fix bug introduced by recent changes to 
emms-playlist-set-playlist-buffer
Michael Olson <address@hidden>**20061119204738] 
[Default to current buffer when setting the current EMMS playlist buffer.
Michael Olson <address@hidden>**20061119053410] 
[manual: Add documentation for new emms-playlist-mode keybindings
Michael Olson <address@hidden>**20061119052935] 
[emms-playlist-mode: Bind "b" key to emms-playlist-set-playlist-buffer.
Michael Olson <address@hidden>**20061119052907] 
[emms-playlist-mode: Implement adding the thing at point to the current 
playlist.  If it is a playlist, add its contents instead.  Map this to the "a" 
key.
Michael Olson <address@hidden>**20061119052254] 
[emms.el: In emms-playlist-set-playlist-buffer, prompt user from available EMMS 
playlist buffers rather than all buffers, and display feedback upon setting the 
current buffer, since this is not an easy change to see
Michael Olson <address@hidden>**20061119052023] 
[emms.el: Fix compiler warning
Michael Olson <address@hidden>**20061119051946] 
[Don't add subdirectories for directory and playlist-directory source insert 
methods
Michael Olson <address@hidden>**20061119041900] 
[bind SPC to `scroll-up' in emms-playlist-mode and update manual.
address@hidden 
[emms-info-mp3info.el: Replace `emms-iconv' with decode-coding-string and
address@hidden
 encode-coding-string.
] 
[emms-playing-time.el: New variable `emms-playing-time-style', it
address@hidden
 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.
address@hidden 
[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
address@hidden 
[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
address@hidden 
[Added delYsid
address@hidden 
[jackd-support-for-emacs
address@hidden
 jackd is a pro-audio server which can be used as a backend for
 alsaplayer, mplayer, and lots of other linux audio apps.
 This module allows to start jackd from within emacs, and
 connect/disconnect jack client ports.
] 
[browser: ensure the RNG is seeded before use
Damien Elmes <address@hidden>**20061011151535] 
[browser: require sort (fixes bug with sort-fold-case being void)
Damien Elmes <address@hidden>**20061010125718] 
[emms-player-mplayer.el: Mplayer also supports .vob files.
address@hidden 
[fix faulty emms-playlist-mode keybinding, fix due to William and Damien.
address@hidden 
[Added seeking to the playlist keymap, and updated the manual.
address@hidden 
[emms-player-mpd: Only display error if we are certain that url.el is not 
up-to-date
Michael Olson <address@hidden>**20061004032213] 
[seek-for-alsaplayer
address@hidden
 Add relative seek support for alsaplayer
] 
[midi-files-via-timidity
address@hidden
 A simple-player definition for timidity
] 
[pause-for-alsaplayer
address@hidden
 Get pause/resume working for alsaplayer
] 
[mms-for-mplayer
address@hidden
 mplayer also supports mms:// URLs
] 
[emms-playing-time.el: Minor cleanups.
address@hidden 
[emms-lyrics.el: Minor Cleanups.
address@hidden 
[DoTheRightThing with player pausing and emms-bookmarks.el
address@hidden 
[Added emms-bookmarks.el
address@hidden 
[Added `emms-pause' to emms-playlist-mode.el bound to to ``P''.
address@hidden 
[browser: add deletion started/finished message
Damien Elmes <address@hidden>**20060923051128] 
[Added a link to the online version of the manual.
address@hidden 
[emms-playing-time.el now works with `seek-to'.
address@hidden 
[Added `seek-to' to emms.el and emms-player-mplayer.el.
address@hidden 
[browser/cache: support deleting files, make emms-cache-dirty a defsubst
Damien Elmes <address@hidden>**20060922090553] 
[TAG 2.1
address@hidden 
Patch bundle hash:
698c5479ea9b42a28d09a04bca69335293f5371a

reply via email to

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