diff options
author | Nix <Nix> | 2007-08-18 13:34:00 +0000 |
---|---|---|
committer | Nix <nix@esperi.org.uk> | 2007-08-18 13:34:00 +0000 |
commit | d4e5e5f2f58f45b79296b907ccac28272703a7fb (patch) | |
tree | b19874b35a117855578b5a25eb9d9795579a96fe /emms-playlist-sort.el | |
parent | 44f24c3b68c3155099fdc484804d00ddd909170d (diff) |
Add support for composer and performer tags.
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.)
darcs-hash:20070818133412-984cd-07ed55c9bf357ee6119f6d70fc2f267e9e8ecef9.gz
Diffstat (limited to 'emms-playlist-sort.el')
-rw-r--r-- | emms-playlist-sort.el | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/emms-playlist-sort.el b/emms-playlist-sort.el index 00398da..0977eb5 100644 --- a/emms-playlist-sort.el +++ b/emms-playlist-sort.el @@ -36,8 +36,8 @@ (defcustom emms-playlist-sort-list '(info-artist info-album) "Sorting list used by `emms-playlist-sort-by-list'. Currently it understands the following fields: name info-artist -info-title info-album info-genre info-playing-time -info-tracknumber." +imfo-composer info-performer info-title info-album info-genre +info-playing-time info-tracknumber." :type 'symbol :group 'emms-playlist-sort) @@ -56,6 +56,8 @@ info-tracknumber." (define-emms-playlist-sort name) (define-emms-playlist-sort info-artist) +(define-emms-playlist-sort info-composer) +(define-emms-playlist-sort info-performer) (define-emms-playlist-sort info-title) (define-emms-playlist-sort info-album) (define-emms-playlist-sort info-year) @@ -86,6 +88,8 @@ increasingly." '(progn (define-key emms-playlist-mode-map (kbd "S n") 'emms-playlist-sort-by-name) (define-key emms-playlist-mode-map (kbd "S a") 'emms-playlist-sort-by-info-artist) + (define-key emms-playlist-mode-map (kbd "S c") 'emms-playlist-sort-by-info-composer) + (define-key emms-playlist-mode-map (kbd "S p") 'emms-playlist-sort-by-info-performer) (define-key emms-playlist-mode-map (kbd "S t") 'emms-playlist-sort-by-info-title) (define-key emms-playlist-mode-map (kbd "S b") 'emms-playlist-sort-by-info-album) (define-key emms-playlist-mode-map (kbd "S y") 'emms-playlist-sort-by-info-year) @@ -140,7 +144,7 @@ ie. by album name and then by track number." (catch 'return (dolist (info emms-playlist-sort-list) (case info - ((name info-artist info-title info-album info-genre) + ((name info-artist info-composer info-performer info-title info-album info-genre) (when (emms-string< (emms-track-get a info) (emms-track-get b info)) (throw 'return t))) |