From 9b4e7845602683882577aa9fe52aa55f3874a341 Mon Sep 17 00:00:00 2001 From: William Wilgus Date: Mon, 14 Mar 2022 17:16:48 -0400 Subject: BUGFIX string_option parsers fix bugs introduced in the switch over to using string_option instead of if else strcmp trees, embedded album art should work again skin parser had an error for 'noborder' and 'nobar' Change-Id: I957d81e5fa8467b33bbd93d63c4428c36100acca --- lib/rbcodec/metadata/metadata_common.c | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) (limited to 'lib/rbcodec/metadata/metadata_common.c') diff --git a/lib/rbcodec/metadata/metadata_common.c b/lib/rbcodec/metadata/metadata_common.c index 59c2f01840..e38b9e4d9a 100644 --- a/lib/rbcodec/metadata/metadata_common.c +++ b/lib/rbcodec/metadata/metadata_common.c @@ -288,15 +288,21 @@ long parse_tag(const char* name, char* value, struct mp3entry* id3, eYEAR, eDATE, eTITLE, eARTIST, eALBUM, eGENRE, eCOMPOSER, eCOMMENT, eALBUMARTIST, eALBUM_ARTIST, eENSEMBLE, eGROUPING, eCONTENTGROUP, eCONTENT_GROUP, - eMUSICBRAINZ1, eMUSICBRAINZ2 + eMUSICBRAINZ1, eMUSICBRAINZ2, e_COUNT_TAG_COUNT }; - - static const char *tagops[] = - { "track", "tracknumber", "discnumber", "disc", - "year","date","title", "artist", "album", "genre" - "composer","comment","albumartist","album artist", - "ensemble","grouping","contentgroup","content group", - "musicbrainz_trackid", "http://musicbrainz.org", NULL + + static const char *tagops[e_COUNT_TAG_COUNT + 1] = + { [eTRACK] = "track", [eTRACKNUMBER] = "tracknumber", + [eDISCNUMBER] = "discnumber", [eDISC] = "disc", + [eYEAR] = "year", [eDATE] = "date", [eTITLE] = "title", + [eARTIST] = "artist", [eALBUM] = "album", [eGENRE] = "genre" + [eCOMPOSER] = "composer", [eCOMMENT] = "comment", + [eALBUMARTIST] = "albumartist", [eALBUM_ARTIST] ="album artist", + [eENSEMBLE] = "ensemble", [eGROUPING] = "grouping", + [eCONTENTGROUP] = "contentgroup", [eCONTENT_GROUP] = "content group", + [eMUSICBRAINZ1] = "musicbrainz_trackid", + [eMUSICBRAINZ2] = "http://musicbrainz.org", + [e_COUNT_TAG_COUNT] = NULL; }; int item = string_option(name, tagops, true); @@ -351,11 +357,7 @@ long parse_tag(const char* name, char* value, struct mp3entry* id3, { p = &(id3->comment); } - else if (item == eALBUMARTIST || item == eALBUM_ARTIST) - { - p = &(id3->albumartist); - } - else if (item == eENSEMBLE) + else if (item == eALBUMARTIST || item == eALBUM_ARTIST || item == eENSEMBLE) { p = &(id3->albumartist); } -- cgit v1.2.3