aboutsummaryrefslogtreecommitdiff
path: root/emms-lyrics.el
diff options
context:
space:
mode:
authorWilliam Xu <william.xwl@gmail.com>2007-10-22 09:01:00 +0000
committerWilliam Xu <william.xwl@gmail.com>2007-10-22 09:01:00 +0000
commiteda10285e1fc6aeb287602d1b03590057a0d3bff (patch)
tree9170b705e2bbe69d8e1bafccc4c1be2c8a052736 /emms-lyrics.el
parent36806a0dd6c44f5c20b86b8a3ea9bec422750057 (diff)
emms-lyrics.el: (emms-lyrics-find-lyric), Use `emms-source-file-directory-tree-function' instead of forceful emms-source-file-gnu-find.
darcs-hash:20071022090151-cfa61-18d3188cba598803b7399e3c725fc4473ea21a46.gz
Diffstat (limited to 'emms-lyrics.el')
-rw-r--r--emms-lyrics.el30
1 files changed, 9 insertions, 21 deletions
diff --git a/emms-lyrics.el b/emms-lyrics.el
index b4f4fd7..8cb437b 100644
--- a/emms-lyrics.el
+++ b/emms-lyrics.el
@@ -437,29 +437,17 @@ display."
(defun emms-lyrics-find-lyric (file)
"Return full path of found lrc FILE, or nil if not found.
-Use `emms-source-file-gnu-find' to find lrc FILE under current directory
-and `emms-lyrics-dir'.
+Use `emms-source-file-directory-tree-function' to find lrc FILE under
+current directory and `emms-lyrics-dir'.
e.g., (emms-lyrics-find-lyric \"abc.lrc\")"
(let* ((track (emms-playlist-current-selected-track))
- (dir (file-name-directory (emms-track-get track 'name))))
- (when (eq 'file (emms-track-get track 'type))
- ;; If find two or more lyric files, only return the first one. Good
- ;; luck! :-)
- (if (file-exists-p (concat dir file)) ; same directory?
- (concat dir file)
- (when (and (file-exists-p emms-lyrics-dir)
- (not (string= emms-lyrics-dir "")))
- (let* ((ret (car
- (split-string
- (shell-command-to-string
- (concat emms-source-file-gnu-find " "
- emms-lyrics-dir " -name "
- (shell-quote-argument
- (emms-replace-regexp-in-string
- "'" "*" file))))
- "\n"))))
- (unless (equal ret "")
- ret)))))))
+ (lyric-under-curr-dir
+ (concat (file-name-directory (emms-track-get track 'name))
+ file)))
+ (or (and (file-exists-p lyric-under-curr-dir) lyric-under-curr-dir)
+ (car (funcall emms-source-file-directory-tree-function
+ emms-lyrics-dir
+ file)))))
;; (setq emms-lyrics-scroll-width 20)