comparison 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
comparison
equal deleted inserted replaced
960:5711abf1ff39 961:be2a8436461a
62 } else \ 62 } else \
63 index = XS_BUF_SIZE; \ 63 index = XS_BUF_SIZE; \
64 } \ 64 } \
65 } 65 }
66 66
67
68 const gchar *xs_get_sidmodel(gint model)
69 {
70 switch (model)
71 {
72 case XS_SIDMODEL_6581: return "6581";
73 case XS_SIDMODEL_8580: return "8580";
74 case XS_SIDMODEL_ANY: return "ANY";
75 case XS_SIDMODEL_UNKNOWN: return "???";
76 default: return "";
77 }
78 }
67 79
68 gchar *xs_make_titlestring(XSTuneInfo *p, gint subTune) 80 gchar *xs_make_titlestring(XSTuneInfo *p, gint subTune)
69 { 81 {
70 gchar *tmpFilename, *tmpFilePath, *tmpFileExt, 82 gchar *tmpFilename, *tmpFilePath, *tmpFileExt,
71 *str, *result, tmpStr[XS_BUF_SIZE], tmpBuf[XS_BUF_SIZE]; 83 *str, *result, tmpStr[XS_BUF_SIZE], tmpBuf[XS_BUF_SIZE];
99 111
100 pTuple->track_name = g_strdup(p->sidName); 112 pTuple->track_name = g_strdup(p->sidName);
101 pTuple->track_number = subTune; 113 pTuple->track_number = subTune;
102 pTuple->album_name = NULL; 114 pTuple->album_name = NULL;
103 pTuple->performer = g_strdup(p->sidComposer); 115 pTuple->performer = g_strdup(p->sidComposer);
104 pTuple->date = g_strdup((p->sidModel == XS_SIDMODEL_6581) ? "SID6581" : "SID8580"); 116 pTuple->date = g_strdup_printf("%s%s%s",
117 xs_get_sidmodel(p->sidModel1),
118 (p->sidModel2 > XS_SIDMODEL_UNKNOWN) ? " + " : "",
119 (p->sidModel2 > XS_SIDMODEL_UNKNOWN) ? xs_get_sidmodel(p->sidModel2) : "");
105 120
106 pTuple->year = 0; 121 pTuple->year = 0;
107 pTuple->genre = g_strdup("SID-tune"); 122 pTuple->genre = g_strdup("SID-tune");
108 pTuple->comment = g_strdup(p->sidCopyright); 123 pTuple->comment = g_strdup(p->sidCopyright);
109 124
148 VPUTSTR(p->sidCopyright); 163 VPUTSTR(p->sidCopyright);
149 break; 164 break;
150 case 's': 165 case 's':
151 VPUTSTR(p->sidFormat); 166 VPUTSTR(p->sidFormat);
152 break; 167 break;
168 case '1':
169 VPUTSTR(xs_get_sidmodel(p->sidModel1));
170 break;
171 case '2':
172 VPUTSTR(xs_get_sidmodel(p->sidModel2));
173 break;
153 case 'm': 174 case 'm':
154 switch (p->sidModel) { 175 VPUTSTR(xs_get_sidmodel(p->sidModel1));
155 case XS_SIDMODEL_6581: 176 if (p->sidModel2 > XS_SIDMODEL_UNKNOWN)
156 VPUTSTR("6581"); 177 {
157 break; 178 VPUTSTR(" + ");
158 case XS_SIDMODEL_8580: 179 VPUTSTR(xs_get_sidmodel(p->sidModel2));
159 VPUTSTR("8580");
160 break;
161 case XS_SIDMODEL_ANY:
162 VPUTSTR("ANY");
163 break;
164 default:
165 VPUTSTR("?");
166 break;
167 } 180 }
168 break; 181 break;
169 case 'C': 182 case 'C':
170 if (subInfo && (subInfo->tuneSpeed > 0)) { 183 if (subInfo && (subInfo->tuneSpeed > 0)) {
171 switch (subInfo->tuneSpeed) { 184 switch (subInfo->tuneSpeed) {