# HG changeset patch # User Matti Hamalainen # Date 1353445233 -7200 # Node ID be2a8436461ac9765f1c6fd4c0075cf93add2e6b # Parent 5711abf1ff39a28787c61e30e4076c940e876cc5 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. diff -r 5711abf1ff39 -r be2a8436461a src/xmms-sid.h --- a/src/xmms-sid.h Tue Nov 20 22:39:27 2012 +0200 +++ b/src/xmms-sid.h Tue Nov 20 23:00:33 2012 +0200 @@ -135,7 +135,8 @@ initAddr, playAddr, dataFileLen, - sidModel; + sidModel1, + sidModel2; gint nsubTunes, startTune; XSSubTuneInfo *subTunes; } XSTuneInfo; diff -r 5711abf1ff39 -r be2a8436461a src/xs_config.h --- a/src/xs_config.h Tue Nov 20 22:39:27 2012 +0200 +++ b/src/xs_config.h Tue Nov 20 23:00:33 2012 +0200 @@ -81,7 +81,7 @@ XS_SIDMODEL_UNKNOWN = 0, XS_SIDMODEL_6581, XS_SIDMODEL_8580, - XS_SIDMODEL_ANY + XS_SIDMODEL_ANY, }; diff -r 5711abf1ff39 -r be2a8436461a src/xs_interface.c --- a/src/xs_interface.c Tue Nov 20 22:39:27 2012 +0200 +++ b/src/xs_interface.c Tue Nov 20 23:00:33 2012 +0200 @@ -1403,7 +1403,7 @@ gtk_widget_show (w_hbox9); gtk_box_pack_start (GTK_BOX (cfg_ftitle_box), w_hbox9, FALSE, FALSE, 2); - cfg_ftitle_desc1 = gtk_label_new (_("%% - '%' character\n%p - Performer/composer\n%t - Song name (title)\n%c - Copyright\n%s - File type\n%m - SID model")); + cfg_ftitle_desc1 = gtk_label_new (_("%% - '%' character\n%p - Performer/composer\n%t - Song name (title)\n%c - Copyright\n%s - File type\n%m - SID model (both)\n%1 - Model of SID #1")); gtk_widget_set_name (cfg_ftitle_desc1, "cfg_ftitle_desc1"); gtk_widget_ref (cfg_ftitle_desc1); gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_ftitle_desc1", cfg_ftitle_desc1, @@ -1413,7 +1413,7 @@ gtk_label_set_justify (GTK_LABEL (cfg_ftitle_desc1), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (cfg_ftitle_desc1), 0.04, 0.5); - cfg_ftitle_desc2 = gtk_label_new (_("%C - Speed/clock (PAL/NTSC)\n%n - Subtune\n%N - Number of subtunes\n%f - Filename\n%F - File path\n%e - File extension")); + cfg_ftitle_desc2 = gtk_label_new (_("%C - Speed/clock (PAL/NTSC)\n%n - Subtune\n%N - Number of subtunes\n%f - Filename\n%F - File path\n%e - File extension\n%2 - Model of SID #2")); gtk_widget_set_name (cfg_ftitle_desc2, "cfg_ftitle_desc2"); gtk_widget_ref (cfg_ftitle_desc2); gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_ftitle_desc2", cfg_ftitle_desc2, diff -r 5711abf1ff39 -r be2a8436461a src/xs_sidplay1.cpp --- a/src/xs_sidplay1.cpp Tue Nov 20 22:39:27 2012 +0200 +++ b/src/xs_sidplay1.cpp Tue Nov 20 23:00:33 2012 +0200 @@ -395,7 +395,7 @@ info.infoString[0], info.infoString[1], info.infoString[2], info.loadAddr, info.initAddr, info.playAddr, info.dataFileLen, info.formatString, - info.sidModel + info.sidModel, XS_SIDMODEL_UNKNOWN ); error: @@ -428,7 +428,8 @@ /* NOTICE! Here we assume that libSIDPlay[12] headers define * SIDTUNE_SIDMODEL_* similarly to our enums in xs_config.h ... */ - state->tuneInfo->sidModel = info.sidModel; + state->tuneInfo->sidModel1 = info.sidModel; + state->tuneInfo->sidModel2 = XS_SIDMODEL_UNKNOWN; if (state->currSong > 0 && state->currSong <= state->tuneInfo->nsubTunes) { diff -r 5711abf1ff39 -r be2a8436461a src/xs_sidplay2.cpp --- a/src/xs_sidplay2.cpp Tue Nov 20 22:39:27 2012 +0200 +++ b/src/xs_sidplay2.cpp Tue Nov 20 23:00:33 2012 +0200 @@ -454,7 +454,7 @@ info.infoString[0], info.infoString[1], info.infoString[2], info.loadAddr, info.initAddr, info.playAddr, info.dataFileLen, info.formatString, - info.sidModel + info.sidModel, XS_SIDMODEL_UNKNOWN ); error: @@ -487,7 +487,8 @@ /* NOTICE! Here we assume that libSIDPlay[12] headers define * SIDTUNE_SIDMODEL_* similarly to our enums in xs_config.h ... */ - state->tuneInfo->sidModel = info.sidModel; + state->tuneInfo->sidModel1 = info.sidModel; + state->tuneInfo->sidModel2 = XS_SIDMODEL_UNKNOWN; if (state->currSong > 0 && state->currSong <= state->tuneInfo->nsubTunes) { diff -r 5711abf1ff39 -r be2a8436461a src/xs_sidplayfp.cpp --- a/src/xs_sidplayfp.cpp Tue Nov 20 22:39:27 2012 +0200 +++ b/src/xs_sidplayfp.cpp Tue Nov 20 23:00:33 2012 +0200 @@ -481,7 +481,7 @@ info->infoString(0), info->infoString(1), info->infoString(2), info->loadAddr(), info->initAddr(), info->playAddr(), info->dataFileLen(), info->formatString(), - info->sidModel1() + info->sidModel1(), info->sidModel2() ); #else const SidTuneInfo info = tune->getInfo(); @@ -491,7 +491,7 @@ info.infoString[0], info.infoString[1], info.infoString[2], info.loadAddr, info.initAddr, info.playAddr, info.dataFileLen, info.formatString, - info.sidModel1 + info.sidModel1, info.sidModel2 ); #endif } @@ -523,7 +523,8 @@ const SidTuneInfo *info = engine->tune.getInfo(); - state->tuneInfo->sidModel = info->sidModel1(); + state->tuneInfo->sidModel1 = info->sidModel1(); + state->tuneInfo->sidModel2 = info->sidModel2(); if (state->currSong > 0 && state->currSong <= state->tuneInfo->nsubTunes) { diff -r 5711abf1ff39 -r be2a8436461a src/xs_slsup.c --- a/src/xs_slsup.c Tue Nov 20 22:39:27 2012 +0200 +++ b/src/xs_slsup.c Tue Nov 20 23:00:33 2012 +0200 @@ -220,7 +220,8 @@ gint nsubTunes, gint startTune, const gchar * sidName, const gchar * sidComposer, const gchar * sidCopyright, gint loadAddr, gint initAddr, gint playAddr, - gint dataFileLen, const gchar *sidFormat, gint sidModel) + gint dataFileLen, const gchar *sidFormat, + gint sidModel1, gint sidModel2) { XSTuneInfo *result; XSSLDBNode *tmpLength; @@ -269,7 +270,8 @@ result->dataFileLen = dataFileLen; result->sidFormat = XS_CS_SID(sidFormat); - result->sidModel = sidModel; + result->sidModel1 = sidModel1; + result->sidModel2 = sidModel2; /* Get length information (NOTE: Do not free this!) */ tmpLength = xs_songlen_get(filename); diff -r 5711abf1ff39 -r be2a8436461a src/xs_slsup.h --- a/src/xs_slsup.h Tue Nov 20 22:39:27 2012 +0200 +++ b/src/xs_slsup.h Tue Nov 20 23:00:33 2012 +0200 @@ -21,7 +21,8 @@ gint nsubTunes, gint startTune, const gchar * sidName, const gchar * sidComposer, const gchar * sidCopyright, gint loadAddr, gint initAddr, gint playAddr, - gint dataFileLen, const gchar *sidFormat, gint sidModel); + gint dataFileLen, const gchar *sidFormat, + gint sidModel1, gint sidModel2); void xs_tuneinfo_free(XSTuneInfo *); diff -r 5711abf1ff39 -r be2a8436461a src/xs_title.c --- 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': diff -r 5711abf1ff39 -r be2a8436461a xmms-sid.glade --- a/xmms-sid.glade Tue Nov 20 22:39:27 2012 +0200 +++ b/xmms-sid.glade Tue Nov 20 23:00:33 2012 +0200 @@ -2009,7 +2009,8 @@ %t - Song name (title) %c - Copyright %s - File type -%m - SID model +%m - SID model (both) +%1 - Model of SID #1 GTK_JUSTIFY_LEFT False 0.04 @@ -2031,7 +2032,8 @@ %N - Number of subtunes %f - Filename %F - File path -%e - File extension +%e - File extension +%2 - Model of SID #2 GTK_JUSTIFY_LEFT False 0.04