|
|
@ -4,33 +4,38 @@ |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
#include "tagspriv.h" |
|
|
|
#include "tagspriv.h" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static const struct { |
|
|
|
|
|
|
|
char *s; |
|
|
|
|
|
|
|
int type; |
|
|
|
|
|
|
|
}t[] = { |
|
|
|
|
|
|
|
{"album", Talbum}, |
|
|
|
|
|
|
|
{"title", Ttitle}, |
|
|
|
|
|
|
|
{"artist", Tartist}, |
|
|
|
|
|
|
|
{"albumartist", Talbumartist}, |
|
|
|
|
|
|
|
{"tracknumber", Ttrack}, |
|
|
|
|
|
|
|
{"date", Tdate}, |
|
|
|
|
|
|
|
{"replaygain_track_peak", Ttrackpeak}, |
|
|
|
|
|
|
|
{"replaygain_track_gain", Ttrackgain}, |
|
|
|
|
|
|
|
{"replaygain_album_peak", Talbumpeak}, |
|
|
|
|
|
|
|
{"replaygain_album_gain", Talbumgain}, |
|
|
|
|
|
|
|
{"genre", Tgenre}, |
|
|
|
|
|
|
|
{"composer", Tcomposer}, |
|
|
|
|
|
|
|
{"comment", Tcomment}, |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
void |
|
|
|
void |
|
|
|
cbvorbiscomment(Tagctx *ctx, char *k, char *v){ |
|
|
|
cbvorbiscomment(Tagctx *ctx, char *k, char *v){ |
|
|
|
|
|
|
|
int i; |
|
|
|
|
|
|
|
|
|
|
|
if(*v == 0) |
|
|
|
if(*v == 0) |
|
|
|
return; |
|
|
|
return; |
|
|
|
if(cistrcmp(k, "album") == 0) |
|
|
|
for(i = 0; i < nelem(t); i++){ |
|
|
|
txtcb(ctx, Talbum, k, v); |
|
|
|
if(cistrcmp(k, t[i].s) == 0){ |
|
|
|
else if(cistrcmp(k, "title") == 0) |
|
|
|
txtcb(ctx, t[i].type, k, v); |
|
|
|
txtcb(ctx, Ttitle, k, v); |
|
|
|
break; |
|
|
|
else if(cistrcmp(k, "artist") == 0) |
|
|
|
} |
|
|
|
txtcb(ctx, Tartist, k, v); |
|
|
|
} |
|
|
|
else if(cistrcmp(k, "albumartist") == 0) |
|
|
|
if(i == nelem(t)) |
|
|
|
txtcb(ctx, Talbumartist, k, v); |
|
|
|
|
|
|
|
else if(cistrcmp(k, "tracknumber") == 0) |
|
|
|
|
|
|
|
txtcb(ctx, Ttrack, k, v); |
|
|
|
|
|
|
|
else if(cistrcmp(k, "date") == 0) |
|
|
|
|
|
|
|
txtcb(ctx, Tdate, k, v); |
|
|
|
|
|
|
|
else if(cistrcmp(k, "replaygain_track_peak") == 0) |
|
|
|
|
|
|
|
txtcb(ctx, Ttrackpeak, k, v); |
|
|
|
|
|
|
|
else if(cistrcmp(k, "replaygain_track_gain") == 0) |
|
|
|
|
|
|
|
txtcb(ctx, Ttrackgain, k, v); |
|
|
|
|
|
|
|
else if(cistrcmp(k, "replaygain_album_peak") == 0) |
|
|
|
|
|
|
|
txtcb(ctx, Talbumpeak, k, v); |
|
|
|
|
|
|
|
else if(cistrcmp(k, "replaygain_album_gain") == 0) |
|
|
|
|
|
|
|
txtcb(ctx, Talbumgain, k, v); |
|
|
|
|
|
|
|
else if(cistrcmp(k, "genre") == 0) |
|
|
|
|
|
|
|
txtcb(ctx, Tgenre, k, v); |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
txtcb(ctx, Tunknown, k, v); |
|
|
|
txtcb(ctx, Tunknown, k, v); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|