Mercurial > hg > xmms-sid
diff src/xs_title.c @ 961:be2a8436461a dev-0_8_99
Add display of second SID chip to titles, and also new custom format tokens
%1 and %2 for first and second SID respectively. The old "%m" now expands to
one or both SID models, depending how many are in use.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 20 Nov 2012 23:00:33 +0200 |
parents | 61a527ac3baa |
children |
line wrap: on
line diff
--- a/src/xs_title.c Tue Nov 20 22:39:27 2012 +0200 +++ b/src/xs_title.c Tue Nov 20 23:00:33 2012 +0200 @@ -65,6 +65,18 @@ } +const gchar *xs_get_sidmodel(gint model) +{ + switch (model) + { + case XS_SIDMODEL_6581: return "6581"; + case XS_SIDMODEL_8580: return "8580"; + case XS_SIDMODEL_ANY: return "ANY"; + case XS_SIDMODEL_UNKNOWN: return "???"; + default: return ""; + } +} + gchar *xs_make_titlestring(XSTuneInfo *p, gint subTune) { gchar *tmpFilename, *tmpFilePath, *tmpFileExt, @@ -101,7 +113,10 @@ pTuple->track_number = subTune; pTuple->album_name = NULL; pTuple->performer = g_strdup(p->sidComposer); - pTuple->date = g_strdup((p->sidModel == XS_SIDMODEL_6581) ? "SID6581" : "SID8580"); + pTuple->date = g_strdup_printf("%s%s%s", + xs_get_sidmodel(p->sidModel1), + (p->sidModel2 > XS_SIDMODEL_UNKNOWN) ? " + " : "", + (p->sidModel2 > XS_SIDMODEL_UNKNOWN) ? xs_get_sidmodel(p->sidModel2) : ""); pTuple->year = 0; pTuple->genre = g_strdup("SID-tune"); @@ -150,20 +165,18 @@ case 's': VPUTSTR(p->sidFormat); break; + case '1': + VPUTSTR(xs_get_sidmodel(p->sidModel1)); + break; + case '2': + VPUTSTR(xs_get_sidmodel(p->sidModel2)); + break; case 'm': - switch (p->sidModel) { - case XS_SIDMODEL_6581: - VPUTSTR("6581"); - break; - case XS_SIDMODEL_8580: - VPUTSTR("8580"); - break; - case XS_SIDMODEL_ANY: - VPUTSTR("ANY"); - break; - default: - VPUTSTR("?"); - break; + VPUTSTR(xs_get_sidmodel(p->sidModel1)); + if (p->sidModel2 > XS_SIDMODEL_UNKNOWN) + { + VPUTSTR(" + "); + VPUTSTR(xs_get_sidmodel(p->sidModel2)); } break; case 'C':