playlist/cue: map "PERFORMER" to "artist" or "album artist"
Implements Mantis ticket 0003549.
This commit is contained in:
parent
f351550534
commit
acaa725478
2
NEWS
2
NEWS
|
@ -9,6 +9,8 @@ ver 0.17.2 (2012/??/??)
|
|||
* output:
|
||||
- httpd: use monotonic clock, avoid hiccups after system clock adjustment
|
||||
- httpd: fix throttling bug after resuming playback
|
||||
* playlist:
|
||||
- cue: map "PERFORMER" to "artist" or "album artist"
|
||||
* mapper: fix non-UTF8 music directory name
|
||||
* mapper: fix potential crash in file permission check
|
||||
* playlist: fix use-after-free bug
|
||||
|
|
|
@ -216,9 +216,19 @@ cue_parser_feed2(struct cue_parser *parser, char *p)
|
|||
if (tag != NULL)
|
||||
cue_parse_rem(p, tag);
|
||||
} else if (strcmp(command, "PERFORMER") == 0) {
|
||||
/* MPD knows a "performer" tag, but it is not a good
|
||||
match for this CUE tag; from the Hydrogenaudio
|
||||
Knowledgebase: "At top-level this will specify the
|
||||
CD artist, while at track-level it specifies the
|
||||
track artist." */
|
||||
|
||||
enum tag_type type = parser->state == TRACK
|
||||
? TAG_ARTIST
|
||||
: TAG_ALBUM_ARTIST;
|
||||
|
||||
struct tag *tag = cue_current_tag(parser);
|
||||
if (tag != NULL)
|
||||
cue_add_tag(tag, TAG_PERFORMER, p);
|
||||
cue_add_tag(tag, type, p);
|
||||
} else if (strcmp(command, "TITLE") == 0) {
|
||||
if (parser->state == HEADER)
|
||||
cue_add_tag(parser->tag, TAG_ALBUM, p);
|
||||
|
|
Loading…
Reference in New Issue