summaryrefslogtreecommitdiff
path: root/lib/rbcodec/metadata/metadata_common.c
diff options
context:
space:
mode:
authorWilliam Wilgus <wilgus.william@gmail.com>2022-03-14 17:16:48 -0400
committerWilliam Wilgus <wilgus.william@gmail.com>2022-03-14 17:23:18 -0400
commit9b4e7845602683882577aa9fe52aa55f3874a341 (patch)
tree8bd997bd63346f514e3ab3acb8220352701d8753 /lib/rbcodec/metadata/metadata_common.c
parent6dcbf7ff77b0596c3317a76097e8b0c1c2f8158a (diff)
downloadrockbox-9b4e7845602683882577aa9fe52aa55f3874a341.tar.gz
rockbox-9b4e7845602683882577aa9fe52aa55f3874a341.zip
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
Diffstat (limited to 'lib/rbcodec/metadata/metadata_common.c')
-rw-r--r--lib/rbcodec/metadata/metadata_common.c28
1 files changed, 15 insertions, 13 deletions
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,
288 eYEAR, eDATE, eTITLE, eARTIST, eALBUM, eGENRE, 288 eYEAR, eDATE, eTITLE, eARTIST, eALBUM, eGENRE,
289 eCOMPOSER, eCOMMENT, eALBUMARTIST, eALBUM_ARTIST, 289 eCOMPOSER, eCOMMENT, eALBUMARTIST, eALBUM_ARTIST,
290 eENSEMBLE, eGROUPING, eCONTENTGROUP, eCONTENT_GROUP, 290 eENSEMBLE, eGROUPING, eCONTENTGROUP, eCONTENT_GROUP,
291 eMUSICBRAINZ1, eMUSICBRAINZ2 291 eMUSICBRAINZ1, eMUSICBRAINZ2, e_COUNT_TAG_COUNT
292 }; 292 };
293 293
294 static const char *tagops[] = 294 static const char *tagops[e_COUNT_TAG_COUNT + 1] =
295 { "track", "tracknumber", "discnumber", "disc", 295 { [eTRACK] = "track", [eTRACKNUMBER] = "tracknumber",
296 "year","date","title", "artist", "album", "genre" 296 [eDISCNUMBER] = "discnumber", [eDISC] = "disc",
297 "composer","comment","albumartist","album artist", 297 [eYEAR] = "year", [eDATE] = "date", [eTITLE] = "title",
298 "ensemble","grouping","contentgroup","content group", 298 [eARTIST] = "artist", [eALBUM] = "album", [eGENRE] = "genre"
299 "musicbrainz_trackid", "http://musicbrainz.org", NULL 299 [eCOMPOSER] = "composer", [eCOMMENT] = "comment",
300 [eALBUMARTIST] = "albumartist", [eALBUM_ARTIST] ="album artist",
301 [eENSEMBLE] = "ensemble", [eGROUPING] = "grouping",
302 [eCONTENTGROUP] = "contentgroup", [eCONTENT_GROUP] = "content group",
303 [eMUSICBRAINZ1] = "musicbrainz_trackid",
304 [eMUSICBRAINZ2] = "http://musicbrainz.org",
305 [e_COUNT_TAG_COUNT] = NULL;
300 }; 306 };
301 307
302 int item = string_option(name, tagops, true); 308 int item = string_option(name, tagops, true);
@@ -351,11 +357,7 @@ long parse_tag(const char* name, char* value, struct mp3entry* id3,
351 { 357 {
352 p = &(id3->comment); 358 p = &(id3->comment);
353 } 359 }
354 else if (item == eALBUMARTIST || item == eALBUM_ARTIST) 360 else if (item == eALBUMARTIST || item == eALBUM_ARTIST || item == eENSEMBLE)
355 {
356 p = &(id3->albumartist);
357 }
358 else if (item == eENSEMBLE)
359 { 361 {
360 p = &(id3->albumartist); 362 p = &(id3->albumartist);
361 } 363 }