New patches: [Replace `nnheader-concat' with `concat + file-name-as-directory' to make XEmacs happy. William Xu **20071014063932] { hunk ./emms-cache.el 59 -(defcustom emms-cache-file (nnheader-concat emms-directory "cache") +(defcustom emms-cache-file (concat (file-name-as-directory emms-directory) "cache") hunk ./emms-history.el 48 -(defcustom emms-history-file (nnheader-concat emms-directory "emms-history") +(defcustom emms-history-file (concat (file-name-as-directory emms-directory) "history") hunk ./emms-score.el 73 -(defcustom emms-score-file (nnheader-concat emms-directory "scores") +(defcustom emms-score-file (concat (file-name-as-directory emms-directory) "scores") hunk ./emms-streams.el 42 -(defcustom emms-stream-bookmarks-file (nnheader-concat emms-directory "streams") +(defcustom emms-stream-bookmarks-file (concat (file-name-as-directory emms-directory) "streams") } [emms-lyrics.el: (emms-lyrics-find-lyric), Use `emms-source-file-directory-tree-function' instead of forceful emms-source-file-gnu-find. William Xu **20071022090151] { hunk ./emms-lyrics.el 440 -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'. hunk ./emms-lyrics.el 444 - (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))))) } [Only add emms-info-* to emms-info-functions when required program actually exists. William Xu **20071104132746] { hunk ./emms-setup.el 85 - (add-to-list 'emms-info-functions 'emms-info-mp3info) - (add-to-list 'emms-info-functions 'emms-info-ogginfo) + (when (executable-find emms-info-mp3info-program-name) + (add-to-list 'emms-info-functions 'emms-info-mp3info)) + (when (executable-find emms-info-ogginfo-program-name) + (add-to-list 'emms-info-functions 'emms-info-ogginfo)) } Context: [emms-player-mplayer.el (emms-player-mplayer-subtitle-checker): Replace address@hidden / with _ in track names. ] [emms-browser.el: bind n and p to next- and previous-line. address@hidden [Move emms config files to a common directory: ~/.emacs.d/emms. William Xu **20071012024503] [emms-playlist-limit.el: Fix typos and minor updates. William Xu **20071008070917] [fix-next-line-warning.dpatch Tassilo Horn **20070906201831] [emms-lastfm: Allow emms-key-value to take a buffer argument. Michael Olson **20070906192215 I'm trying to track down some weird "error in process sentinel: delete-process: Selecting deleted buffer" errors that occur when I poll with emms-lastfm via a timer and start gnus (which blocks until it is finished retrieving email for all inboxes). These changes don't fix the problem, but they make me feel safer nonetheless :^) . I suspect that it might be caused by a URL.el bug involving deleting the wrong buffer which was pointed out by Diane Murray last month. ] [emms-browser: Fix compiler warning. Presumably the committer meant to write "performer" rather than "composer". Michael Olson **20070906191904] [format-spec expect spec character as a-zA-Z Ye Wenbin **20070902024848] [Error commentation in emms-i18n Ye Wenbin **20070902024825] [Wrong function in emms-history Ye Wenbin **20070902024732] [fix-browser-covers.dpatch Tassilo Horn **20070829093557 - If emms-browser-covers value is a function, call it with a directory as its docs say. (Before it was called with a file) - Also add to its doc-string that its second arg is a symbol (its size). - Support all image types emacs knows. ] [lastfm: Allow user to specify which type of tracks get submitted Michael Olson **20070819170235] [emms-lastfm: New option emms-lastfm-submission-verbose-p Michael Olson **20070819153739 This controls whether EMMS notifies the user every time a track is submitted. The default is not to do so. ] [Drop eval-when-compile around (require 'overlay) Michael Olson **20070819150408] [Use slightly different XEmacs overlay fix Michael Olson **20070818185218] [XEmacs does not load the overlay functions by default: load them here. Nix **20070818134016] [Add support for composer and performer tags. Nix **20070818133412 The browser keybindings are somewhat discontiguous to avoid breaking people's finger macros: browsing by composer and performer are `b 5' and `b 6' respectively, where artist is `b 1'. In the tag editor, I changed the note format character to %;, making room for composer as %c. I've not added support to last.fm for composer or performer, as it doesn't seem to support either. (I suspect that in most cases the composer should be reported as the artist if it is present, but that is not impolemented here.) ] [docs-for-editing-tags-and-renaming.dpatch Tassilo Horn **20070817150402] [use-existing-functionality-for-renaming-files.dpatch Tassilo Horn **20070817100310 When I implemented the renaming stuff, I was not aware that Ye already thought of this feature. When editing a track, one can edit the filename and the file will be renamed and the cache updated. Now renaming by hitting `R' (`emms-tag-editor-rename') in the playlist makes use of this functionality instead of doing it on its own. ] [Simple players now use their regex property as they should. address@hidden emms-player-simple.el (define-emms-simple-player): `playablep' now uses `emms-player-get' for the regex property, instead of using the hardcoded regex, as it should. Thanks to Ye Wenbin for noticing this old bug. ] [fix-cache-problem-when-renaming-tracks.dpatch Tassilo Horn **20070816070106 I fixed the problem with the cache I mentioned in my last patch. ] [support-for-renaming-files-with-tag-editor.dpatch Tassilo Horn **20070815183247 With `R' in a playlist (calls `emms-tag-editor-rename') the file(s) corresponding to the (marked) track(s) or the track at point will be renamed according to the format specified in `emms-tag-editor-rename-format'. Work ok for me, but there's a little problem maybe someone can fix: - If users use the cache it has to be updated somehow. `emms-cache-sync' seems to remove the renamed files. So you have to re-insert all renamed tracks to get them into the cache again. ] [refinements-and-docs-for-emms-history.dpatch Tassilo Horn **20070815080114 This path makes some refinements in emms-history.el: - Start playback after `emms-history-load' only if `emms-history-start-playing' is non-nil. - Added customization group emms-history - defvar -> defcustom - better docstrings and commentary - Added Info docs. (Node "Persistent Playlists") ] [emms-score.el: change score-file to something more sane address@hidden ~/.emms can be an EMMS config file, whereas ~/.emacs.d/ is already used to store the stream bookmarks file, so use it for the score file too. ] [make-S-prefix-key-for-sorting-functions.dpatch Tassilo Horn **20070802200758] [Fix compiler warning in emms-setup Michael Olson **20070723023532] [emms-playlist-limit: Use standard enable/disable/toggle interface Michael Olson **20070723023452] [emms-streams: New option emms-stream-repeat-p Michael Olson **20070723020304 Instead of assuming that everyone will want to automatically repeat a streamlist if it runs out of tracks, make this controlled by the `emms-stream-repeat-p' option, which defaults to nil. ] [emms-player-mpd: Fix bug with selecting an individual URL track to play from a streamlist Michael Olson **20070723015956] [emms-player-mpd: Make callback arg for emms-player-mpd-sync-from-emms optional Michael Olson **20070723015722] [make-number-of-secs-to-seek-configurable.dpatch Tassilo Horn **20070712062052 Patch sent by "Alfred M. Szmidt" in on the emms-users list (with slight modifications). ] [Avoid even the most remote possibility of a conflict with color-theme.el and its very bad replace-in-string function Michael Olson **20070712211444] [emms-playlist-sort.el: Bind "s s" to emms-playlist-sort-by-score. William Xu **20070719065003] [emms-setup.el: Enable emms-score in emms-devel. William Xu **20070717131538] [emms-lyrics.el: Set default value for emms-lyrics-dir to ~/music/lyrics. William Xu **20070717100946] [emms-playlist-sort.el: Remove emms-playlist-sort-prefix to make the William Xu **20070717095454 codes more clean. And steal "s" prefix key from `emms-playlist-mode'. (An alternative for emms-playlist-mode could be "v", same as XMMS) ] [emms-playlist-limit.el: (define-emms-playlist-limit) Fix prompt string bug. William Xu **20070717082536] [emms-playlist-limit.el: Add missing line: (define-emms-playlist-limit info-title). William Xu **20070711071022] [emms-playlist-limit.el: Minor updates. William Xu **20070709103714] [emms-playlist-limit.el: Update Copyright to GPLv3. William Xu **20070708140012] [emms-playlist-sort.el: Minor updates. William Xu **20070708120050] [emms-playlist-limit.el: Redefine functions emms-playlist-limit-to-* with William Xu **20070708115907 macro: define-emms-playlist-limit. ] [emms-playlist-limit.el: Add default value based on track at point for William Xu **20070708040809 emms-playlist-limit-to-*. ] [New file: emms-playlist-limit.el. And minor updates to emms-playlist-sort. William Xu **20070705160221] [emms-player-mplayer.el: Add "eng.srt", "chs.srt", "cht.srt" to William Xu **20070630124728 emms-player-mplayer-subtitle-extensions. ] [Updated NEWS for post-3.0 address@hidden [TAG 3.0 address@hidden Patch bundle hash: fd04c8297ae85fcc9ec7e9eb6b9bc3918506205e