Mercurial > hg > xmms-sid
diff src/xs_config.c @ 78:ab522ab65c85
Various fixes and improvements
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 03 Oct 2003 03:11:05 +0000 |
parents | 3fca0b13a80a |
children | 94497283affa |
line wrap: on
line diff
--- a/src/xs_config.c Fri Sep 19 23:55:01 2003 +0000 +++ b/src/xs_config.c Fri Oct 03 03:11:05 2003 +0000 @@ -53,7 +53,8 @@ {CTYPE_INT, &xs_cfg.clockSpeed, "clockSpeed"}, {CTYPE_BOOL, &xs_cfg.forceSpeed, "forceSpeed"}, - {CTYPE_INT, &xs_cfg.optimiseLevel, "optimiseLevel"}, + {CTYPE_INT, &xs_cfg.sid2Builder, "sid2Builder"}, + {CTYPE_INT, &xs_cfg.sid2OptLevel, "sid2OptLevel"}, {CTYPE_BOOL, &xs_cfg.oversampleEnable, "oversampleEnable"}, {CTYPE_INT, &xs_cfg.oversampleFactor, "oversampleFactor"}, @@ -68,8 +69,8 @@ {CTYPE_BOOL, &xs_cfg.stilDBEnable, "stilDBEnable"}, {CTYPE_STR, &xs_cfg.stilDBPath, "stilDBPath"}, + {CTYPE_INT, &xs_cfg.subsongControl, "subsongControl"}, {CTYPE_BOOL, &xs_cfg.detectMagic, "detectMagic"}, - {CTYPE_BOOL, &xs_cfg.alwaysRaise, "alwaysRaise"}, {CTYPE_BOOL, &xs_cfg.titleOverride, "titleOverride"}, {CTYPE_STR, &xs_cfg.titleFormat, "titleFormat"}, @@ -94,16 +95,19 @@ { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_sidplay1", &xs_cfg.playerEngine, XS_ENG_SIDPLAY1 }, { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_sidplay2", &xs_cfg.playerEngine, XS_ENG_SIDPLAY2 }, -{ WTYPE_BUTTON, CTYPE_BOOL, "cfg_emu_sidplay2_opt", &xs_cfg.optimiseLevel, 0 }, { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_nanosid", &xs_cfg.playerEngine, XS_ENG_NANOSID }, -{ WTYPE_BUTTON, CTYPE_BOOL, "cfg_emu_mos8580", &xs_cfg.mos8580, 0 }, { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_mem_real", &xs_cfg.memoryMode, XS_MPU_REAL }, { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_mem_banksw", &xs_cfg.memoryMode, XS_MPU_BANK_SWITCHING }, { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_mem_transrom", &xs_cfg.memoryMode, XS_MPU_TRANSPARENT_ROM }, { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_mem_playsid", &xs_cfg.memoryMode, XS_MPU_PLAYSID_ENVIRONMENT }, + +{ WTYPE_BUTTON, CTYPE_BOOL, "cfg_emu_mos8580", &xs_cfg.mos8580, 0 }, { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_clock_ntsc", &xs_cfg.clockSpeed, XS_CLOCK_NTSC }, { WTYPE_BGROUP, CTYPE_INT, "cfg_emu_clock_pal", &xs_cfg.clockSpeed, XS_CLOCK_PAL }, { WTYPE_BUTTON, CTYPE_BOOL, "cfg_emu_clock_force", &xs_cfg.forceSpeed, 0 }, +{ WTYPE_BUTTON, CTYPE_BOOL, "cfg_emu_sidplay2_opt", &xs_cfg.sid2OptLevel, 0 }, +{ WTYPE_BUTTON, CTYPE_BOOL, "cfg_emu_sidplay2_resid",&xs_cfg.sid2Builder, XS_BLD_RESID }, +{ WTYPE_BUTTON, CTYPE_BOOL, "cfg_emu_sidplay2_hardsid",&xs_cfg.sid2Builder, XS_BLD_HARDSID }, { WTYPE_BUTTON, CTYPE_BOOL, "cfg_emu_filters", &xs_cfg.emulateFilters, 0 }, { WTYPE_SCALE, CTYPE_FLOAT, "cfg_emu_filt_fs", &xs_cfg.filterFs, 0 }, @@ -115,15 +119,15 @@ { WTYPE_BUTTON, CTYPE_BOOL, "cfg_maxtime_unknown", &xs_cfg.playMaxTimeUnknown, 0 }, { WTYPE_BUTTON, CTYPE_BOOL, "cfg_sld_enable", &xs_cfg.songlenDBEnable, 0 }, { WTYPE_TEXT, CTYPE_STR, "cfg_sld_dbpath", &xs_cfg.songlenDBPath, 0 }, -{ WTYPE_BUTTON, CTYPE_BOOL, "cfg_silence_enable", &xs_cfg.silenceEnable, 0 }, -{ WTYPE_SPIN, CTYPE_INT, "cfg_silence_min", &xs_cfg.silenceMinTime, 0 }, -{ WTYPE_SPIN, CTYPE_INT, "cfg_silence_max", &xs_cfg.silenceMaxCheck, 0 }, { WTYPE_BUTTON, CTYPE_BOOL, "cfg_stil_enable", &xs_cfg.stilDBEnable, 0 }, { WTYPE_TEXT, CTYPE_STR, "cfg_stil_dbpath", &xs_cfg.stilDBPath, 0 }, +{ WTYPE_BGROUP, CTYPE_INT, "cfg_subsong_none", &xs_cfg.subsongControl, XS_SSC_NONE }, +{ WTYPE_BGROUP, CTYPE_INT, "cfg_subsong_popup", &xs_cfg.subsongControl, XS_SSC_POPUP }, +{ WTYPE_BGROUP, CTYPE_INT, "cfg_subsong_patch", &xs_cfg.subsongControl, XS_SSC_PATCH }, + { WTYPE_BUTTON, CTYPE_BOOL, "cfg_detectmagic", &xs_cfg.detectMagic, 0 }, -{ WTYPE_BUTTON, CTYPE_BOOL, "cfg_alwaysraise", &xs_cfg.alwaysRaise, 0 }, { WTYPE_BUTTON, CTYPE_BOOL, "cfg_ftitle_override", &xs_cfg.titleOverride, 0 }, { WTYPE_TEXT, CTYPE_STR, "cfg_ftitle_format", &xs_cfg.titleFormat, 0 }, @@ -178,7 +182,7 @@ #ifdef HAVE_NANOSID xs_cfg.playerEngine = XS_ENG_NANOSID; #else -#error Something strange is going on here... Please re-configure! +#error This should not happen! No emulator engines found! #endif #endif #endif @@ -186,7 +190,16 @@ xs_cfg.clockSpeed = XS_CLOCK_PAL; xs_cfg.forceSpeed = FALSE; - xs_cfg.optimiseLevel = FALSE; + xs_cfg.sid2OptLevel = FALSE; +#ifdef HAVE_RESID_BUILDER + xs_cfg.sid2Builder = XS_BLD_RESID; +#else +#ifdef HAVE_HARDSID_BUILDER + xs_cfg.sid2Builder = XS_BLD_HARDSID; +#else +#error This should not happen! No reSID or HardSID builder(s) found! +#endif +#endif xs_cfg.oversampleEnable = FALSE; xs_cfg.oversampleFactor = XS_MIN_OVERSAMPLE; @@ -200,8 +213,13 @@ xs_cfg.stilDBEnable = FALSE; xs_strcalloc(&xs_cfg.stilDBPath, "~/C64Music/DOCUMENTS/STIL.txt"); +#ifdef HAVE_SONG_POSITION + xs_cfg.subsongControl = XS_SSC_PATCH; +#else + xs_cfg.subsongControl = XS_SSC_POPUP; +#endif + xs_cfg.detectMagic = FALSE; - xs_cfg.alwaysRaise = TRUE; #ifdef HAVE_XMMSEXTRA xs_cfg.titleOverride = FALSE; @@ -507,40 +525,58 @@ } -void xs_cfg_emu_sidplay1_toggled(GtkToggleButton *togglebutton, gpointer user_data) +void xs_cfg_emu_filters_toggled(GtkToggleButton *togglebutton, gpointer user_data) { -#ifdef HAVE_SIDPLAY1 -#endif } -void xs_cfg_emu_sidplay2_set(gboolean isActive) +void xs_cfg_ftitle_override_toggled(GtkToggleButton *togglebutton, gpointer user_data) { - gtk_widget_set_sensitive(LUW("cfg_emu_sidplay2_opt"), isActive); + gboolean isActive = GTK_TOGGLE_BUTTON(LUW("cfg_ftitle_override"))->active; + + gtk_widget_set_sensitive(LUW("cfg_ftitle_format"), isActive); + gtk_widget_set_sensitive(LUW("cfg_ftitle_desc1"), isActive); + gtk_widget_set_sensitive(LUW("cfg_ftitle_desc2"), isActive); + gtk_widget_set_sensitive(LUW("cfg_ftitle_desc3"), isActive); +} + + +void xs_cfg_emu_sidplay1_toggled(GtkToggleButton *togglebutton, gpointer user_data) +{ +} + + +void xs_cfg_emu_sidplay2_toggled(GtkToggleButton *togglebutton, gpointer user_data) +{ + gboolean isActive = GTK_TOGGLE_BUTTON(LUW("cfg_emu_sidplay2"))->active; gtk_widget_set_sensitive(LUW("cfg_emu_mem_real"), isActive); gtk_widget_set_sensitive(LUW("cfg_oversample_grp"), isActive); gtk_widget_set_sensitive(LUW("cfg_oversample"), isActive); gtk_widget_set_sensitive(LUW("cfg_oversample_factor"), isActive); - gtk_widget_set_sensitive(LUW("cfg_overfilter_average"), isActive); gtk_widget_set_sensitive(LUW("cfg_overfilter_sinc"), isActive); -} + gtk_widget_set_sensitive(LUW("cfg_sidplay2_grp"), isActive); + gtk_widget_set_sensitive(LUW("cfg_emu_sidplay2_opt"), isActive); -void xs_cfg_emu_sidplay2_toggled(GtkToggleButton *togglebutton, gpointer user_data) -{ -#ifdef HAVE_SIDPLAY2 - xs_cfg_emu_sidplay2_set(GTK_TOGGLE_BUTTON(LUW("cfg_emu_sidplay2"))->active); +#ifdef HAVE_RESID_BUILDER + gtk_widget_set_sensitive(LUW("cfg_emu_sidplay2_resid"), isActive); +#else + gtk_widget_set_sensitive(LUW("cfg_emu_sidplay2_resid"), FALSE); +#endif + +#ifdef HAVE_HARDSID_BUILDER + gtk_widget_set_sensitive(LUW("cfg_emu_sidplay2_hardsid"), isActive); +#else + gtk_widget_set_sensitive(LUW("cfg_emu_sidplay2_hardsid"), FALSE); #endif } void xs_cfg_emu_nanosid_toggled(GtkToggleButton *togglebutton, gpointer user_data) { -#ifdef HAVE_NANOSID -#endif } @@ -562,6 +598,7 @@ /* Create the window */ xs_configwin = create_xs_configwin(); + /* Based on selected emulation library, disable options */ #ifndef HAVE_SIDPLAY1 gtk_widget_set_sensitive(LUW("cfg_emu_sidplay1"), FALSE); @@ -569,23 +606,25 @@ #ifndef HAVE_SIDPLAY2 gtk_widget_set_sensitive(LUW("cfg_emu_sidplay2"), FALSE); - xs_cfg_emu_sidplay2_set(FALSE); #endif #ifndef HAVE_NANOSID gtk_widget_set_sensitive(LUW("cfg_emu_nanosid"), FALSE); #endif + /* Other UI options */ +#ifndef HAVE_XMMSEXTRA + gtk_widget_set_sensitive(LUW("cfg_ftitle_override"), FALSE); +#endif + + + /* Update the widget sensitivities */ + xs_cfg_emu_filters_toggled(NULL, NULL); + xs_cfg_ftitle_override_toggled(NULL, NULL); xs_cfg_emu_sidplay1_toggled(NULL, NULL); xs_cfg_emu_sidplay2_toggled(NULL, NULL); xs_cfg_emu_nanosid_toggled(NULL, NULL); - /* Other UI options */ -#ifndef HAVE_XMMSEXTRA - gtk_widget_set_sensitive(LUW("cfg_ftitle_override"), FALSE); - xs_cfg.titleOverride = TRUE; -#endif - /* Set current data to widgets */ for (i = 0; i < xs_widtable_max; i++)