forked from len0rd/rockbox
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
This commit is contained in:
parent
6dcbf7ff77
commit
9b4e784560
4 changed files with 38 additions and 25 deletions
|
|
@ -1051,12 +1051,15 @@ static int parse_progressbar_tag(struct skin_element* element,
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
eINVERT = 0, eNOFILL, eNOBORDER, eNOBAR, eSLIDER, eIMAGE,
|
eINVERT = 0, eNOFILL, eNOBORDER, eNOBAR, eSLIDER, eIMAGE,
|
||||||
eBACKDROP, eVERTICAL, eHORIZONTAL, eNOTOUCH, eSETTING
|
eBACKDROP, eVERTICAL, eHORIZONTAL, eNOTOUCH, eSETTING,
|
||||||
|
e_PB_TAG_COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char *pb_options[] = {"invert", "nofill", "noborder, nobar", "slider",
|
static const char *pb_options[e_PB_TAG_COUNT + 1] = {[eINVERT] = "invert",
|
||||||
"image", "backdrop", "vertical", "horizontal",
|
[eNOFILL] = "nofill", [eNOBORDER] = "noborder", [eNOBAR] = "nobar",
|
||||||
"notouch", "setting", NULL};
|
[eSLIDER] = "slider", [eIMAGE] = "image", [eBACKDROP] = "backdrop",
|
||||||
|
[eVERTICAL] = "vertical", [eHORIZONTAL] = "horizontal",
|
||||||
|
[eNOTOUCH] = "notouch", [eSETTING] = "setting", [e_PB_TAG_COUNT] = NULL};
|
||||||
int pb_op;
|
int pb_op;
|
||||||
|
|
||||||
while (curr_param < element->params_count)
|
while (curr_param < element->params_count)
|
||||||
|
|
@ -1409,7 +1412,7 @@ static int parse_skinvar( struct skin_element *element,
|
||||||
|
|
||||||
if (!isdefault(get_param(element, 2)))
|
if (!isdefault(get_param(element, 2)))
|
||||||
data->newval = get_param(element, 2)->data.number;
|
data->newval = get_param(element, 2)->data.number;
|
||||||
else if (sv_op == 0) /*touch*/
|
else if (sv_op != 0) /*!touch*/
|
||||||
return WPS_ERROR_INVALID_PARAM;
|
return WPS_ERROR_INVALID_PARAM;
|
||||||
data->max = 0;
|
data->max = 0;
|
||||||
if (sv_op == 1) /*set*/
|
if (sv_op == 1) /*set*/
|
||||||
|
|
|
||||||
|
|
@ -441,13 +441,20 @@ static int asf_parse_header(int fd, struct mp3entry* id3,
|
||||||
{
|
{
|
||||||
eWM_TrackNumber, eWM_Genre, eWM_AlbumTitle,
|
eWM_TrackNumber, eWM_Genre, eWM_AlbumTitle,
|
||||||
eWM_AlbumArtist, eWM_Composer, eWM_Year,
|
eWM_AlbumArtist, eWM_Composer, eWM_Year,
|
||||||
eWM_MusicBrainz_Track_Id, eWM_Picture
|
eWM_MusicBrainz_Track_Id, eWM_Picture,
|
||||||
|
eWM_COUNT_TAG_COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char *tagops[] =
|
static const char *tagops[eWM_COUNT_TAG_COUNT + 1] =
|
||||||
{ "WM/TrackNumber", "WM/Genre", "WM/AlbumTitle",
|
{ [eWM_TrackNumber] = "WM/TrackNumber",
|
||||||
"WM/AlbumArtist", "WM/Composer", "WM/Year",
|
[eWM_Genre] = "WM/Genre",
|
||||||
"MusicBrainz/Track Id", "WM/Picture", NULL
|
[eWM_AlbumTitle] = "WM/AlbumTitle",
|
||||||
|
[eWM_AlbumArtist] = "WM/AlbumArtist",
|
||||||
|
[eWM_Composer] = "WM/Composer",
|
||||||
|
[eWM_Year] = "WM/Year",
|
||||||
|
[eWM_MusicBrainz_Track_Id]"MusicBrainz/Track Id",
|
||||||
|
[eWM_Picture]"WM/Picture",
|
||||||
|
[eWM_COUNT_TAG_COUNT] = NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
for (i=0; i < count; i++) {
|
for (i=0; i < count; i++) {
|
||||||
|
|
|
||||||
|
|
@ -312,9 +312,10 @@ static int parsealbumart( struct mp3entry* entry, char* tag, int bufferpos )
|
||||||
|
|
||||||
if (memcmp(tag, "image/", 6) == 0)
|
if (memcmp(tag, "image/", 6) == 0)
|
||||||
{
|
{
|
||||||
int tg_op = string_option(tag, img_options, false);
|
|
||||||
/* ID3 v2.3+ */
|
/* ID3 v2.3+ */
|
||||||
tag += 6;
|
tag += 6;
|
||||||
|
int tg_op = string_option(tag, img_options, false);
|
||||||
|
|
||||||
if (tg_op == 0) /*jpeg*/
|
if (tg_op == 0) /*jpeg*/
|
||||||
{
|
{
|
||||||
entry->albumart.type = AA_TYPE_JPG;
|
entry->albumart.type = AA_TYPE_JPG;
|
||||||
|
|
|
||||||
|
|
@ -288,15 +288,21 @@ long parse_tag(const char* name, char* value, struct mp3entry* id3,
|
||||||
eYEAR, eDATE, eTITLE, eARTIST, eALBUM, eGENRE,
|
eYEAR, eDATE, eTITLE, eARTIST, eALBUM, eGENRE,
|
||||||
eCOMPOSER, eCOMMENT, eALBUMARTIST, eALBUM_ARTIST,
|
eCOMPOSER, eCOMMENT, eALBUMARTIST, eALBUM_ARTIST,
|
||||||
eENSEMBLE, eGROUPING, eCONTENTGROUP, eCONTENT_GROUP,
|
eENSEMBLE, eGROUPING, eCONTENTGROUP, eCONTENT_GROUP,
|
||||||
eMUSICBRAINZ1, eMUSICBRAINZ2
|
eMUSICBRAINZ1, eMUSICBRAINZ2, e_COUNT_TAG_COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char *tagops[] =
|
static const char *tagops[e_COUNT_TAG_COUNT + 1] =
|
||||||
{ "track", "tracknumber", "discnumber", "disc",
|
{ [eTRACK] = "track", [eTRACKNUMBER] = "tracknumber",
|
||||||
"year","date","title", "artist", "album", "genre"
|
[eDISCNUMBER] = "discnumber", [eDISC] = "disc",
|
||||||
"composer","comment","albumartist","album artist",
|
[eYEAR] = "year", [eDATE] = "date", [eTITLE] = "title",
|
||||||
"ensemble","grouping","contentgroup","content group",
|
[eARTIST] = "artist", [eALBUM] = "album", [eGENRE] = "genre"
|
||||||
"musicbrainz_trackid", "http://musicbrainz.org", NULL
|
[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);
|
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);
|
p = &(id3->comment);
|
||||||
}
|
}
|
||||||
else if (item == eALBUMARTIST || item == eALBUM_ARTIST)
|
else if (item == eALBUMARTIST || item == eALBUM_ARTIST || item == eENSEMBLE)
|
||||||
{
|
|
||||||
p = &(id3->albumartist);
|
|
||||||
}
|
|
||||||
else if (item == eENSEMBLE)
|
|
||||||
{
|
{
|
||||||
p = &(id3->albumartist);
|
p = &(id3->albumartist);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue