changeset 42:0f00ebab063d

Fixes
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 19 Jun 2003 23:50:01 +0000
parents c145ff12f2d0
children 3c609b6d5a02
files src/xmms-sid.cc src/xs_config.c src/xs_genui.c src/xs_genui.h
diffstat 4 files changed, 119 insertions(+), 105 deletions(-) [+]
line wrap: on
line diff
--- a/src/xmms-sid.cc	Thu Jun 19 23:50:00 2003 +0000
+++ b/src/xmms-sid.cc	Thu Jun 19 23:50:01 2003 +0000
@@ -29,6 +29,8 @@
 #include <xmms/util.h>
 #include <xmms/titlestring.h>
 #include "xmms-sid.h"
+#include "xs_interface.h"
+#include "xs_glade.h"
 #include "xs_support.h"
 #include "xs_config.h"
 #include "xs_length.h"
@@ -55,8 +57,10 @@
 #endif
 
 #ifdef HAVE_SIDPLAY2
+static sidplay2		xs_emuEngine;
 #endif
 
+static GtkWidget	*xs_ctrlwin	= NULL;
 static pthread_t	xs_decode_thread;
 struct t_xs_cfg		xs_cfg;
 
@@ -69,6 +73,22 @@
 
 pthread_mutex_t xs_mutex = PTHREAD_MUTEX_INITIALIZER;
 
+/*
+ * Create sub-song control window
+ */
+void xs_ctrlwin_open(void)
+{
+ /* Create sub-song control window */
+ if (xs_ctrlwin != NULL)
+	{
+	gdk_window_raise(xs_ctrlwin->window);
+	return;
+	}
+
+ xs_ctrlwin = create_xs_ctrlwin();
+ gtk_widget_show(xs_ctrlwin);
+}
+
 
 /*
  * Initialize XMMS-SID
@@ -111,10 +131,11 @@
 	}
 	
  /* Initialize STIL structures */
+
+ xs_ctrlwin_open();
+
 // FIXME FIXME FIx ME
 
- /* Create sub-song control window */
-// FIX ME FIXME
 }
 
 
--- a/src/xs_config.c	Thu Jun 19 23:50:00 2003 +0000
+++ b/src/xs_config.c	Thu Jun 19 23:50:01 2003 +0000
@@ -176,8 +176,6 @@
  /* Free the config file */
  xmms_cfg_free(cfgFile);
 
- xs_write_configuration();
- 
  XSDEBUG("OK\n");
 }
 
@@ -277,13 +275,13 @@
 
 
  /* Frequency setting */
- xs_cfg.fmtFrequency = (gint) GTK_ADJUSTMENT(LUW("cfg_samplerate_adj"))->value;
+ xs_cfg.fmtFrequency = (gint) GTK_ADJUSTMENT(LUW("cfg_samplerate"))->value;
 
 
  /* Filter and waveform settings */
- xs_cfg.mos8580 = GTK_TOGGLE_BUTTON(LUW("cfg_wav_mos8580"))->active;
+ xs_cfg.mos8580 = GTK_TOGGLE_BUTTON(LUW("cfg_emu_mos8580"))->active;
 
- xs_cfg.emulateFilters = GTK_TOGGLE_BUTTON(LUW("cfg_emufilters"))->active;
+ xs_cfg.emulateFilters = GTK_TOGGLE_BUTTON(LUW("cfg_emu_filters"))->active;
 
  xs_cfg.filterFs = GTK_ADJUSTMENT(LUW("cfg_filt_fs_adj"))->value;
  xs_cfg.filterFm = GTK_ADJUSTMENT(LUW("cfg_filt_fm_adj"))->value;
@@ -291,13 +289,13 @@
 
 
  /* Memorymode settings */
- if (GTK_TOGGLE_BUTTON(LUW("cfg_mem_banksw"))->active)
+ if (GTK_TOGGLE_BUTTON(LUW("cfg_emu_mem_banksw"))->active)
 	xs_cfg.memoryMode = XS_MPU_BANK_SWITCHING;
 	else
- if (GTK_TOGGLE_BUTTON(LUW("cfg_mem_transrom"))->active)
+ if (GTK_TOGGLE_BUTTON(LUW("cfg_emu_mem_transrom"))->active)
 	xs_cfg.memoryMode = XS_MPU_TRANSPARENT_ROM;
 	else
- if (GTK_TOGGLE_BUTTON(LUW("cfg_mem_playsid"))->active)
+ if (GTK_TOGGLE_BUTTON(LUW("cfg_emu_mem_playsid"))->active)
 	xs_cfg.memoryMode = XS_MPU_PLAYSID_ENVIRONMENT;
 
  /* Clockspeed settings */
