diff src/xs_config.c @ 127:ddb513bd2610

Improved audio format support, now supported formats are "queried" from emulator engines. Preparing for NanoSID-support, since it's the worst in this sense.
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 14 Jan 2004 21:45:05 +0000
parents 01496c6f85c3
children 84bff1a4bb1c
line wrap: on
line diff
--- a/src/xs_config.c	Wed Jan 14 03:57:04 2004 +0000
+++ b/src/xs_config.c	Wed Jan 14 21:45:05 2004 +0000
@@ -31,7 +31,8 @@
  */
 static GtkWidget	*xs_configwin = NULL,
 			*xs_sldb_fileselector = NULL,
-			*xs_stil_fileselector = NULL;
+			*xs_stil_fileselector = NULL,
+			*xs_hvsc_pathselector = NULL;
 
 #define LUW(x...)	lookup_widget(xs_configwin, ## x)
 
@@ -40,9 +41,9 @@
  * Configuration specific stuff
  */
 t_xs_cfg_item xs_cfgtable[] = {
-	{CTYPE_INT,	&xs_cfg.fmtBitsPerSample,	"fmtBitsPerSample"},
-	{CTYPE_INT,	&xs_cfg.fmtChannels,		"fmtChannels"},
-	{CTYPE_INT,	&xs_cfg.fmtFrequency,		"fmtFrequency"},
+	{CTYPE_INT,	&xs_cfg.audioBitsPerSample,	"audioBitsPerSample"},
+	{CTYPE_INT,	&xs_cfg.audioChannels,		"audioChannels"},
+	{CTYPE_INT,	&xs_cfg.audioFrequency,		"audioFrequency"},
 
 	{CTYPE_BOOL,	&xs_cfg.mos8580,		"mos8580"},
 	{CTYPE_BOOL,	&xs_cfg.emulateFilters,		"emulateFilters"},
@@ -83,12 +84,12 @@
 
 
 t_xs_wid_item xs_widtable[] = {
-{ WTYPE_BGROUP,	CTYPE_INT,	"cfg_res_16bit",	&xs_cfg.fmtBitsPerSample,	XS_RES_16BIT },
-{ WTYPE_BGROUP,	CTYPE_INT,	"cfg_res_8bit",		&xs_cfg.fmtBitsPerSample,	XS_RES_8BIT },
-{ WTYPE_BGROUP,	CTYPE_INT,	"cfg_chn_mono",		&xs_cfg.fmtChannels,		XS_CHN_MONO },
-{ WTYPE_BGROUP,	CTYPE_INT,	"cfg_chn_stereo",	&xs_cfg.fmtChannels,		XS_CHN_STEREO },
-{ WTYPE_BGROUP,	CTYPE_INT,	"cfg_chn_autopan",	&xs_cfg.fmtChannels,		XS_CHN_AUTOPAN },
-{ WTYPE_SPIN,	CTYPE_INT,	"cfg_samplerate",	&xs_cfg.fmtFrequency,		0 },
+{ WTYPE_BGROUP,	CTYPE_INT,	"cfg_res_16bit",	&xs_cfg.audioBitsPerSample,	XS_RES_16BIT },
+{ WTYPE_BGROUP,	CTYPE_INT,	"cfg_res_8bit",		&xs_cfg.audioBitsPerSample,	XS_RES_8BIT },
+{ WTYPE_BGROUP,	CTYPE_INT,	"cfg_chn_mono",		&xs_cfg.audioChannels,		XS_CHN_MONO },
+{ WTYPE_BGROUP,	CTYPE_INT,	"cfg_chn_stereo",	&xs_cfg.audioChannels,		XS_CHN_STEREO },
+{ WTYPE_BGROUP,	CTYPE_INT,	"cfg_chn_autopan",	&xs_cfg.audioChannels,		XS_CHN_AUTOPAN },
+{ WTYPE_SPIN,	CTYPE_INT,	"cfg_samplerate",	&xs_cfg.audioFrequency,		0 },
 { WTYPE_BUTTON,	CTYPE_BOOL,	"cfg_oversample",	&xs_cfg.oversampleEnable,	0 },
 { WTYPE_SPIN,	CTYPE_INT,	"cfg_oversample_factor",&xs_cfg.oversampleFactor,	0 },
 { WTYPE_BGROUP,	CTYPE_INT,	"cfg_overfilter_average",&xs_cfg.oversampleFilter,	XS_FILTER_AVERAGE },
@@ -166,9 +167,9 @@
  XSDEBUG("initializing configuration ...\n");
 
  /* Pre-initialize configuration structure */
- xs_cfg.fmtBitsPerSample	= XS_RES_16BIT;
- xs_cfg.fmtChannels		= XS_CHN_MONO;
- xs_cfg.fmtFrequency		= 44100;
+ xs_cfg.audioBitsPerSample	= XS_RES_16BIT;
+ xs_cfg.audioChannels		= XS_CHN_MONO;
+ xs_cfg.audioFrequency		= 44100;
 
  xs_cfg.mos8580			= FALSE;
  xs_cfg.emulateFilters		= TRUE;
@@ -531,6 +532,45 @@
 }
 
 
+/*
+ * HVSC location selector response-functions
+ */
+void xs_cfg_hvsc_browse(GtkButton *button, gpointer user_data)
+{
+ if (xs_hvsc_pathselector != NULL)
+	{
+	gdk_window_raise(xs_hvsc_pathselector->window);
+	return;
+	}
+
+ xs_hvsc_pathselector = create_xs_stilfileselector();
+ gtk_widget_show(xs_hvsc_pathselector);
+}
+
+
+void xs_cfg_hvsc_fs_ok(void)
+{
+ /* Selection was accepted! */
+ gtk_entry_set_text(GTK_ENTRY(LUW("cfg_hvsc_path")),
+ 	gtk_file_selection_get_filename(GTK_FILE_SELECTION(xs_hvsc_pathselector)));
+
+ /* Close file selector window */
+ gtk_widget_destroy(xs_hvsc_pathselector);
+ xs_hvsc_pathselector = NULL;
+}
+
+
+void xs_cfg_hvsc_fs_cancel(void)
+{
+ /* Close file selector window */
+ gtk_widget_destroy(xs_hvsc_pathselector);
+ xs_hvsc_pathselector = NULL;
+}
+
+
+/*
+ * Selection toggle handlers
+ */
 void xs_cfg_emu_filters_toggled(GtkToggleButton *togglebutton, gpointer user_data)
 {
 }