# HG changeset patch # User Matti Hamalainen # Date 1056066601 0 # Node ID 0f00ebab063dbd79c8d92bf8f32d631be7c17a02 # Parent c145ff12f2d0246c0941d68f068063ce109f424c Fixes diff -r c145ff12f2d0 -r 0f00ebab063d src/xmms-sid.cc --- 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 #include #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 } diff -r c145ff12f2d0 -r 0f00ebab063d src/xs_config.c --- 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); } diff -r c145ff12f2d0 -r 0f00ebab063d src/xs_genui.c --- 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) { diff -r c145ff12f2d0 -r 0f00ebab063d src/xs_genui.h --- 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