@@ -365,6 +363,14 @@
  */
 void xs_cfg_sld_dbbrowse(GtkButton *button, gpointer user_data)
 {
+ if (xs_sldb_fileselector != NULL)
+	{
+	gdk_window_raise(xs_sldb_fileselector->window);
+	return;
+	}
+
+ xs_sldb_fileselector = create_xs_sldbfileselector();
+ gtk_widget_show(xs_sldb_fileselector);
 }
 
 
@@ -394,7 +400,14 @@
  */
 void xs_cfg_stil_browse(GtkButton *button, gpointer user_data)
 {
+ if (xs_stil_fileselector != NULL)
+	{
+	gdk_window_raise(xs_stil_fileselector->window);
+	return;
+	}
 
+ xs_stil_fileselector = create_xs_stilfileselector();
+ gtk_widget_show(xs_stil_fileselector);
 }
 
 
@@ -432,126 +445,106 @@
 
  /* Create the window */
  xs_configwin = create_xs_configwin();
- 	
-#if 0
 
-	/* Set the states of widgets */
+ /* Based on selected emulation library, disable options */
+#ifdef HAVE_SIDPLAY1
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(LUW("cfg_emu_sidplay1")), TRUE);
+#else
+ gtk_widget_set_sensitive(LUW("cfg_emu_sidplay1"), FALSE);
+#endif
+
+#ifdef HAVE_SIDPLAY2
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(LUW("cfg_emu_sidplay2")), TRUE);
+#else
+ gtk_widget_set_sensitive(LUW("cfg_emu_sidplay2"), FALSE);
+ gtk_widget_set_sensitive(LUW("cfg_emu_sidplay2_opt"), FALSE);
+#endif
 
-	/* Sound resolution settings */
-	switch (xs_cfg.fmtBitsPerSample) {
-	case 16:
-		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cfg_res_16bit), TRUE);
+ 	
+ /* Sound resolution settings */
+ switch (xs_cfg.fmtBitsPerSample) {
+	case XS_RES_16BIT:
+		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(LUW("cfg_res_16bit")), TRUE);
+		break;
+	case XS_RES_8BIT:
+		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(LUW("cfg_res_8bit")), TRUE);
 		break;
-	case 8:
-		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cfg_res_8bit), TRUE);
+ }
+
+ gtk_adjustment_set_value(GTK_ADJUSTMENT(LUW("cfg_samplerate_adj")), xs_cfg.fmtFrequency);
+
+ /* Channel settings */
+ switch (xs_cfg.fmtChannels) {
+	case XS_CHN_MONO:
+		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(LUW("cfg_chn_mono")), TRUE);
 		break;
-	}
-
-	gtk_adjustment_set_value(GTK_ADJUSTMENT(cfg_samplerate_adj), xs_cfg.fmtFrequency);
+	case XS_CHN_STEREO:
+		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(LUW("cfg_chn_stereo")), TRUE);
+		break;
+	case XS_CHN_AUTOPAN:
+		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(LUW("cfg_chn_autopan")), TRUE);
+		break;
+ }
 
 
-	/* Channel settings */
-	switch (xs_cfg.fmtChannels) {
-	case 0:
-		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cfg_chn_mono), TRUE);
-		break;
-	case 1:
-		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cfg_chn_stereo), TRUE);
-		break;
-	case 2:
-		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cfg_chn_autopan), TRUE);
-		break;
-	}
-
-
-	/* Memorymode settings */
-	switch (xs_cfg.memoryMode) {
+ /* Memorymode settings */
+ switch (xs_cfg.memoryMode) {
 	case XS_MPU_BANK_SWITCHING:
-		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cfg_mem_banksw), TRUE);
+		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(LUW("cfg_emu_mem_banksw")), TRUE);
 		break;
 
 	case XS_MPU_TRANSPARENT_ROM:
-		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cfg_mem_transrom), TRUE);
+		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(LUW("cfg_emu_mem_transrom")), TRUE);
 		break;
 
 	case XS_MPU_PLAYSID_ENVIRONMENT:
-		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cfg_mem_playsid), TRUE);
+		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(LUW("cfg_emu_mem_playsid")), TRUE);
 		break;
-	}
-
-
-	/* Filter and waveform settings */
-	if (xs_cfg.mos8580) {
-		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cfg_wav_mos8580), TRUE);
-		} else {
-		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cfg_wav_mos6581), TRUE);
-		}
+ }
 
 
-	if (xs_cfg.emulateFilter) {
-		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cfg_emufilters), TRUE);
-		}
-
-	xs_cfg_filt_update();
-
+ /* Filter and waveform settings */
+ if (xs_cfg.mos8580)
+	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(LUW("cfg_emu_mos8580")), TRUE);
+	else
+	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(LUW("cfg_emu_mos6581")), TRUE);
 
-	/* Song-length detection */
-	switch (xs_cfg.playMethod) {
-	case XS_PMETHOD_NONE:
-		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cfg_sld_none), TRUE);
-		break;
+ if (xs_cfg.emulateFilters)
+	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(LUW("cfg_emu_filters")), TRUE);
 
