Mercurial > audlegacy
diff Plugins/Input/sid/xs_interface.c @ 269:1b82a9932b60 trunk
[svn] Import sid plugin. Ported from XMMS by giacomo.
author | chainsaw |
---|---|
date | Thu, 08 Dec 2005 15:12:12 -0800 |
parents | |
children | 8bdcd65a57b7 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/Input/sid/xs_interface.c Thu Dec 08 15:12:12 2005 -0800 @@ -0,0 +1,2073 @@ +/* + * DO NOT EDIT THIS FILE - it is generated by Glade. + */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <sys/types.h> +#include <sys/stat.h> +#include <unistd.h> +#include <string.h> + +#include <gdk/gdkkeysyms.h> +#include <gtk/gtk.h> + +#include "xs_genui.h" +#include "xs_interface.h" +#include "xs_glade.h" + +GtkWidget* +create_xs_configwin (void) +{ + GtkWidget *xs_configwin; + GtkWidget *vbox1; + GtkWidget *cfg_notebook; + GtkWidget *vbox6; + GtkWidget *hbox2; + GtkWidget *frame4; + GtkWidget *vbox9; + GSList *resolution_group = NULL; + GtkWidget *cfg_res_8bit; + GtkWidget *cfg_res_16bit; + GtkWidget *frame5; + GtkWidget *vbox10; + GSList *channels_group = NULL; + GtkWidget *cfg_chn_mono; + GtkWidget *cfg_chn_stereo; + GtkWidget *cfg_chn_autopan; + GtkWidget *frame8; + GtkWidget *hbox4; + GtkWidget *cfg_samplerate_menu; + GtkWidget *cfg_samplerate_menu_menu; + GtkWidget *glade_menuitem; + GtkWidget *label8; + GtkWidget *vseparator1; + GtkObject *cfg_samplerate_adj; + GtkWidget *cfg_samplerate; + GtkWidget *label54; + GtkWidget *cfg_oversample_grp; + GtkWidget *vbox27; + GtkWidget *cfg_oversample; + GtkWidget *hbox16; + GtkWidget *cfg_oversample_label1; + GtkObject *cfg_oversample_factor_adj; + GtkWidget *cfg_oversample_factor; + GtkWidget *cfg_oversample_label2; + GtkWidget *label1; + GtkWidget *vbox2; + GtkWidget *frame26; + GtkWidget *vbox26; + GSList *emulator_group = NULL; + GtkWidget *cfg_emu_sidplay1; + GtkWidget *cfg_emu_sidplay2; + GtkWidget *frame1; + GtkWidget *vbox5; + GSList *memorymode_group = NULL; + GtkWidget *cfg_emu_mem_real; + GtkWidget *cfg_emu_mem_banksw; + GtkWidget *cfg_emu_mem_transrom; + GtkWidget *cfg_emu_mem_playsid; + GtkWidget *label2; + GtkWidget *vbox29; + GtkWidget *hbox1; + GtkWidget *frame2; + GtkWidget *vbox4; + GtkWidget *cfg_emu_clock_force; + GSList *speed_group = NULL; + GtkWidget *cfg_emu_clock_pal; + GtkWidget *cfg_emu_clock_ntsc; + GtkWidget *frame3; + GtkWidget *vbox3; + GtkWidget *cfg_emu_sid_force; + GSList *waveforms_group = NULL; + GtkWidget *cfg_emu_mos6581; + GtkWidget *cfg_emu_mos8580; + GtkWidget *cfg_sidplay2_grp; + GtkWidget *vbox30; + GtkWidget *cfg_emu_sidplay2_opt; + GSList *emutype_group = NULL; + GtkWidget *cfg_emu_sidplay2_resid; + GtkWidget *cfg_emu_sidplay2_hardsid; + GtkWidget *label48; + GtkWidget *vbox25; + GtkWidget *cfg_emu_filters; + GtkWidget *cfg_filters_notebook; + GtkWidget *cfg_box_sidplay1; + GtkWidget *cfg_frm_fs; + GtkWidget *cfg_emu_filt_fs; + GtkWidget *cfg_frm_fm; + GtkWidget *cfg_emu_filt_fm; + GtkWidget *cfg_frm_ft; + GtkWidget *cfg_emu_filt_ft; + GtkWidget *vbox17; + GtkWidget *cfg_filter_reset; + GtkWidget *cfg_filter_sync; + GtkWidget *label55; + GtkWidget *cfg_box_sidplay2; + GtkWidget *vbox36; + GtkWidget *cfg_filter2_reset; + GtkWidget *cfg_filter2_sync; + GtkWidget *label56; + GtkWidget *label24; + GtkWidget *vbox20; + GtkWidget *frame29; + GtkWidget *vbox32; + GtkWidget *cfg_mintime_enable; + GtkWidget *hbox18; + GtkWidget *cfg_mintime_label1; + GtkObject *cfg_mintime_adj; + GtkWidget *cfg_mintime; + GtkWidget *cfg_mintime_label2; + GtkWidget *frame21; + GtkWidget *vbox21; + GtkWidget *cfg_maxtime_enable; + GtkWidget *cfg_maxtime_unknown; + GtkWidget *hbox14; + GtkWidget *cfg_maxtime_label1; + GtkObject *cfg_maxtime_adj; + GtkWidget *cfg_maxtime; + GtkWidget *cfg_maxtime_label2; + GtkWidget *frame18; + GtkWidget *vbox18; + GtkWidget *cfg_sld_enable; + GtkWidget *hbox13; + GtkWidget *cfg_sld_label1; + GtkWidget *cfg_sld_dbpath; + GtkWidget *cfg_sld_dbbrowse; + GtkWidget *label26; + GtkWidget *vbox33; + GtkWidget *frame7; + GtkWidget *vbox8; + GtkWidget *cfg_stil_enable; + GtkWidget *hbox3; + GtkWidget *cfg_stil_label1; + GtkWidget *alignment2; + GtkWidget *cfg_stil_dbpath; + GtkWidget *alignment1; + GtkWidget *cfg_stil_browse; + GtkWidget *hbox17; + GtkWidget *cfg_hvsc_label1; + GtkWidget *alignment6; + GtkWidget *cfg_hvsc_path; + GtkWidget *alignment7; + GtkWidget *cfg_hvsc_browse; + GtkWidget *frame16; + GtkWidget *vbox16; + GtkWidget *cfg_ftitle_override; + GtkWidget *cfg_ftitle_format; + GtkWidget *hbox9; + GtkWidget *cfg_ftitle_desc1; + GtkWidget *cfg_ftitle_desc2; + GtkWidget *label23; + GtkWidget *vbox19; + GtkWidget *frame28; + GtkWidget *vbox31; + GSList *subtune_group = NULL; + GtkWidget *cfg_subctrl_none; + GtkWidget *cfg_subctrl_seek; + GtkWidget *cfg_subctrl_popup; + GtkWidget *cfg_subctrl_patch; + GtkWidget *frame31; + GtkWidget *vbox35; + GtkWidget *cfg_subauto_enable; + GtkWidget *cfg_subauto_min_only; + GtkWidget *hbox20; + GtkWidget *label52; + GtkObject *cfg_subauto_mintime_adj; + GtkWidget *cfg_subauto_mintime; + GtkWidget *label53; + GtkWidget *frame22; + GtkWidget *vbox22; + GtkWidget *cfg_detectmagic; + GtkWidget *label3; + GtkWidget *hbuttonbox1; + GtkWidget *cfg_ok; + GtkWidget *cfg_cancel; + GtkTooltips *tooltips; + + tooltips = gtk_tooltips_new (); + + xs_configwin = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_window_set_type_hint (GTK_WINDOW(xs_configwin), GDK_WINDOW_TYPE_HINT_DIALOG); + gtk_widget_set_name (xs_configwin, "xs_configwin"); + gtk_object_set_data (GTK_OBJECT (xs_configwin), "xs_configwin", xs_configwin); + gtk_window_set_title (GTK_WINDOW (xs_configwin), "XMMS-SID configuration"); + gtk_window_set_policy (GTK_WINDOW (xs_configwin), FALSE, FALSE, FALSE); + + vbox1 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (vbox1, "vbox1"); + gtk_widget_ref (vbox1); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "vbox1", vbox1, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (vbox1); + gtk_container_add (GTK_CONTAINER (xs_configwin), vbox1); + gtk_container_set_border_width (GTK_CONTAINER (vbox1), 8); + + cfg_notebook = gtk_notebook_new (); + gtk_widget_set_name (cfg_notebook, "cfg_notebook"); + gtk_widget_ref (cfg_notebook); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_notebook", cfg_notebook, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_notebook); + gtk_box_pack_start (GTK_BOX (vbox1), cfg_notebook, TRUE, TRUE, 0); + gtk_notebook_set_show_border (GTK_NOTEBOOK (cfg_notebook), FALSE); + + vbox6 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (vbox6, "vbox6"); + gtk_widget_ref (vbox6); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "vbox6", vbox6, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (vbox6); + gtk_container_add (GTK_CONTAINER (cfg_notebook), vbox6); + + hbox2 = gtk_hbox_new (FALSE, 0); + gtk_widget_set_name (hbox2, "hbox2"); + gtk_widget_ref (hbox2); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "hbox2", hbox2, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (hbox2); + gtk_box_pack_start (GTK_BOX (vbox6), hbox2, FALSE, TRUE, 0); + + frame4 = gtk_frame_new ("Resolution:"); + gtk_widget_set_name (frame4, "frame4"); + gtk_widget_ref (frame4); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "frame4", frame4, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (frame4); + gtk_box_pack_start (GTK_BOX (hbox2), frame4, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (frame4), 4); + + vbox9 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (vbox9, "vbox9"); + gtk_widget_ref (vbox9); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "vbox9", vbox9, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (vbox9); + gtk_container_add (GTK_CONTAINER (frame4), vbox9); + gtk_container_set_border_width (GTK_CONTAINER (vbox9), 2); + + cfg_res_8bit = gtk_radio_button_new_with_label (resolution_group, "8-bit"); + resolution_group = gtk_radio_button_group (GTK_RADIO_BUTTON (cfg_res_8bit)); + gtk_widget_set_name (cfg_res_8bit, "cfg_res_8bit"); + gtk_widget_ref (cfg_res_8bit); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_res_8bit", cfg_res_8bit, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_res_8bit); + gtk_box_pack_start (GTK_BOX (vbox9), cfg_res_8bit, FALSE, FALSE, 0); + + cfg_res_16bit = gtk_radio_button_new_with_label (resolution_group, "16-bit"); + resolution_group = gtk_radio_button_group (GTK_RADIO_BUTTON (cfg_res_16bit)); + gtk_widget_set_name (cfg_res_16bit, "cfg_res_16bit"); + gtk_widget_ref (cfg_res_16bit); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_res_16bit", cfg_res_16bit, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_res_16bit); + gtk_box_pack_start (GTK_BOX (vbox9), cfg_res_16bit, FALSE, FALSE, 0); + + frame5 = gtk_frame_new ("Channels:"); + gtk_widget_set_name (frame5, "frame5"); + gtk_widget_ref (frame5); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "frame5", frame5, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (frame5); + gtk_box_pack_start (GTK_BOX (hbox2), frame5, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (frame5), 4); + + vbox10 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (vbox10, "vbox10"); + gtk_widget_ref (vbox10); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "vbox10", vbox10, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (vbox10); + gtk_container_add (GTK_CONTAINER (frame5), vbox10); + gtk_container_set_border_width (GTK_CONTAINER (vbox10), 2); + + cfg_chn_mono = gtk_radio_button_new_with_label (channels_group, "Mono"); + channels_group = gtk_radio_button_group (GTK_RADIO_BUTTON (cfg_chn_mono)); + gtk_widget_set_name (cfg_chn_mono, "cfg_chn_mono"); + gtk_widget_ref (cfg_chn_mono); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_chn_mono", cfg_chn_mono, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_chn_mono); + gtk_box_pack_start (GTK_BOX (vbox10), cfg_chn_mono, FALSE, FALSE, 0); + + cfg_chn_stereo = gtk_radio_button_new_with_label (channels_group, "Stereo"); + channels_group = gtk_radio_button_group (GTK_RADIO_BUTTON (cfg_chn_stereo)); + gtk_widget_set_name (cfg_chn_stereo, "cfg_chn_stereo"); + gtk_widget_ref (cfg_chn_stereo); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_chn_stereo", cfg_chn_stereo, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_chn_stereo); + gtk_box_pack_start (GTK_BOX (vbox10), cfg_chn_stereo, FALSE, FALSE, 0); + + cfg_chn_autopan = gtk_radio_button_new_with_label (channels_group, "Autopanning"); + channels_group = gtk_radio_button_group (GTK_RADIO_BUTTON (cfg_chn_autopan)); + gtk_widget_set_name (cfg_chn_autopan, "cfg_chn_autopan"); + gtk_widget_ref (cfg_chn_autopan); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_chn_autopan", cfg_chn_autopan, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_chn_autopan); + gtk_box_pack_start (GTK_BOX (vbox10), cfg_chn_autopan, FALSE, FALSE, 0); + + frame8 = gtk_frame_new ("Samplerate:"); + gtk_widget_set_name (frame8, "frame8"); + gtk_widget_ref (frame8); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "frame8", frame8, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (frame8); + gtk_box_pack_start (GTK_BOX (vbox6), frame8, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (frame8), 4); + + hbox4 = gtk_hbox_new (FALSE, 0); + gtk_widget_set_name (hbox4, "hbox4"); + gtk_widget_ref (hbox4); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "hbox4", hbox4, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (hbox4); + gtk_container_add (GTK_CONTAINER (frame8), hbox4); + gtk_container_set_border_width (GTK_CONTAINER (hbox4), 4); + + cfg_samplerate_menu = gtk_option_menu_new (); + gtk_widget_set_name (cfg_samplerate_menu, "cfg_samplerate_menu"); + gtk_widget_ref (cfg_samplerate_menu); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_samplerate_menu", cfg_samplerate_menu, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_samplerate_menu); + gtk_box_pack_start (GTK_BOX (hbox4), cfg_samplerate_menu, FALSE, FALSE, 0); + cfg_samplerate_menu_menu = gtk_menu_new (); + glade_menuitem = gtk_menu_item_new_with_label ("8000"); + gtk_widget_show (glade_menuitem); + gtk_menu_append (GTK_MENU (cfg_samplerate_menu_menu), glade_menuitem); + glade_menuitem = gtk_menu_item_new_with_label ("11025"); + gtk_widget_show (glade_menuitem); + gtk_menu_append (GTK_MENU (cfg_samplerate_menu_menu), glade_menuitem); + glade_menuitem = gtk_menu_item_new_with_label ("22050"); + gtk_widget_show (glade_menuitem); + gtk_menu_append (GTK_MENU (cfg_samplerate_menu_menu), glade_menuitem); + glade_menuitem = gtk_menu_item_new_with_label ("44100"); + gtk_widget_show (glade_menuitem); + gtk_menu_append (GTK_MENU (cfg_samplerate_menu_menu), glade_menuitem); + glade_menuitem = gtk_menu_item_new_with_label ("48000"); + gtk_widget_show (glade_menuitem); + gtk_menu_append (GTK_MENU (cfg_samplerate_menu_menu), glade_menuitem); + glade_menuitem = gtk_menu_item_new_with_label ("64000"); + gtk_widget_show (glade_menuitem); + gtk_menu_append (GTK_MENU (cfg_samplerate_menu_menu), glade_menuitem); + glade_menuitem = gtk_menu_item_new_with_label ("96000"); + gtk_widget_show (glade_menuitem); + gtk_menu_append (GTK_MENU (cfg_samplerate_menu_menu), glade_menuitem); + gtk_option_menu_set_menu (GTK_OPTION_MENU (cfg_samplerate_menu), cfg_samplerate_menu_menu); + gtk_option_menu_set_history (GTK_OPTION_MENU (cfg_samplerate_menu), 3); + + label8 = gtk_label_new ("Hz"); + gtk_widget_set_name (label8, "label8"); + gtk_widget_ref (label8); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "label8", label8, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (label8); + gtk_box_pack_start (GTK_BOX (hbox4), label8, FALSE, TRUE, 4); + + vseparator1 = gtk_vseparator_new (); + gtk_widget_set_name (vseparator1, "vseparator1"); + gtk_widget_ref (vseparator1); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "vseparator1", vseparator1, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (vseparator1); + gtk_box_pack_start (GTK_BOX (hbox4), vseparator1, TRUE, TRUE, 0); + + cfg_samplerate_adj = gtk_adjustment_new (44100, 8000, 128000, 1, 10, 10); + cfg_samplerate = gtk_spin_button_new (GTK_ADJUSTMENT (cfg_samplerate_adj), 8000, 0); + gtk_widget_set_name (cfg_samplerate, "cfg_samplerate"); + gtk_widget_ref (cfg_samplerate); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_samplerate", cfg_samplerate, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_samplerate); + gtk_box_pack_start (GTK_BOX (hbox4), cfg_samplerate, TRUE, TRUE, 0); + gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (cfg_samplerate), TRUE); + + label54 = gtk_label_new ("Hz"); + gtk_widget_set_name (label54, "label54"); + gtk_widget_ref (label54); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "label54", label54, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (label54); + gtk_box_pack_start (GTK_BOX (hbox4), label54, FALSE, TRUE, 0); + + cfg_oversample_grp = gtk_frame_new ("Oversampling:"); + gtk_widget_set_name (cfg_oversample_grp, "cfg_oversample_grp"); + gtk_widget_ref (cfg_oversample_grp); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_oversample_grp", cfg_oversample_grp, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_oversample_grp); + gtk_box_pack_start (GTK_BOX (vbox6), cfg_oversample_grp, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (cfg_oversample_grp), 4); + + vbox27 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (vbox27, "vbox27"); + gtk_widget_ref (vbox27); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "vbox27", vbox27, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (vbox27); + gtk_container_add (GTK_CONTAINER (cfg_oversample_grp), vbox27); + gtk_container_set_border_width (GTK_CONTAINER (vbox27), 2); + + cfg_oversample = gtk_check_button_new_with_label ("Use oversampling"); + gtk_widget_set_name (cfg_oversample, "cfg_oversample"); + gtk_widget_ref (cfg_oversample); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_oversample", cfg_oversample, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_oversample); + gtk_box_pack_start (GTK_BOX (vbox27), cfg_oversample, FALSE, FALSE, 0); + + hbox16 = gtk_hbox_new (FALSE, 4); + gtk_widget_set_name (hbox16, "hbox16"); + gtk_widget_ref (hbox16); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "hbox16", hbox16, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (hbox16); + gtk_box_pack_start (GTK_BOX (vbox27), hbox16, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (hbox16), 2); + + cfg_oversample_label1 = gtk_label_new ("Factor:"); + gtk_widget_set_name (cfg_oversample_label1, "cfg_oversample_label1"); + gtk_widget_ref (cfg_oversample_label1); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_oversample_label1", cfg_oversample_label1, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_oversample_label1); + gtk_box_pack_start (GTK_BOX (hbox16), cfg_oversample_label1, FALSE, FALSE, 0); + + cfg_oversample_factor_adj = gtk_adjustment_new (2, 2, 8, 1, 1, 1); + cfg_oversample_factor = gtk_spin_button_new (GTK_ADJUSTMENT (cfg_oversample_factor_adj), 1, 0); + gtk_widget_set_name (cfg_oversample_factor, "cfg_oversample_factor"); + gtk_widget_ref (cfg_oversample_factor); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_oversample_factor", cfg_oversample_factor, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_oversample_factor); + gtk_box_pack_start (GTK_BOX (hbox16), cfg_oversample_factor, FALSE, TRUE, 0); + + cfg_oversample_label2 = gtk_label_new ("Large factors require more CPU-power"); + gtk_widget_set_name (cfg_oversample_label2, "cfg_oversample_label2"); + gtk_widget_ref (cfg_oversample_label2); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_oversample_label2", cfg_oversample_label2, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_oversample_label2); + gtk_box_pack_start (GTK_BOX (hbox16), cfg_oversample_label2, FALSE, FALSE, 0); + + label1 = gtk_label_new ("Audio"); + gtk_widget_set_name (label1, "label1"); + gtk_widget_ref (label1); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "label1", label1, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (label1); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (cfg_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (cfg_notebook), 0), label1); + + vbox2 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (vbox2, "vbox2"); + gtk_widget_ref (vbox2); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "vbox2", vbox2, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (vbox2); + gtk_container_add (GTK_CONTAINER (cfg_notebook), vbox2); + + frame26 = gtk_frame_new ("Emulation library selection: "); + gtk_widget_set_name (frame26, "frame26"); + gtk_widget_ref (frame26); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "frame26", frame26, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (frame26); + gtk_box_pack_start (GTK_BOX (vbox2), frame26, FALSE, FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (frame26), 4); + + vbox26 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (vbox26, "vbox26"); + gtk_widget_ref (vbox26); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "vbox26", vbox26, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (vbox26); + gtk_container_add (GTK_CONTAINER (frame26), vbox26); + gtk_container_set_border_width (GTK_CONTAINER (vbox26), 2); + + cfg_emu_sidplay1 = gtk_radio_button_new_with_label (emulator_group, "SIDPlay 1 (frame-based)"); + emulator_group = gtk_radio_button_group (GTK_RADIO_BUTTON (cfg_emu_sidplay1)); + gtk_widget_set_name (cfg_emu_sidplay1, "cfg_emu_sidplay1"); + gtk_widget_ref (cfg_emu_sidplay1); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_emu_sidplay1", cfg_emu_sidplay1, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_emu_sidplay1); + gtk_box_pack_start (GTK_BOX (vbox26), cfg_emu_sidplay1, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_emu_sidplay1, "Use libSIDPlay 1.x emulation, faster but not so accurate. Good in most cases, though.", NULL); + + cfg_emu_sidplay2 = gtk_radio_button_new_with_label (emulator_group, "SIDPlay 2 (cycle-based)"); + emulator_group = gtk_radio_button_group (GTK_RADIO_BUTTON (cfg_emu_sidplay2)); + gtk_widget_set_name (cfg_emu_sidplay2, "cfg_emu_sidplay2"); + gtk_widget_ref (cfg_emu_sidplay2); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_emu_sidplay2", cfg_emu_sidplay2, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_emu_sidplay2); + gtk_box_pack_start (GTK_BOX (vbox26), cfg_emu_sidplay2, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_emu_sidplay2, "Use libSIDPlay 2.x emulation, which requires powerful CPU due to more exact emulation.", NULL); + + frame1 = gtk_frame_new ("Memory mode:"); + gtk_widget_set_name (frame1, "frame1"); + gtk_widget_ref (frame1); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "frame1", frame1, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (frame1); + gtk_box_pack_start (GTK_BOX (vbox2), frame1, FALSE, FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (frame1), 4); + + vbox5 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (vbox5, "vbox5"); + gtk_widget_ref (vbox5); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "vbox5", vbox5, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (vbox5); + gtk_container_add (GTK_CONTAINER (frame1), vbox5); + gtk_container_set_border_width (GTK_CONTAINER (vbox5), 2); + + cfg_emu_mem_real = gtk_radio_button_new_with_label (memorymode_group, "Real C64 (SIDPlay 2 only)"); + memorymode_group = gtk_radio_button_group (GTK_RADIO_BUTTON (cfg_emu_mem_real)); + gtk_widget_set_name (cfg_emu_mem_real, "cfg_emu_mem_real"); + gtk_widget_ref (cfg_emu_mem_real); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_emu_mem_real", cfg_emu_mem_real, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_emu_mem_real); + gtk_box_pack_start (GTK_BOX (vbox5), cfg_emu_mem_real, FALSE, FALSE, 0); + + cfg_emu_mem_banksw = gtk_radio_button_new_with_label (memorymode_group, "Bank switching"); + memorymode_group = gtk_radio_button_group (GTK_RADIO_BUTTON (cfg_emu_mem_banksw)); + gtk_widget_set_name (cfg_emu_mem_banksw, "cfg_emu_mem_banksw"); + gtk_widget_ref (cfg_emu_mem_banksw); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_emu_mem_banksw", cfg_emu_mem_banksw, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_emu_mem_banksw); + gtk_box_pack_start (GTK_BOX (vbox5), cfg_emu_mem_banksw, FALSE, FALSE, 0); + + cfg_emu_mem_transrom = gtk_radio_button_new_with_label (memorymode_group, "Transparent ROM"); + memorymode_group = gtk_radio_button_group (GTK_RADIO_BUTTON (cfg_emu_mem_transrom)); + gtk_widget_set_name (cfg_emu_mem_transrom, "cfg_emu_mem_transrom"); + gtk_widget_ref (cfg_emu_mem_transrom); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_emu_mem_transrom", cfg_emu_mem_transrom, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_emu_mem_transrom); + gtk_box_pack_start (GTK_BOX (vbox5), cfg_emu_mem_transrom, FALSE, FALSE, 0); + + cfg_emu_mem_playsid = gtk_radio_button_new_with_label (memorymode_group, "PlaySID environment"); + memorymode_group = gtk_radio_button_group (GTK_RADIO_BUTTON (cfg_emu_mem_playsid)); + gtk_widget_set_name (cfg_emu_mem_playsid, "cfg_emu_mem_playsid"); + gtk_widget_ref (cfg_emu_mem_playsid); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_emu_mem_playsid", cfg_emu_mem_playsid, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_emu_mem_playsid); + gtk_box_pack_start (GTK_BOX (vbox5), cfg_emu_mem_playsid, FALSE, FALSE, 0); + + label2 = gtk_label_new ("Emu#1"); + gtk_widget_set_name (label2, "label2"); + gtk_widget_ref (label2); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "label2", label2, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (label2); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (cfg_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (cfg_notebook), 1), label2); + + vbox29 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (vbox29, "vbox29"); + gtk_widget_ref (vbox29); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "vbox29", vbox29, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (vbox29); + gtk_container_add (GTK_CONTAINER (cfg_notebook), vbox29); + + hbox1 = gtk_hbox_new (FALSE, 0); + gtk_widget_set_name (hbox1, "hbox1"); + gtk_widget_ref (hbox1); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "hbox1", hbox1, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (hbox1); + gtk_box_pack_start (GTK_BOX (vbox29), hbox1, FALSE, TRUE, 0); + + frame2 = gtk_frame_new ("Clock speed:"); + gtk_widget_set_name (frame2, "frame2"); + gtk_widget_ref (frame2); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "frame2", frame2, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (frame2); + gtk_box_pack_start (GTK_BOX (hbox1), frame2, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (frame2), 4); + + vbox4 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (vbox4, "vbox4"); + gtk_widget_ref (vbox4); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "vbox4", vbox4, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (vbox4); + gtk_container_add (GTK_CONTAINER (frame2), vbox4); + gtk_container_set_border_width (GTK_CONTAINER (vbox4), 2); + + cfg_emu_clock_force = gtk_check_button_new_with_label ("Force speed"); + gtk_widget_set_name (cfg_emu_clock_force, "cfg_emu_clock_force"); + gtk_widget_ref (cfg_emu_clock_force); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_emu_clock_force", cfg_emu_clock_force, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_emu_clock_force); + gtk_box_pack_start (GTK_BOX (vbox4), cfg_emu_clock_force, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_emu_clock_force, "If enabled, this option \"forces\" the emulation engine to use the selected clock speed/frequency. Otherwise the speed is determined from played file itself.", NULL); + + cfg_emu_clock_pal = gtk_radio_button_new_with_label (speed_group, "PAL (50 Hz)"); + speed_group = gtk_radio_button_group (GTK_RADIO_BUTTON (cfg_emu_clock_pal)); + gtk_widget_set_name (cfg_emu_clock_pal, "cfg_emu_clock_pal"); + gtk_widget_ref (cfg_emu_clock_pal); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_emu_clock_pal", cfg_emu_clock_pal, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_emu_clock_pal); + gtk_box_pack_start (GTK_BOX (vbox4), cfg_emu_clock_pal, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_emu_clock_pal, "PAL is the european TV standard, which uses 50Hz vertical refresh frequency. Largest % of SID-tunes have been made for PAL computers.", NULL); + + cfg_emu_clock_ntsc = gtk_radio_button_new_with_label (speed_group, "NTSC (60 Hz)"); + speed_group = gtk_radio_button_group (GTK_RADIO_BUTTON (cfg_emu_clock_ntsc)); + gtk_widget_set_name (cfg_emu_clock_ntsc, "cfg_emu_clock_ntsc"); + gtk_widget_ref (cfg_emu_clock_ntsc); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_emu_clock_ntsc", cfg_emu_clock_ntsc, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_emu_clock_ntsc); + gtk_box_pack_start (GTK_BOX (vbox4), cfg_emu_clock_ntsc, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_emu_clock_ntsc, "NTSC is the TV standard with 60Hz vertical refresh rate (and other features that differ from PAL). It is mainly used in United States, Japan and certain other countries.", NULL); + + frame3 = gtk_frame_new ("SID model: "); + gtk_widget_set_name (frame3, "frame3"); + gtk_widget_ref (frame3); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "frame3", frame3, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (frame3); + gtk_box_pack_start (GTK_BOX (hbox1), frame3, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (frame3), 4); + + vbox3 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (vbox3, "vbox3"); + gtk_widget_ref (vbox3); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "vbox3", vbox3, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (vbox3); + gtk_container_add (GTK_CONTAINER (frame3), vbox3); + gtk_container_set_border_width (GTK_CONTAINER (vbox3), 2); + + cfg_emu_sid_force = gtk_check_button_new_with_label ("Force model"); + gtk_widget_set_name (cfg_emu_sid_force, "cfg_emu_sid_force"); + gtk_widget_ref (cfg_emu_sid_force); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_emu_sid_force", cfg_emu_sid_force, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_emu_sid_force); + gtk_box_pack_start (GTK_BOX (vbox3), cfg_emu_sid_force, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_emu_sid_force, "If enabled, this option \"forces\" the emulation engine to use the selected SID-chip model. Otherwise the preferred SID model is determined from the file (if PSIDv2NG type) or if not available, this setting is used.", NULL); + + cfg_emu_mos6581 = gtk_radio_button_new_with_label (waveforms_group, "MOS 6581"); + waveforms_group = gtk_radio_button_group (GTK_RADIO_BUTTON (cfg_emu_mos6581)); + gtk_widget_set_name (cfg_emu_mos6581, "cfg_emu_mos6581"); + gtk_widget_ref (cfg_emu_mos6581); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_emu_mos6581", cfg_emu_mos6581, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_emu_mos6581); + gtk_box_pack_start (GTK_BOX (vbox3), cfg_emu_mos6581, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_emu_mos6581, "MOS/CSG 6581 is the earlier major version of SID chip. It differs from 8580 in few ways, having much fuller filter (which, due to design error, is never same between two different SID-chips) and has the \"volume adjustment bug\", which enables playing of digital samples.", NULL); + + cfg_emu_mos8580 = gtk_radio_button_new_with_label (waveforms_group, "MOS 8580"); + waveforms_group = gtk_radio_button_group (GTK_RADIO_BUTTON (cfg_emu_mos8580)); + gtk_widget_set_name (cfg_emu_mos8580, "cfg_emu_mos8580"); + gtk_widget_ref (cfg_emu_mos8580); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_emu_mos8580", cfg_emu_mos8580, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_emu_mos8580); + gtk_box_pack_start (GTK_BOX (vbox3), cfg_emu_mos8580, FALSE, FALSE, 0); + + cfg_sidplay2_grp = gtk_frame_new ("SIDPlay 2 options: "); + gtk_widget_set_name (cfg_sidplay2_grp, "cfg_sidplay2_grp"); + gtk_widget_ref (cfg_sidplay2_grp); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_sidplay2_grp", cfg_sidplay2_grp, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_sidplay2_grp); + gtk_box_pack_start (GTK_BOX (vbox29), cfg_sidplay2_grp, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (cfg_sidplay2_grp), 4); + + vbox30 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (vbox30, "vbox30"); + gtk_widget_ref (vbox30); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "vbox30", vbox30, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (vbox30); + gtk_container_add (GTK_CONTAINER (cfg_sidplay2_grp), vbox30); + gtk_container_set_border_width (GTK_CONTAINER (vbox30), 2); + + cfg_emu_sidplay2_opt = gtk_check_button_new_with_label ("Optimization mode (faster, inaccurate)"); + gtk_widget_set_name (cfg_emu_sidplay2_opt, "cfg_emu_sidplay2_opt"); + gtk_widget_ref (cfg_emu_sidplay2_opt); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_emu_sidplay2_opt", cfg_emu_sidplay2_opt, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_emu_sidplay2_opt); + gtk_box_pack_start (GTK_BOX (vbox30), cfg_emu_sidplay2_opt, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_emu_sidplay2_opt, "This setting can be used to enable libSIDPlay2's \"optimization mode\", which in downgrades the emulation from cycle-exact to something similar to frame-exact. The result is lower CPU usage, but worse accuracy.", NULL); + + cfg_emu_sidplay2_resid = gtk_radio_button_new_with_label (emutype_group, "reSID-emulation"); + emutype_group = gtk_radio_button_group (GTK_RADIO_BUTTON (cfg_emu_sidplay2_resid)); + gtk_widget_set_name (cfg_emu_sidplay2_resid, "cfg_emu_sidplay2_resid"); + gtk_widget_ref (cfg_emu_sidplay2_resid); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_emu_sidplay2_resid", cfg_emu_sidplay2_resid, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_emu_sidplay2_resid); + gtk_box_pack_start (GTK_BOX (vbox30), cfg_emu_sidplay2_resid, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_emu_sidplay2_resid, "reSID is the software SID-chip simulator based on SID reverse-engineering, created by Dag Lem. It is probably the closest thing to real SID available as software-only emulation.", NULL); + + cfg_emu_sidplay2_hardsid = gtk_radio_button_new_with_label (emutype_group, "HardSID"); + emutype_group = gtk_radio_button_group (GTK_RADIO_BUTTON (cfg_emu_sidplay2_hardsid)); + gtk_widget_set_name (cfg_emu_sidplay2_hardsid, "cfg_emu_sidplay2_hardsid"); + gtk_widget_ref (cfg_emu_sidplay2_hardsid); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_emu_sidplay2_hardsid", cfg_emu_sidplay2_hardsid, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_emu_sidplay2_hardsid); + gtk_box_pack_start (GTK_BOX (vbox30), cfg_emu_sidplay2_hardsid, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_emu_sidplay2_hardsid, "HardSID is a EISA/PCI card for PC-compatibles, which can be fitted with a real SID-chip. Software can be used to control the HardSID and combined with software emulation of rest of C64 via libSIDPlay2 HardSID can be used to achieve \"near 100%\" similarity to real C64. For more information, see http://www.hardsid.com/", NULL); + + label48 = gtk_label_new ("Emu#2"); + gtk_widget_set_name (label48, "label48"); + gtk_widget_ref (label48); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "label48", label48, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (label48); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (cfg_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (cfg_notebook), 2), label48); + + vbox25 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (vbox25, "vbox25"); + gtk_widget_ref (vbox25); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "vbox25", vbox25, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (vbox25); + gtk_container_add (GTK_CONTAINER (cfg_notebook), vbox25); + gtk_container_set_border_width (GTK_CONTAINER (vbox25), 4); + + cfg_emu_filters = gtk_check_button_new_with_label ("Emulate filters"); + gtk_widget_set_name (cfg_emu_filters, "cfg_emu_filters"); + gtk_widget_ref (cfg_emu_filters); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_emu_filters", cfg_emu_filters, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_emu_filters); + gtk_box_pack_start (GTK_BOX (vbox25), cfg_emu_filters, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_emu_filters, "This option enables emulation of SID filter. The filter is an essential part of SID's sound capacity, but accurate emulation of it may require quite much CPU power. However, if filter emulation is disabled, tunes won't sound authentic at all if they utilize the filter.", NULL); + + cfg_filters_notebook = gtk_notebook_new (); + gtk_widget_set_name (cfg_filters_notebook, "cfg_filters_notebook"); + gtk_widget_ref (cfg_filters_notebook); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_filters_notebook", cfg_filters_notebook, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_filters_notebook); + gtk_box_pack_start (GTK_BOX (vbox25), cfg_filters_notebook, TRUE, TRUE, 0); + + cfg_box_sidplay1 = gtk_hbox_new (FALSE, 0); + gtk_widget_set_name (cfg_box_sidplay1, "cfg_box_sidplay1"); + gtk_widget_ref (cfg_box_sidplay1); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_box_sidplay1", cfg_box_sidplay1, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_box_sidplay1); + gtk_container_add (GTK_CONTAINER (cfg_filters_notebook), cfg_box_sidplay1); + gtk_container_set_border_width (GTK_CONTAINER (cfg_box_sidplay1), 4); + + cfg_frm_fs = gtk_frame_new ("FS"); + gtk_widget_set_name (cfg_frm_fs, "cfg_frm_fs"); + gtk_widget_ref (cfg_frm_fs); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_frm_fs", cfg_frm_fs, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_frm_fs); + gtk_box_pack_start (GTK_BOX (cfg_box_sidplay1), cfg_frm_fs, FALSE, TRUE, 0); + gtk_widget_set_usize (cfg_frm_fs, 45, -2); + gtk_container_set_border_width (GTK_CONTAINER (cfg_frm_fs), 2); + + cfg_emu_filt_fs = gtk_vscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 1000, 1, 100, 0))); + gtk_widget_set_name (cfg_emu_filt_fs, "cfg_emu_filt_fs"); + gtk_widget_ref (cfg_emu_filt_fs); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_emu_filt_fs", cfg_emu_filt_fs, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_emu_filt_fs); + gtk_container_add (GTK_CONTAINER (cfg_frm_fs), cfg_emu_filt_fs); + gtk_scale_set_digits (GTK_SCALE (cfg_emu_filt_fs), 2); + + cfg_frm_fm = gtk_frame_new ("FM"); + gtk_widget_set_name (cfg_frm_fm, "cfg_frm_fm"); + gtk_widget_ref (cfg_frm_fm); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_frm_fm", cfg_frm_fm, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_frm_fm); + gtk_box_pack_start (GTK_BOX (cfg_box_sidplay1), cfg_frm_fm, FALSE, TRUE, 0); + gtk_widget_set_usize (cfg_frm_fm, 45, -2); + gtk_container_set_border_width (GTK_CONTAINER (cfg_frm_fm), 2); + + cfg_emu_filt_fm = gtk_vscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 100, 1, 10, 0))); + gtk_widget_set_name (cfg_emu_filt_fm, "cfg_emu_filt_fm"); + gtk_widget_ref (cfg_emu_filt_fm); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_emu_filt_fm", cfg_emu_filt_fm, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_emu_filt_fm); + gtk_container_add (GTK_CONTAINER (cfg_frm_fm), cfg_emu_filt_fm); + gtk_scale_set_digits (GTK_SCALE (cfg_emu_filt_fm), 2); + + cfg_frm_ft = gtk_frame_new ("FT"); + gtk_widget_set_name (cfg_frm_ft, "cfg_frm_ft"); + gtk_widget_ref (cfg_frm_ft); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_frm_ft", cfg_frm_ft, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_frm_ft); + gtk_box_pack_start (GTK_BOX (cfg_box_sidplay1), cfg_frm_ft, FALSE, TRUE, 0); + gtk_widget_set_usize (cfg_frm_ft, 45, -2); + gtk_container_set_border_width (GTK_CONTAINER (cfg_frm_ft), 2); + + cfg_emu_filt_ft = gtk_vscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 1, 0.01, 0.1, 0))); + gtk_widget_set_name (cfg_emu_filt_ft, "cfg_emu_filt_ft"); + gtk_widget_ref (cfg_emu_filt_ft); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_emu_filt_ft", cfg_emu_filt_ft, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_emu_filt_ft); + gtk_container_add (GTK_CONTAINER (cfg_frm_ft), cfg_emu_filt_ft); + gtk_scale_set_digits (GTK_SCALE (cfg_emu_filt_ft), 2); + + vbox17 = gtk_vbox_new (FALSE, 8); + gtk_widget_set_name (vbox17, "vbox17"); + gtk_widget_ref (vbox17); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "vbox17", vbox17, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (vbox17); + gtk_box_pack_start (GTK_BOX (cfg_box_sidplay1), vbox17, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (vbox17), 4); + + cfg_filter_reset = gtk_button_new_with_label ("Reset values"); + gtk_widget_set_name (cfg_filter_reset, "cfg_filter_reset"); + gtk_widget_ref (cfg_filter_reset); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_filter_reset", cfg_filter_reset, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_filter_reset); + gtk_box_pack_start (GTK_BOX (vbox17), cfg_filter_reset, FALSE, FALSE, 0); + + cfg_filter_sync = gtk_button_new_with_label ("Synchronize from\nSIDPlay2"); + gtk_widget_set_name (cfg_filter_sync, "cfg_filter_sync"); + gtk_widget_ref (cfg_filter_sync); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_filter_sync", cfg_filter_sync, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_filter_sync); + gtk_box_pack_start (GTK_BOX (vbox17), cfg_filter_sync, FALSE, FALSE, 0); + + label55 = gtk_label_new ("SIDPlay1"); + gtk_widget_set_name (label55, "label55"); + gtk_widget_ref (label55); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "label55", label55, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (label55); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (cfg_filters_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (cfg_filters_notebook), 0), label55); + + cfg_box_sidplay2 = gtk_hbox_new (FALSE, 0); + gtk_widget_set_name (cfg_box_sidplay2, "cfg_box_sidplay2"); + gtk_widget_ref (cfg_box_sidplay2); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_box_sidplay2", cfg_box_sidplay2, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_box_sidplay2); + gtk_container_add (GTK_CONTAINER (cfg_filters_notebook), cfg_box_sidplay2); + gtk_container_set_border_width (GTK_CONTAINER (cfg_box_sidplay2), 4); + + vbox36 = gtk_vbox_new (FALSE, 8); + gtk_widget_set_name (vbox36, "vbox36"); + gtk_widget_ref (vbox36); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "vbox36", vbox36, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (vbox36); + gtk_box_pack_start (GTK_BOX (cfg_box_sidplay2), vbox36, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (vbox36), 4); + + cfg_filter2_reset = gtk_button_new_with_label ("Reset values"); + gtk_widget_set_name (cfg_filter2_reset, "cfg_filter2_reset"); + gtk_widget_ref (cfg_filter2_reset); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_filter2_reset", cfg_filter2_reset, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_filter2_reset); + gtk_box_pack_start (GTK_BOX (vbox36), cfg_filter2_reset, FALSE, FALSE, 0); + + cfg_filter2_sync = gtk_button_new_with_label ("Synchronize from\nSIDPlay1"); + gtk_widget_set_name (cfg_filter2_sync, "cfg_filter2_sync"); + gtk_widget_ref (cfg_filter2_sync); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_filter2_sync", cfg_filter2_sync, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_filter2_sync); + gtk_box_pack_start (GTK_BOX (vbox36), cfg_filter2_sync, FALSE, FALSE, 0); + + label56 = gtk_label_new ("SIDPlay2"); + gtk_widget_set_name (label56, "label56"); + gtk_widget_ref (label56); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "label56", label56, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (label56); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (cfg_filters_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (cfg_filters_notebook), 1), label56); + + label24 = gtk_label_new ("Filters"); + gtk_widget_set_name (label24, "label24"); + gtk_widget_ref (label24); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "label24", label24, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (label24); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (cfg_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (cfg_notebook), 3), label24); + + vbox20 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (vbox20, "vbox20"); + gtk_widget_ref (vbox20); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "vbox20", vbox20, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (vbox20); + gtk_container_add (GTK_CONTAINER (cfg_notebook), vbox20); + + frame29 = gtk_frame_new ("Minimum playtime: "); + gtk_widget_set_name (frame29, "frame29"); + gtk_widget_ref (frame29); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "frame29", frame29, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (frame29); + gtk_box_pack_start (GTK_BOX (vbox20), frame29, FALSE, FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (frame29), 4); + + vbox32 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (vbox32, "vbox32"); + gtk_widget_ref (vbox32); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "vbox32", vbox32, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (vbox32); + gtk_container_add (GTK_CONTAINER (frame29), vbox32); + gtk_container_set_border_width (GTK_CONTAINER (vbox32), 2); + + cfg_mintime_enable = gtk_check_button_new_with_label ("Play at least for specified time"); + gtk_widget_set_name (cfg_mintime_enable, "cfg_mintime_enable"); + gtk_widget_ref (cfg_mintime_enable); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_mintime_enable", cfg_mintime_enable, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_mintime_enable); + gtk_box_pack_start (GTK_BOX (vbox32), cfg_mintime_enable, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_mintime_enable, "If enabled, the tune is played at least for the specified time, adding silence to the end if necessary.", NULL); + + hbox18 = gtk_hbox_new (FALSE, 2); + gtk_widget_set_name (hbox18, "hbox18"); + gtk_widget_ref (hbox18); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "hbox18", hbox18, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (hbox18); + gtk_box_pack_start (GTK_BOX (vbox32), hbox18, FALSE, TRUE, 2); + + cfg_mintime_label1 = gtk_label_new ("Playtime: "); + gtk_widget_set_name (cfg_mintime_label1, "cfg_mintime_label1"); + gtk_widget_ref (cfg_mintime_label1); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_mintime_label1", cfg_mintime_label1, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_mintime_label1); + gtk_box_pack_start (GTK_BOX (hbox18), cfg_mintime_label1, FALSE, FALSE, 0); + gtk_misc_set_alignment (GTK_MISC (cfg_mintime_label1), 0, 0.5); + + cfg_mintime_adj = gtk_adjustment_new (15, 1, 32767, 1, 60, 60); + cfg_mintime = gtk_spin_button_new (GTK_ADJUSTMENT (cfg_mintime_adj), 1, 0); + gtk_widget_set_name (cfg_mintime, "cfg_mintime"); + gtk_widget_ref (cfg_mintime); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_mintime", cfg_mintime, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_mintime); + gtk_box_pack_start (GTK_BOX (hbox18), cfg_mintime, FALSE, TRUE, 0); + + cfg_mintime_label2 = gtk_label_new ("seconds"); + gtk_widget_set_name (cfg_mintime_label2, "cfg_mintime_label2"); + gtk_widget_ref (cfg_mintime_label2); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_mintime_label2", cfg_mintime_label2, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_mintime_label2); + gtk_box_pack_start (GTK_BOX (hbox18), cfg_mintime_label2, FALSE, FALSE, 0); + gtk_misc_set_alignment (GTK_MISC (cfg_mintime_label2), 0, 0.5); + + frame21 = gtk_frame_new ("Maximum playtime: "); + gtk_widget_set_name (frame21, "frame21"); + gtk_widget_ref (frame21); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "frame21", frame21, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (frame21); + gtk_box_pack_start (GTK_BOX (vbox20), frame21, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (frame21), 4); + + vbox21 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (vbox21, "vbox21"); + gtk_widget_ref (vbox21); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "vbox21", vbox21, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (vbox21); + gtk_container_add (GTK_CONTAINER (frame21), vbox21); + gtk_container_set_border_width (GTK_CONTAINER (vbox21), 2); + + cfg_maxtime_enable = gtk_check_button_new_with_label ("Play for specified time maximum"); + gtk_widget_set_name (cfg_maxtime_enable, "cfg_maxtime_enable"); + gtk_widget_ref (cfg_maxtime_enable); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_maxtime_enable", cfg_maxtime_enable, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_maxtime_enable); + gtk_box_pack_start (GTK_BOX (vbox21), cfg_maxtime_enable, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_maxtime_enable, "If enabled, tune is played until specified duration is reached (aka maximum playtime).", NULL); + + cfg_maxtime_unknown = gtk_check_button_new_with_label ("Only when song length is unknown"); + gtk_widget_set_name (cfg_maxtime_unknown, "cfg_maxtime_unknown"); + gtk_widget_ref (cfg_maxtime_unknown); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_maxtime_unknown", cfg_maxtime_unknown, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_maxtime_unknown); + gtk_box_pack_start (GTK_BOX (vbox21), cfg_maxtime_unknown, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_maxtime_unknown, "If enabled, the maximum playtime is applied only if song/tune length is not known.", NULL); + + hbox14 = gtk_hbox_new (FALSE, 2); + gtk_widget_set_name (hbox14, "hbox14"); + gtk_widget_ref (hbox14); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "hbox14", hbox14, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (hbox14); + gtk_box_pack_start (GTK_BOX (vbox21), hbox14, FALSE, TRUE, 2); + + cfg_maxtime_label1 = gtk_label_new ("Playtime: "); + gtk_widget_set_name (cfg_maxtime_label1, "cfg_maxtime_label1"); + gtk_widget_ref (cfg_maxtime_label1); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_maxtime_label1", cfg_maxtime_label1, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_maxtime_label1); + gtk_box_pack_start (GTK_BOX (hbox14), cfg_maxtime_label1, FALSE, FALSE, 0); + gtk_misc_set_alignment (GTK_MISC (cfg_maxtime_label1), 0, 0.5); + + cfg_maxtime_adj = gtk_adjustment_new (150, 1, 32767, 1, 60, 60); + cfg_maxtime = gtk_spin_button_new (GTK_ADJUSTMENT (cfg_maxtime_adj), 1, 0); + gtk_widget_set_name (cfg_maxtime, "cfg_maxtime"); + gtk_widget_ref (cfg_maxtime); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_maxtime", cfg_maxtime, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_maxtime); + gtk_box_pack_start (GTK_BOX (hbox14), cfg_maxtime, FALSE, TRUE, 0); + + cfg_maxtime_label2 = gtk_label_new ("seconds"); + gtk_widget_set_name (cfg_maxtime_label2, "cfg_maxtime_label2"); + gtk_widget_ref (cfg_maxtime_label2); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_maxtime_label2", cfg_maxtime_label2, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_maxtime_label2); + gtk_box_pack_start (GTK_BOX (hbox14), cfg_maxtime_label2, FALSE, FALSE, 0); + gtk_misc_set_alignment (GTK_MISC (cfg_maxtime_label2), 0, 0.5); + + frame18 = gtk_frame_new ("Song length database: "); + gtk_widget_set_name (frame18, "frame18"); + gtk_widget_ref (frame18); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "frame18", frame18, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (frame18); + gtk_box_pack_start (GTK_BOX (vbox20), frame18, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (frame18), 4); + + vbox18 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (vbox18, "vbox18"); + gtk_widget_ref (vbox18); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "vbox18", vbox18, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (vbox18); + gtk_container_add (GTK_CONTAINER (frame18), vbox18); + gtk_container_set_border_width (GTK_CONTAINER (vbox18), 2); + + cfg_sld_enable = gtk_check_button_new_with_label ("Use XSIDPLAY-compatible database"); + gtk_widget_set_name (cfg_sld_enable, "cfg_sld_enable"); + gtk_widget_ref (cfg_sld_enable); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_sld_enable", cfg_sld_enable, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_sld_enable); + gtk_box_pack_start (GTK_BOX (vbox18), cfg_sld_enable, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_sld_enable, "This option enables using of XSIDPLAY compatible song length database. (Refer to XMMS-SID documentation for more information)", NULL); + + hbox13 = gtk_hbox_new (FALSE, 4); + gtk_widget_set_name (hbox13, "hbox13"); + gtk_widget_ref (hbox13); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "hbox13", hbox13, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (hbox13); + gtk_box_pack_start (GTK_BOX (vbox18), hbox13, FALSE, TRUE, 0); + + cfg_sld_label1 = gtk_label_new ("DB-file: "); + gtk_widget_set_name (cfg_sld_label1, "cfg_sld_label1"); + gtk_widget_ref (cfg_sld_label1); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_sld_label1", cfg_sld_label1, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_sld_label1); + gtk_box_pack_start (GTK_BOX (hbox13), cfg_sld_label1, FALSE, TRUE, 0); + + cfg_sld_dbpath = gtk_entry_new (); + gtk_widget_set_name (cfg_sld_dbpath, "cfg_sld_dbpath"); + gtk_widget_ref (cfg_sld_dbpath); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_sld_dbpath", cfg_sld_dbpath, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_sld_dbpath); + gtk_box_pack_start (GTK_BOX (hbox13), cfg_sld_dbpath, TRUE, TRUE, 0); + gtk_tooltips_set_tip (tooltips, cfg_sld_dbpath, "Database path and filename", NULL); + + cfg_sld_dbbrowse = gtk_button_new_with_label ("Browse"); + gtk_widget_set_name (cfg_sld_dbbrowse, "cfg_sld_dbbrowse"); + gtk_widget_ref (cfg_sld_dbbrowse); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_sld_dbbrowse", cfg_sld_dbbrowse, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_sld_dbbrowse); + gtk_box_pack_start (GTK_BOX (hbox13), cfg_sld_dbbrowse, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_sld_dbbrowse, "Browse for song length-database file", NULL); + + label26 = gtk_label_new ("Songlength"); + gtk_widget_set_name (label26, "label26"); + gtk_widget_ref (label26); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "label26", label26, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (label26); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (cfg_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (cfg_notebook), 4), label26); + + vbox33 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (vbox33, "vbox33"); + gtk_widget_ref (vbox33); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "vbox33", vbox33, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (vbox33); + gtk_container_add (GTK_CONTAINER (cfg_notebook), vbox33); + + frame7 = gtk_frame_new ("SID Tune Information List (STIL) database: "); + gtk_widget_set_name (frame7, "frame7"); + gtk_widget_ref (frame7); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "frame7", frame7, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (frame7); + gtk_box_pack_start (GTK_BOX (vbox33), frame7, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (frame7), 4); + + vbox8 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (vbox8, "vbox8"); + gtk_widget_ref (vbox8); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "vbox8", vbox8, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (vbox8); + gtk_container_add (GTK_CONTAINER (frame7), vbox8); + gtk_container_set_border_width (GTK_CONTAINER (vbox8), 2); + + cfg_stil_enable = gtk_check_button_new_with_label ("Use STIL database"); + gtk_widget_set_name (cfg_stil_enable, "cfg_stil_enable"); + gtk_widget_ref (cfg_stil_enable); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_stil_enable", cfg_stil_enable, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_stil_enable); + gtk_box_pack_start (GTK_BOX (vbox8), cfg_stil_enable, TRUE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_stil_enable, "If this option is enabled (and the database & HVSC settings below are correctly set), XMMS-SID will use and display additional information from STIL database when HVSC SIDs are played.", NULL); + + hbox3 = gtk_hbox_new (FALSE, 0); + gtk_widget_set_name (hbox3, "hbox3"); + gtk_widget_ref (hbox3); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "hbox3", hbox3, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (hbox3); + gtk_box_pack_start (GTK_BOX (vbox8), hbox3, TRUE, TRUE, 0); + + cfg_stil_label1 = gtk_label_new ("STIL file:"); + gtk_widget_set_name (cfg_stil_label1, "cfg_stil_label1"); + gtk_widget_ref (cfg_stil_label1); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_stil_label1", cfg_stil_label1, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_stil_label1); + gtk_box_pack_start (GTK_BOX (hbox3), cfg_stil_label1, FALSE, FALSE, 0); + gtk_misc_set_padding (GTK_MISC (cfg_stil_label1), 4, 0); + + alignment2 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_widget_set_name (alignment2, "alignment2"); + gtk_widget_ref (alignment2); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "alignment2", alignment2, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (alignment2); + gtk_box_pack_start (GTK_BOX (hbox3), alignment2, TRUE, TRUE, 4); + + cfg_stil_dbpath = gtk_entry_new (); + gtk_widget_set_name (cfg_stil_dbpath, "cfg_stil_dbpath"); + gtk_widget_ref (cfg_stil_dbpath); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_stil_dbpath", cfg_stil_dbpath, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_stil_dbpath); + gtk_container_add (GTK_CONTAINER (alignment2), cfg_stil_dbpath); + gtk_tooltips_set_tip (tooltips, cfg_stil_dbpath, "Path and filename of STIL database file (STIL.txt), usually found from HVSC's DOCUMENTS-subdirectory.", NULL); + + alignment1 = gtk_alignment_new (0.5, 0.5, 1, 0.300001); + gtk_widget_set_name (alignment1, "alignment1"); + gtk_widget_ref (alignment1); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "alignment1", alignment1, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (alignment1); + gtk_box_pack_end (GTK_BOX (hbox3), alignment1, FALSE, FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (alignment1), 4); + + cfg_stil_browse = gtk_button_new_with_label ("Browse"); + gtk_widget_set_name (cfg_stil_browse, "cfg_stil_browse"); + gtk_widget_ref (cfg_stil_browse); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_stil_browse", cfg_stil_browse, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_stil_browse); + gtk_container_add (GTK_CONTAINER (alignment1), cfg_stil_browse); + gtk_tooltips_set_tip (tooltips, cfg_stil_browse, "Browse for STIL-database file", NULL); + + hbox17 = gtk_hbox_new (FALSE, 0); + gtk_widget_set_name (hbox17, "hbox17"); + gtk_widget_ref (hbox17); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "hbox17", hbox17, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (hbox17); + gtk_box_pack_start (GTK_BOX (vbox8), hbox17, TRUE, TRUE, 0); + + cfg_hvsc_label1 = gtk_label_new ("HVSC path:"); + gtk_widget_set_name (cfg_hvsc_label1, "cfg_hvsc_label1"); + gtk_widget_ref (cfg_hvsc_label1); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_hvsc_label1", cfg_hvsc_label1, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_hvsc_label1); + gtk_box_pack_start (GTK_BOX (hbox17), cfg_hvsc_label1, FALSE, FALSE, 0); + gtk_misc_set_padding (GTK_MISC (cfg_hvsc_label1), 4, 0); + + alignment6 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_widget_set_name (alignment6, "alignment6"); + gtk_widget_ref (alignment6); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "alignment6", alignment6, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (alignment6); + gtk_box_pack_start (GTK_BOX (hbox17), alignment6, TRUE, TRUE, 4); + + cfg_hvsc_path = gtk_entry_new (); + gtk_widget_set_name (cfg_hvsc_path, "cfg_hvsc_path"); + gtk_widget_ref (cfg_hvsc_path); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_hvsc_path", cfg_hvsc_path, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_hvsc_path); + gtk_container_add (GTK_CONTAINER (alignment6), cfg_hvsc_path); + gtk_tooltips_set_tip (tooltips, cfg_hvsc_path, "Path to base-directory of your High Voltage SID Collection (HVSC), for example /media/C64Music/", NULL); + + alignment7 = gtk_alignment_new (0.5, 0.5, 1, 0.300001); + gtk_widget_set_name (alignment7, "alignment7"); + gtk_widget_ref (alignment7); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "alignment7", alignment7, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (alignment7); + gtk_box_pack_end (GTK_BOX (hbox17), alignment7, FALSE, FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (alignment7), 4); + + cfg_hvsc_browse = gtk_button_new_with_label ("Browse"); + gtk_widget_set_name (cfg_hvsc_browse, "cfg_hvsc_browse"); + gtk_widget_ref (cfg_hvsc_browse); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_hvsc_browse", cfg_hvsc_browse, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_hvsc_browse); + gtk_container_add (GTK_CONTAINER (alignment7), cfg_hvsc_browse); + gtk_tooltips_set_tip (tooltips, cfg_hvsc_browse, "Browse for HVSC path", NULL); + + frame16 = gtk_frame_new ("Song name/title format: "); + gtk_widget_set_name (frame16, "frame16"); + gtk_widget_ref (frame16); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "frame16", frame16, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (frame16); + gtk_box_pack_start (GTK_BOX (vbox33), frame16, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (frame16), 4); + + vbox16 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (vbox16, "vbox16"); + gtk_widget_ref (vbox16); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "vbox16", vbox16, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (vbox16); + gtk_container_add (GTK_CONTAINER (frame16), vbox16); + gtk_container_set_border_width (GTK_CONTAINER (vbox16), 2); + + cfg_ftitle_override = gtk_check_button_new_with_label ("Override generic XMMS titles"); + gtk_widget_set_name (cfg_ftitle_override, "cfg_ftitle_override"); + gtk_widget_ref (cfg_ftitle_override); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_ftitle_override", cfg_ftitle_override, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_ftitle_override); + gtk_box_pack_start (GTK_BOX (vbox16), cfg_ftitle_override, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_ftitle_override, "XMMS v1.2.5 and later support generic titlestring formatting (see XMMS preferences). This option can be enabled to override those generic titles with XMMS-SID specific ones. Formatting mnemonics are explained briefly below.", NULL); + + cfg_ftitle_format = gtk_entry_new (); + gtk_widget_set_name (cfg_ftitle_format, "cfg_ftitle_format"); + gtk_widget_ref (cfg_ftitle_format); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_ftitle_format", cfg_ftitle_format, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_ftitle_format); + gtk_box_pack_start (GTK_BOX (vbox16), cfg_ftitle_format, FALSE, FALSE, 2); + + hbox9 = gtk_hbox_new (TRUE, 0); + gtk_widget_set_name (hbox9, "hbox9"); + gtk_widget_ref (hbox9); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "hbox9", hbox9, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (hbox9); + gtk_box_pack_start (GTK_BOX (vbox16), hbox9, FALSE, FALSE, 2); + + cfg_ftitle_desc1 = gtk_label_new ("%p - Performer/composer\n%t - Song name (title)\n%c - Copyright\n%s - File type\n%m - SID model"); + 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, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_ftitle_desc1); + gtk_box_pack_start (GTK_BOX (hbox9), cfg_ftitle_desc1, FALSE, FALSE, 0); + 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 ("%n - Subtune\n%N - Number of subtunes\n%f - Filename\n%F - File path\n%e - File extension"); + 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, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_ftitle_desc2); + gtk_box_pack_start (GTK_BOX (hbox9), cfg_ftitle_desc2, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (cfg_ftitle_desc2), GTK_JUSTIFY_LEFT); + gtk_misc_set_alignment (GTK_MISC (cfg_ftitle_desc2), 0.04, 0.5); + + label23 = gtk_label_new ("Title"); + gtk_widget_set_name (label23, "label23"); + gtk_widget_ref (label23); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "label23", label23, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (label23); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (cfg_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (cfg_notebook), 5), label23); + + vbox19 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (vbox19, "vbox19"); + gtk_widget_ref (vbox19); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "vbox19", vbox19, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (vbox19); + gtk_container_add (GTK_CONTAINER (cfg_notebook), vbox19); + + frame28 = gtk_frame_new ("Sub-tune control: "); + gtk_widget_set_name (frame28, "frame28"); + gtk_widget_ref (frame28); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "frame28", frame28, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (frame28); + gtk_box_pack_start (GTK_BOX (vbox19), frame28, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (frame28), 4); + + vbox31 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (vbox31, "vbox31"); + gtk_widget_ref (vbox31); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "vbox31", vbox31, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (vbox31); + gtk_container_add (GTK_CONTAINER (frame28), vbox31); + gtk_container_set_border_width (GTK_CONTAINER (vbox31), 2); + + cfg_subctrl_none = gtk_radio_button_new_with_label (subtune_group, "Disabled"); + subtune_group = gtk_radio_button_group (GTK_RADIO_BUTTON (cfg_subctrl_none)); + gtk_widget_set_name (cfg_subctrl_none, "cfg_subctrl_none"); + gtk_widget_ref (cfg_subctrl_none); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_subctrl_none", cfg_subctrl_none, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_subctrl_none); + gtk_box_pack_start (GTK_BOX (vbox31), cfg_subctrl_none, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_subctrl_none, "No sub-tune control.", NULL); + + cfg_subctrl_seek = gtk_radio_button_new_with_label (subtune_group, "Seek back/forward changes sub-tune"); + subtune_group = gtk_radio_button_group (GTK_RADIO_BUTTON (cfg_subctrl_seek)); + gtk_widget_set_name (cfg_subctrl_seek, "cfg_subctrl_seek"); + gtk_widget_ref (cfg_subctrl_seek); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_subctrl_seek", cfg_subctrl_seek, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_subctrl_seek); + gtk_box_pack_start (GTK_BOX (vbox31), cfg_subctrl_seek, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_subctrl_seek, "Seeking backwards/forwards selects previous/next sub-tune, similar to selector used in XMMS-SidPlay.", NULL); + + cfg_subctrl_popup = gtk_radio_button_new_with_label (subtune_group, "Pop-up via seekbar (UADE-style)"); + subtune_group = gtk_radio_button_group (GTK_RADIO_BUTTON (cfg_subctrl_popup)); + gtk_widget_set_name (cfg_subctrl_popup, "cfg_subctrl_popup"); + gtk_widget_ref (cfg_subctrl_popup); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_subctrl_popup", cfg_subctrl_popup, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_subctrl_popup); + gtk_box_pack_start (GTK_BOX (vbox31), cfg_subctrl_popup, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_subctrl_popup, "By pressing the seekbar a sub-tune control window pops up, in style of UADE (Unix Amiga Delitracker Emulator)", NULL); + + cfg_subctrl_patch = gtk_radio_button_new_with_label (subtune_group, "Song-position patch"); + subtune_group = gtk_radio_button_group (GTK_RADIO_BUTTON (cfg_subctrl_patch)); + gtk_widget_set_name (cfg_subctrl_patch, "cfg_subctrl_patch"); + gtk_widget_ref (cfg_subctrl_patch); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_subctrl_patch", cfg_subctrl_patch, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_subctrl_patch); + gtk_box_pack_start (GTK_BOX (vbox31), cfg_subctrl_patch, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_subctrl_patch, "Seekbar works as a sub-tune selector (Best option if you have patched your XMMS with the song-position patch.)", NULL); + + frame31 = gtk_frame_new ("Automatic sub-tune changes: "); + gtk_widget_set_name (frame31, "frame31"); + gtk_widget_ref (frame31); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "frame31", frame31, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (frame31); + gtk_box_pack_start (GTK_BOX (vbox19), frame31, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (frame31), 4); + + vbox35 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (vbox35, "vbox35"); + gtk_widget_ref (vbox35); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "vbox35", vbox35, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (vbox35); + gtk_container_add (GTK_CONTAINER (frame31), vbox35); + gtk_container_set_border_width (GTK_CONTAINER (vbox35), 2); + + cfg_subauto_enable = gtk_check_button_new_with_label ("Go through all sub-tunes in file"); + gtk_widget_set_name (cfg_subauto_enable, "cfg_subauto_enable"); + gtk_widget_ref (cfg_subauto_enable); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_subauto_enable", cfg_subauto_enable, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_subauto_enable); + gtk_box_pack_start (GTK_BOX (vbox35), cfg_subauto_enable, FALSE, FALSE, 0); + + cfg_subauto_min_only = gtk_check_button_new_with_label ("Only tunes with specified minimum length "); + gtk_widget_set_name (cfg_subauto_min_only, "cfg_subauto_min_only"); + gtk_widget_ref (cfg_subauto_min_only); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_subauto_min_only", cfg_subauto_min_only, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_subauto_min_only); + gtk_box_pack_start (GTK_BOX (vbox35), cfg_subauto_min_only, FALSE, FALSE, 0); + + hbox20 = gtk_hbox_new (FALSE, 2); + gtk_widget_set_name (hbox20, "hbox20"); + gtk_widget_ref (hbox20); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "hbox20", hbox20, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (hbox20); + gtk_box_pack_start (GTK_BOX (vbox35), hbox20, TRUE, TRUE, 0); + + label52 = gtk_label_new ("Playtime: "); + gtk_widget_set_name (label52, "label52"); + gtk_widget_ref (label52); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "label52", label52, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (label52); + gtk_box_pack_start (GTK_BOX (hbox20), label52, FALSE, FALSE, 0); + gtk_misc_set_alignment (GTK_MISC (label52), 0, 0.5); + + cfg_subauto_mintime_adj = gtk_adjustment_new (15, 1, 32767, 1, 60, 60); + cfg_subauto_mintime = gtk_spin_button_new (GTK_ADJUSTMENT (cfg_subauto_mintime_adj), 1, 0); + gtk_widget_set_name (cfg_subauto_mintime, "cfg_subauto_mintime"); + gtk_widget_ref (cfg_subauto_mintime); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_subauto_mintime", cfg_subauto_mintime, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_subauto_mintime); + gtk_box_pack_start (GTK_BOX (hbox20), cfg_subauto_mintime, FALSE, TRUE, 0); + + label53 = gtk_label_new ("seconds"); + gtk_widget_set_name (label53, "label53"); + gtk_widget_ref (label53); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "label53", label53, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (label53); + gtk_box_pack_start (GTK_BOX (hbox20), label53, FALSE, FALSE, 0); + gtk_misc_set_alignment (GTK_MISC (label53), 0, 0.5); + + frame22 = gtk_frame_new ("Miscellaneous options: "); + gtk_widget_set_name (frame22, "frame22"); + gtk_widget_ref (frame22); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "frame22", frame22, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (frame22); + gtk_box_pack_start (GTK_BOX (vbox19), frame22, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (frame22), 4); + + vbox22 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (vbox22, "vbox22"); + gtk_widget_ref (vbox22); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "vbox22", vbox22, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (vbox22); + gtk_container_add (GTK_CONTAINER (frame22), vbox22); + gtk_container_set_border_width (GTK_CONTAINER (vbox22), 2); + + cfg_detectmagic = gtk_check_button_new_with_label ("Detect file by contents (slower)"); + gtk_widget_set_name (cfg_detectmagic, "cfg_detectmagic"); + gtk_widget_ref (cfg_detectmagic); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_detectmagic", cfg_detectmagic, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_detectmagic); + gtk_box_pack_start (GTK_BOX (vbox22), cfg_detectmagic, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_detectmagic, "Determine if file is a SID-tune by checking the file contents. If NOT selected, filetype is determined by checking filename extension (.sid, .dat, ...)", NULL); + + label3 = gtk_label_new ("Misc"); + gtk_widget_set_name (label3, "label3"); + gtk_widget_ref (label3); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "label3", label3, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (label3); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (cfg_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (cfg_notebook), 6), label3); + + hbuttonbox1 = gtk_hbutton_box_new (); + gtk_widget_set_name (hbuttonbox1, "hbuttonbox1"); + gtk_widget_ref (hbuttonbox1); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "hbuttonbox1", hbuttonbox1, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (hbuttonbox1); + gtk_box_pack_end (GTK_BOX (vbox1), hbuttonbox1, FALSE, FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox1), 4); + gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox1), GTK_BUTTONBOX_END); + gtk_button_box_set_child_size (GTK_BUTTON_BOX (hbuttonbox1), 85, 30); + + cfg_ok = gtk_button_new_with_label ("OK"); + gtk_widget_set_name (cfg_ok, "cfg_ok"); + gtk_widget_ref (cfg_ok); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_ok", cfg_ok, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_ok); + gtk_container_add (GTK_CONTAINER (hbuttonbox1), cfg_ok); + GTK_WIDGET_SET_FLAGS (cfg_ok, GTK_CAN_DEFAULT); + gtk_tooltips_set_tip (tooltips, cfg_ok, "Accept and update changes", NULL); + + cfg_cancel = gtk_button_new_with_label ("Cancel"); + gtk_widget_set_name (cfg_cancel, "cfg_cancel"); + gtk_widget_ref (cfg_cancel); + gtk_object_set_data_full (GTK_OBJECT (xs_configwin), "cfg_cancel", cfg_cancel, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (cfg_cancel); + gtk_container_add (GTK_CONTAINER (hbuttonbox1), cfg_cancel); + GTK_WIDGET_SET_FLAGS (cfg_cancel, GTK_CAN_DEFAULT); + gtk_tooltips_set_tip (tooltips, cfg_cancel, "Cancel any changes", NULL); + + gtk_signal_connect (GTK_OBJECT (cfg_samplerate_menu), "clicked", + GTK_SIGNAL_FUNC (xs_cfg_samplerate_menu_clicked), + NULL); + gtk_signal_connect (GTK_OBJECT (cfg_oversample), "toggled", + GTK_SIGNAL_FUNC (xs_cfg_oversample_toggled), + NULL); + gtk_signal_connect (GTK_OBJECT (cfg_emu_sidplay1), "toggled", + GTK_SIGNAL_FUNC (xs_cfg_emu_sidplay1_toggled), + NULL); + gtk_signal_connect (GTK_OBJECT (cfg_emu_sidplay2), "toggled", + GTK_SIGNAL_FUNC (xs_cfg_emu_sidplay2_toggled), + NULL); + gtk_signal_connect (GTK_OBJECT (cfg_emu_filters), "toggled", + GTK_SIGNAL_FUNC (xs_cfg_emu_filters_toggled), + NULL); + gtk_signal_connect (GTK_OBJECT (cfg_filter_reset), "clicked", + GTK_SIGNAL_FUNC (xs_cfg_filter_reset), + NULL); + gtk_signal_connect (GTK_OBJECT (cfg_filter_sync), "clicked", + GTK_SIGNAL_FUNC (xs_cfg_filter_sync_clicked), + NULL); + gtk_signal_connect (GTK_OBJECT (cfg_filter2_reset), "clicked", + GTK_SIGNAL_FUNC (xs_cfg_filter2_reset), + NULL); + gtk_signal_connect (GTK_OBJECT (cfg_filter2_sync), "clicked", + GTK_SIGNAL_FUNC (xs_cfg_filter2_sync_clicked), + NULL); + gtk_signal_connect (GTK_OBJECT (cfg_mintime_enable), "toggled", + GTK_SIGNAL_FUNC (xs_cfg_mintime_enable_toggled), + NULL); + gtk_signal_connect (GTK_OBJECT (cfg_mintime), "changed", + GTK_SIGNAL_FUNC (xs_cfg_mintime_changed), + NULL); + gtk_signal_connect (GTK_OBJECT (cfg_maxtime_enable), "toggled", + GTK_SIGNAL_FUNC (xs_cfg_maxtime_enable_toggled), + NULL); + gtk_signal_connect (GTK_OBJECT (cfg_maxtime), "changed", + GTK_SIGNAL_FUNC (xs_cfg_maxtime_changed), + NULL); + gtk_signal_connect (GTK_OBJECT (cfg_sld_enable), "toggled", + GTK_SIGNAL_FUNC (xs_cfg_sld_enable_toggled), + NULL); + gtk_signal_connect (GTK_OBJECT (cfg_sld_dbbrowse), "clicked", + GTK_SIGNAL_FUNC (xs_cfg_sld_dbbrowse), + NULL); + gtk_signal_connect (GTK_OBJECT (cfg_stil_enable), "toggled", + GTK_SIGNAL_FUNC (xs_cfg_stil_enable_toggled), + NULL); + gtk_signal_connect (GTK_OBJECT (cfg_stil_browse), "clicked", + GTK_SIGNAL_FUNC (xs_cfg_stil_browse), + NULL); + gtk_signal_connect (GTK_OBJECT (cfg_hvsc_browse), "clicked", + GTK_SIGNAL_FUNC (xs_cfg_hvsc_browse), + NULL); + gtk_signal_connect (GTK_OBJECT (cfg_ftitle_override), "toggled", + GTK_SIGNAL_FUNC (xs_cfg_ftitle_override_toggled), + NULL); + gtk_signal_connect (GTK_OBJECT (cfg_subauto_enable), "toggled", + GTK_SIGNAL_FUNC (xs_cfg_subauto_enable_toggled), + NULL); + gtk_signal_connect (GTK_OBJECT (cfg_subauto_min_only), "toggled", + GTK_SIGNAL_FUNC (xs_cfg_subauto_min_only_toggled), + NULL); + gtk_signal_connect (GTK_OBJECT (cfg_ok), "clicked", + GTK_SIGNAL_FUNC (xs_cfg_ok), + NULL); + gtk_signal_connect (GTK_OBJECT (cfg_cancel), "clicked", + GTK_SIGNAL_FUNC (xs_cfg_cancel), + NULL); + + gtk_object_set_data (GTK_OBJECT (xs_configwin), "tooltips", tooltips); + + return xs_configwin; +} + +GtkWidget* +create_xs_fileinfowin (void) +{ + GtkWidget *xs_fileinfowin; + GtkWidget *vbox14; + GtkWidget *alignment8; + GtkWidget *frame30; + GtkWidget *hbox19; + GtkWidget *fileinfo_subctrl_prev; + GtkWidget *fileinfo_subctrl_adj; + GtkWidget *fileinfo_subctrl_next; + GtkWidget *frame14; + GtkWidget *table1; + GtkWidget *label16; + GtkWidget *label17; + GtkWidget *label18; + GtkWidget *label19; + GtkWidget *fileinfo_filename; + GtkWidget *fileinfo_songname; + GtkWidget *fileinfo_composer; + GtkWidget *fileinfo_copyright; + GtkWidget *frame15; + GtkWidget *vbox15; + GtkWidget *fileinfo_sub_tune; + GtkWidget *fileinfo_sub_tune_menu; + GtkWidget *table2; + GtkWidget *label41; + GtkWidget *fileinfo_sub_author; + GtkWidget *label50; + GtkWidget *fileinfo_sub_name; + GtkWidget *label51; + GtkWidget *entry1; + GtkWidget *scrolledwindow2; + GtkWidget *fileinfo_sub_info; + GtkWidget *button2; + + xs_fileinfowin = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_window_set_type_hint (GTK_WINDOW(xs_fileinfowin), GDK_WINDOW_TYPE_HINT_DIALOG); + gtk_widget_set_name (xs_fileinfowin, "xs_fileinfowin"); + gtk_object_set_data (GTK_OBJECT (xs_fileinfowin), "xs_fileinfowin", xs_fileinfowin); + gtk_widget_set_usize (xs_fileinfowin, 400, -2); + gtk_window_set_title (GTK_WINDOW (xs_fileinfowin), "XMMS-SID Fileinfo"); + gtk_window_set_position (GTK_WINDOW (xs_fileinfowin), GTK_WIN_POS_MOUSE); + + vbox14 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (vbox14, "vbox14"); + gtk_widget_ref (vbox14); + gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "vbox14", vbox14, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (vbox14); + gtk_container_add (GTK_CONTAINER (xs_fileinfowin), vbox14); + + alignment8 = gtk_alignment_new (0.5, 0.5, 0.1, 1); + gtk_widget_set_name (alignment8, "alignment8"); + gtk_widget_ref (alignment8); + gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "alignment8", alignment8, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (alignment8); + gtk_box_pack_start (GTK_BOX (vbox14), alignment8, FALSE, FALSE, 0); + + frame30 = gtk_frame_new (NULL); + gtk_widget_set_name (frame30, "frame30"); + gtk_widget_ref (frame30); + gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "frame30", frame30, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (frame30); + gtk_container_add (GTK_CONTAINER (alignment8), frame30); + gtk_container_set_border_width (GTK_CONTAINER (frame30), 2); + gtk_frame_set_shadow_type (GTK_FRAME (frame30), GTK_SHADOW_OUT); + + hbox19 = gtk_hbox_new (FALSE, 0); + gtk_widget_set_name (hbox19, "hbox19"); + gtk_widget_ref (hbox19); + gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "hbox19", hbox19, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (hbox19); + gtk_container_add (GTK_CONTAINER (frame30), hbox19); + gtk_container_set_border_width (GTK_CONTAINER (hbox19), 4); + + fileinfo_subctrl_prev = gtk_button_new_with_label (" < "); + gtk_widget_set_name (fileinfo_subctrl_prev, "fileinfo_subctrl_prev"); + gtk_widget_ref (fileinfo_subctrl_prev); + gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "fileinfo_subctrl_prev", fileinfo_subctrl_prev, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (fileinfo_subctrl_prev); + gtk_box_pack_start (GTK_BOX (hbox19), fileinfo_subctrl_prev, FALSE, FALSE, 0); + + fileinfo_subctrl_adj = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 0, 0, 0, 0))); + gtk_widget_set_name (fileinfo_subctrl_adj, "fileinfo_subctrl_adj"); + gtk_widget_ref (fileinfo_subctrl_adj); + gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "fileinfo_subctrl_adj", fileinfo_subctrl_adj, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (fileinfo_subctrl_adj); + gtk_box_pack_start (GTK_BOX (hbox19), fileinfo_subctrl_adj, TRUE, TRUE, 0); + gtk_scale_set_digits (GTK_SCALE (fileinfo_subctrl_adj), 0); + gtk_range_set_update_policy (GTK_RANGE (fileinfo_subctrl_adj), GTK_UPDATE_DELAYED); + + fileinfo_subctrl_next = gtk_button_new_with_label (" > "); + gtk_widget_set_name (fileinfo_subctrl_next, "fileinfo_subctrl_next"); + gtk_widget_ref (fileinfo_subctrl_next); + gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "fileinfo_subctrl_next", fileinfo_subctrl_next, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (fileinfo_subctrl_next); + gtk_box_pack_start (GTK_BOX (hbox19), fileinfo_subctrl_next, FALSE, FALSE, 0); + + frame14 = gtk_frame_new ("Song Information:"); + gtk_widget_set_name (frame14, "frame14"); + gtk_widget_ref (frame14); + gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "frame14", frame14, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (frame14); + gtk_box_pack_start (GTK_BOX (vbox14), frame14, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (frame14), 4); + + table1 = gtk_table_new (4, 2, FALSE); + gtk_widget_set_name (table1, "table1"); + gtk_widget_ref (table1); + gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "table1", table1, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (table1); + gtk_container_add (GTK_CONTAINER (frame14), table1); + gtk_container_set_border_width (GTK_CONTAINER (table1), 4); + gtk_table_set_row_spacings (GTK_TABLE (table1), 2); + gtk_table_set_col_spacings (GTK_TABLE (table1), 4); + + label16 = gtk_label_new ("Filename:"); + gtk_widget_set_name (label16, "label16"); + gtk_widget_ref (label16); + gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "label16", label16, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (label16); + gtk_table_attach (GTK_TABLE (table1), label16, 0, 1, 0, 1, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 0, 0); + + label17 = gtk_label_new ("Songname:"); + gtk_widget_set_name (label17, "label17"); + gtk_widget_ref (label17); + gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "label17", label17, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (label17); + gtk_table_attach (GTK_TABLE (table1), label17, 0, 1, 1, 2, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 0, 0); + + label18 = gtk_label_new ("Composer:"); + gtk_widget_set_name (label18, "label18"); + gtk_widget_ref (label18); + gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "label18", label18, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (label18); + gtk_table_attach (GTK_TABLE (table1), label18, 0, 1, 2, 3, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 0, 0); + + label19 = gtk_label_new ("Copyright:"); + gtk_widget_set_name (label19, "label19"); + gtk_widget_ref (label19); + gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "label19", label19, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (label19); + gtk_table_attach (GTK_TABLE (table1), label19, 0, 1, 3, 4, + (GtkAttachOptions) (0), + (GtkAttachOptions) (0), 0, 0); + + fileinfo_filename = gtk_entry_new (); + gtk_widget_set_name (fileinfo_filename, "fileinfo_filename"); + gtk_widget_ref (fileinfo_filename); + gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "fileinfo_filename", fileinfo_filename, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (fileinfo_filename); + gtk_table_attach (GTK_TABLE (table1), fileinfo_filename, 1, 2, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_entry_set_editable (GTK_ENTRY (fileinfo_filename), FALSE); + + fileinfo_songname = gtk_entry_new (); + gtk_widget_set_name (fileinfo_songname, "fileinfo_songname"); + gtk_widget_ref (fileinfo_songname); + gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "fileinfo_songname", fileinfo_songname, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (fileinfo_songname); + gtk_table_attach (GTK_TABLE (table1), fileinfo_songname, 1, 2, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_entry_set_editable (GTK_ENTRY (fileinfo_songname), FALSE); + + fileinfo_composer = gtk_entry_new (); + gtk_widget_set_name (fileinfo_composer, "fileinfo_composer"); + gtk_widget_ref (fileinfo_composer); + gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "fileinfo_composer", fileinfo_composer, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (fileinfo_composer); + gtk_table_attach (GTK_TABLE (table1), fileinfo_composer, 1, 2, 2, 3, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_entry_set_editable (GTK_ENTRY (fileinfo_composer), FALSE); + + fileinfo_copyright = gtk_entry_new (); + gtk_widget_set_name (fileinfo_copyright, "fileinfo_copyright"); + gtk_widget_ref (fileinfo_copyright); + gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "fileinfo_copyright", fileinfo_copyright, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (fileinfo_copyright); + gtk_table_attach (GTK_TABLE (table1), fileinfo_copyright, 1, 2, 3, 4, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_entry_set_editable (GTK_ENTRY (fileinfo_copyright), FALSE); + + frame15 = gtk_frame_new ("Sub-tune Information:"); + gtk_widget_set_name (frame15, "frame15"); + gtk_widget_ref (frame15); + gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "frame15", frame15, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (frame15); + gtk_box_pack_start (GTK_BOX (vbox14), frame15, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (frame15), 4); + + vbox15 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (vbox15, "vbox15"); + gtk_widget_ref (vbox15); + gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "vbox15", vbox15, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (vbox15); + gtk_container_add (GTK_CONTAINER (frame15), vbox15); + + fileinfo_sub_tune = gtk_option_menu_new (); + gtk_widget_set_name (fileinfo_sub_tune, "fileinfo_sub_tune"); + gtk_widget_ref (fileinfo_sub_tune); + gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "fileinfo_sub_tune", fileinfo_sub_tune, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (fileinfo_sub_tune); + gtk_box_pack_start (GTK_BOX (vbox15), fileinfo_sub_tune, FALSE, FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (fileinfo_sub_tune), 4); + fileinfo_sub_tune_menu = gtk_menu_new (); + gtk_option_menu_set_menu (GTK_OPTION_MENU (fileinfo_sub_tune), fileinfo_sub_tune_menu); + + table2 = gtk_table_new (3, 2, FALSE); + gtk_widget_set_name (table2, "table2"); + gtk_widget_ref (table2); + gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "table2", table2, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (table2); + gtk_box_pack_start (GTK_BOX (vbox15), table2, FALSE, FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (table2), 4); + gtk_table_set_row_spacings (GTK_TABLE (table2), 2); + gtk_table_set_col_spacings (GTK_TABLE (table2), 4); + + label41 = gtk_label_new ("Author:"); + gtk_widget_set_name (label41, "label41"); + gtk_widget_ref (label41); + gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "label41", label41, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (label41); + gtk_table_attach (GTK_TABLE (table2), label41, 0, 1, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + fileinfo_sub_author = gtk_entry_new (); + gtk_widget_set_name (fileinfo_sub_author, "fileinfo_sub_author"); + gtk_widget_ref (fileinfo_sub_author); + gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "fileinfo_sub_author", fileinfo_sub_author, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (fileinfo_sub_author); + gtk_table_attach (GTK_TABLE (table2), fileinfo_sub_author, 1, 2, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_entry_set_editable (GTK_ENTRY (fileinfo_sub_author), FALSE); + + label50 = gtk_label_new ("Name:"); + gtk_widget_set_name (label50, "label50"); + gtk_widget_ref (label50); + gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "label50", label50, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (label50); + gtk_table_attach (GTK_TABLE (table2), label50, 0, 1, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + fileinfo_sub_name = gtk_entry_new (); + gtk_widget_set_name (fileinfo_sub_name, "fileinfo_sub_name"); + gtk_widget_ref (fileinfo_sub_name); + gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "fileinfo_sub_name", fileinfo_sub_name, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (fileinfo_sub_name); + gtk_table_attach (GTK_TABLE (table2), fileinfo_sub_name, 1, 2, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_entry_set_editable (GTK_ENTRY (fileinfo_sub_name), FALSE); + + label51 = gtk_label_new ("Duration:"); + gtk_widget_set_name (label51, "label51"); + gtk_widget_ref (label51); + gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "label51", label51, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (label51); + gtk_table_attach (GTK_TABLE (table2), label51, 0, 1, 2, 3, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label51), 0, 0.5); + + entry1 = gtk_entry_new (); + gtk_widget_set_name (entry1, "entry1"); + gtk_widget_ref (entry1); + gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "entry1", entry1, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (entry1); + gtk_table_attach (GTK_TABLE (table2), entry1, 1, 2, 2, 3, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_entry_set_editable (GTK_ENTRY (entry1), FALSE); + + scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_set_name (scrolledwindow2, "scrolledwindow2"); + gtk_widget_ref (scrolledwindow2); + gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "scrolledwindow2", scrolledwindow2, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (scrolledwindow2); + gtk_box_pack_start (GTK_BOX (vbox15), scrolledwindow2, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (scrolledwindow2), 4); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); + + fileinfo_sub_info = gtk_text_view_new (); + gtk_widget_set_name (fileinfo_sub_info, "fileinfo_sub_info"); + gtk_widget_ref (fileinfo_sub_info); + gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "fileinfo_sub_info", fileinfo_sub_info, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (fileinfo_sub_info); + gtk_container_add (GTK_CONTAINER (scrolledwindow2), fileinfo_sub_info); + + button2 = gtk_button_new_with_label ("Close"); + gtk_widget_set_name (button2, "button2"); + gtk_widget_ref (button2); + gtk_object_set_data_full (GTK_OBJECT (xs_fileinfowin), "button2", button2, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (button2); + gtk_box_pack_start (GTK_BOX (vbox14), button2, FALSE, FALSE, 0); + GTK_WIDGET_SET_FLAGS (button2, GTK_CAN_DEFAULT); + + gtk_signal_connect (GTK_OBJECT (xs_fileinfowin), "delete_event", + GTK_SIGNAL_FUNC (xs_fileinfo_delete), + NULL); + gtk_signal_connect (GTK_OBJECT (fileinfo_subctrl_prev), "clicked", + GTK_SIGNAL_FUNC (xs_subctrl_prevsong), + NULL); + gtk_signal_connect (GTK_OBJECT (fileinfo_subctrl_next), "clicked", + GTK_SIGNAL_FUNC (xs_subctrl_nextsong), + NULL); + gtk_signal_connect (GTK_OBJECT (button2), "clicked", + GTK_SIGNAL_FUNC (xs_fileinfo_ok), + NULL); + + gtk_widget_grab_focus (button2); + gtk_widget_grab_default (button2); + return xs_fileinfowin; +} + +GtkWidget* +create_xs_sldbfileselector (void) +{ + GtkWidget *xs_sldbfileselector; + GtkWidget *ok_button2; + GtkWidget *cancel_button2; + + xs_sldbfileselector = gtk_file_selection_new ("Select HVSC song length database"); + gtk_widget_set_name (xs_sldbfileselector, "xs_sldbfileselector"); + gtk_object_set_data (GTK_OBJECT (xs_sldbfileselector), "xs_sldbfileselector", xs_sldbfileselector); + gtk_container_set_border_width (GTK_CONTAINER (xs_sldbfileselector), 10); + gtk_window_set_modal (GTK_WINDOW (xs_sldbfileselector), TRUE); + gtk_file_selection_hide_fileop_buttons (GTK_FILE_SELECTION (xs_sldbfileselector)); + + ok_button2 = GTK_FILE_SELECTION (xs_sldbfileselector)->ok_button; + gtk_widget_set_name (ok_button2, "ok_button2"); + gtk_object_set_data (GTK_OBJECT (xs_sldbfileselector), "ok_button2", ok_button2); + gtk_widget_show (ok_button2); + GTK_WIDGET_SET_FLAGS (ok_button2, GTK_CAN_DEFAULT); + + cancel_button2 = GTK_FILE_SELECTION (xs_sldbfileselector)->cancel_button; + gtk_widget_set_name (cancel_button2, "cancel_button2"); + gtk_object_set_data (GTK_OBJECT (xs_sldbfileselector), "cancel_button2", cancel_button2); + gtk_widget_show (cancel_button2); + GTK_WIDGET_SET_FLAGS (cancel_button2, GTK_CAN_DEFAULT); + + gtk_signal_connect (GTK_OBJECT (ok_button2), "clicked", + GTK_SIGNAL_FUNC (xs_cfg_sldb_fs_ok), + NULL); + gtk_signal_connect (GTK_OBJECT (cancel_button2), "clicked", + GTK_SIGNAL_FUNC (xs_cfg_sldb_fs_cancel), + NULL); + + return xs_sldbfileselector; +} + +GtkWidget* +create_xs_stilfileselector (void) +{ + GtkWidget *xs_stilfileselector; + GtkWidget *ok_button3; + GtkWidget *cancel_button3; + + xs_stilfileselector = gtk_file_selection_new ("Select STIL-database "); + gtk_widget_set_name (xs_stilfileselector, "xs_stilfileselector"); + gtk_object_set_data (GTK_OBJECT (xs_stilfileselector), "xs_stilfileselector", xs_stilfileselector); + gtk_container_set_border_width (GTK_CONTAINER (xs_stilfileselector), 10); + gtk_window_set_modal (GTK_WINDOW (xs_stilfileselector), TRUE); + gtk_file_selection_hide_fileop_buttons (GTK_FILE_SELECTION (xs_stilfileselector)); + + ok_button3 = GTK_FILE_SELECTION (xs_stilfileselector)->ok_button; + gtk_widget_set_name (ok_button3, "ok_button3"); + gtk_object_set_data (GTK_OBJECT (xs_stilfileselector), "ok_button3", ok_button3); + gtk_widget_show (ok_button3); + GTK_WIDGET_SET_FLAGS (ok_button3, GTK_CAN_DEFAULT); + + cancel_button3 = GTK_FILE_SELECTION (xs_stilfileselector)->cancel_button; + gtk_widget_set_name (cancel_button3, "cancel_button3"); + gtk_object_set_data (GTK_OBJECT (xs_stilfileselector), "cancel_button3", cancel_button3); + gtk_widget_show (cancel_button3); + GTK_WIDGET_SET_FLAGS (cancel_button3, GTK_CAN_DEFAULT); + + gtk_signal_connect (GTK_OBJECT (ok_button3), "clicked", + GTK_SIGNAL_FUNC (xs_cfg_stil_fs_ok), + NULL); + gtk_signal_connect (GTK_OBJECT (cancel_button3), "clicked", + GTK_SIGNAL_FUNC (xs_cfg_stil_fs_cancel), + NULL); + + return xs_stilfileselector; +} + +GtkWidget* +create_xs_hvscpathselector (void) +{ + GtkWidget *xs_hvscpathselector; + GtkWidget *ok_button4; + GtkWidget *cancel_button4; + + xs_hvscpathselector = gtk_file_selection_new ("Select HVSC location prefix"); + gtk_widget_set_name (xs_hvscpathselector, "xs_hvscpathselector"); + gtk_object_set_data (GTK_OBJECT (xs_hvscpathselector), "xs_hvscpathselector", xs_hvscpathselector); + gtk_container_set_border_width (GTK_CONTAINER (xs_hvscpathselector), 10); + gtk_window_set_modal (GTK_WINDOW (xs_hvscpathselector), TRUE); + gtk_file_selection_hide_fileop_buttons (GTK_FILE_SELECTION (xs_hvscpathselector)); + + ok_button4 = GTK_FILE_SELECTION (xs_hvscpathselector)->ok_button; + gtk_widget_set_name (ok_button4, "ok_button4"); + gtk_object_set_data (GTK_OBJECT (xs_hvscpathselector), "ok_button4", ok_button4); + gtk_widget_show (ok_button4); + GTK_WIDGET_SET_FLAGS (ok_button4, GTK_CAN_DEFAULT); + + cancel_button4 = GTK_FILE_SELECTION (xs_hvscpathselector)->cancel_button; + gtk_widget_set_name (cancel_button4, "cancel_button4"); + gtk_object_set_data (GTK_OBJECT (xs_hvscpathselector), "cancel_button4", cancel_button4); + gtk_widget_show (cancel_button4); + GTK_WIDGET_SET_FLAGS (cancel_button4, GTK_CAN_DEFAULT); + + gtk_signal_connect (GTK_OBJECT (ok_button4), "clicked", + GTK_SIGNAL_FUNC (xs_cfg_hvsc_fs_ok), + NULL); + gtk_signal_connect (GTK_OBJECT (cancel_button4), "clicked", + GTK_SIGNAL_FUNC (xs_cfg_hvsc_fs_cancel), + NULL); + + return xs_hvscpathselector; +} +