aboutsummaryrefslogtreecommitdiff
path: root/emms-playlist-sort.el
diff options
context:
space:
mode:
authorNix <Nix>2007-08-18 13:34:00 +0000
committerNix <nix@esperi.org.uk>2007-08-18 13:34:00 +0000
commitd4e5e5f2f58f45b79296b907ccac28272703a7fb (patch)
treeb19874b35a117855578b5a25eb9d9795579a96fe /emms-playlist-sort.el
parent44f24c3b68c3155099fdc484804d00ddd909170d (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.el10
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)))