-	case XS_PMETHOD_MAXSILENCE:
-		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cfg_sld_maxsilence), TRUE);
-		break;
+ xs_update_filters();
 
 
-	case XS_PMETHOD_DATABASE:
-		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cfg_sld_database), TRUE);
-		break;
-	}
+ /* Song-length database */
+ if (xs_cfg.playMaxTimeEnable)
+	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(LUW("cfg_sld_usemaxtime")), TRUE);
+
+ gtk_adjustment_set_value(GTK_ADJUSTMENT(LUW("cfg_sld_maxtime_adj")), xs_cfg.playMaxTime);
 
-	if (xs_cfg.playUseMaxTime) {
-		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cfg_sld_usemaxtime), TRUE);
-		}
+ if (xs_cfg.songlenDBEnable)
+	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(LUW("cfg_sld")), TRUE);
 
-	gtk_adjustment_set_value(GTK_ADJUSTMENT(cfg_sld_maxtime_adj), xs_cfg.playMaxTime);
-	gtk_adjustment_set_value(GTK_ADJUSTMENT(cfg_sld_silencetime_adj), xs_cfg.playMaxSilentTime);
-	gtk_adjustment_set_value(GTK_ADJUSTMENT(cfg_sld_percentage_adj), xs_cfg.playSilentPercent);
-
-	if (xs_cfg.playDBPath != NULL) {
-		gtk_entry_set_text(GTK_ENTRY(cfg_sld_dbpath), xs_cfg.playDBPath);
-		}
+ if (xs_cfg.songlenDBPath != NULL)
+	gtk_entry_set_text(GTK_ENTRY(LUW("cfg_sld_dbpath")), xs_cfg.songlenDBPath);
 
 
-	/* STIL and miscellaneous settings */
-	if (xs_cfg.useSTIL) {
-		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cfg_stil_use), TRUE);
-		}
+ /* STIL and miscellaneous settings */
+ if (xs_cfg.stilDBEnable)
+	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(LUW("cfg_stil_use")), TRUE);
 
-	if (xs_cfg.STILpath != NULL) {
-		gtk_entry_set_text(GTK_ENTRY(cfg_stil_path), xs_cfg.STILpath);
-		}
+ if (xs_cfg.stilDBPath != NULL)
+	gtk_entry_set_text(GTK_ENTRY(LUW("cfg_stil_path")), xs_cfg.stilDBPath);
 
-	if (xs_cfg.finfoUseColors) {
-		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cfg_finfo_usecolors), TRUE);
-		}
-
-	if (xs_cfg.detectMagic) {
-		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cfg_detectmagic), TRUE);
-		}
+ if (xs_cfg.detectMagic)
+	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(LUW("cfg_detectmagic")), TRUE);
 
 
-	/* Title-settings */
-	if (xs_cfg.titleOverride) {
-		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cfg_ftitle_override), TRUE);
-		}
+ /* Title-settings */
+ if (xs_cfg.titleOverride)
+	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(LUW("cfg_ftitle_override")), TRUE);
 
-	if (xs_cfg.titleFormat != NULL) {
-		gtk_entry_set_text(GTK_ENTRY(cfg_ftitle_format), xs_cfg.titleFormat);
-		}
-
-#endif
+ if (xs_cfg.titleFormat != NULL)
+	gtk_entry_set_text(GTK_ENTRY(LUW("cfg_ftitle_format")), xs_cfg.titleFormat);
 
  gtk_widget_show(xs_configwin);
 }
--- a/src/xs_genui.c	Thu Jun 19 23:50:00 2003 +0000
+++ b/src/xs_genui.c	Thu Jun 19 23:50:01 2003 +0000
@@ -26,7 +26,7 @@
 
 
 void
-ctrl_song_prev                         (GtkButton       *button,
+xs_ctrl_song_prev                         (GtkButton       *button,
                                         gpointer         user_data)
 {
 
@@ -34,7 +34,7 @@
 
 
 void
-ctrl_song_next                         (GtkButton       *button,
+xs_ctrl_song_next                         (GtkButton       *button,
                                         gpointer         user_data)
 {
 
--- a/src/xs_genui.h	Thu Jun 19 23:50:00 2003 +0000
+++ b/src/xs_genui.h	Thu Jun 19 23:50:01 2003 +0000
@@ -34,11 +34,11 @@
                                         gpointer         user_data);
 
 void
-ctrl_song_prev                         (GtkButton       *button,
+xs_ctrl_song_prev                      (GtkButton       *button,
                                         gpointer         user_data);
 
 void
-ctrl_song_next                         (GtkButton       *button,
+xs_ctrl_song_next                      (GtkButton       *button,
                                         gpointer         user_data);
 
 void