Mercurial > audlegacy-plugins
diff src/sid/xs_interface.c @ 735:6c3c7b841382 trunk
[svn] - sync audacious-sid with latest xmms-sid, from Matti Hamalainen (ccr).
author | nenolod |
---|---|
date | Tue, 27 Feb 2007 01:40:23 -0800 |
parents | 65408c59b424 |
children | 05a1a27805c5 |
line wrap: on
line diff
--- a/src/sid/xs_interface.c Tue Feb 27 01:27:06 2007 -0800 +++ b/src/sid/xs_interface.c Tue Feb 27 01:40:23 2007 -0800 @@ -10,6 +10,7 @@ #include <sys/stat.h> #include <unistd.h> #include <string.h> +#include <stdio.h> #include <gdk/gdkkeysyms.h> #include <gtk/gtk.h> @@ -18,167 +19,210 @@ #include "xs_interface.h" #include "xs_glade.h" +#define GLADE_HOOKUP_OBJECT(component,widget,name) \ + g_object_set_data_full (G_OBJECT (component), name, \ + gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref) + +#define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \ + g_object_set_data (G_OBJECT (component), name, widget) + GtkWidget* create_xs_configwin (void) { GtkWidget *xs_configwin; - GtkWidget *vbox1; + GtkWidget *w_vbox1; GtkWidget *cfg_notebook; - GtkWidget *vbox6; - GtkWidget *hbox2; - GtkWidget *frame4; - GtkWidget *vbox9; - GSList *resolution_group = NULL; + GtkWidget *w_vbox6; + GtkWidget *w_hbox2; + GtkWidget *cfg_sndres_frame; + GtkWidget *w_vbox9; GtkWidget *cfg_res_8bit; + GSList *cfg_res_8bit_group = NULL; GtkWidget *cfg_res_16bit; - GtkWidget *frame5; - GtkWidget *vbox10; - GSList *channels_group = NULL; + GtkWidget *label1; + GtkWidget *cfg_channels_frame; + GtkWidget *w_vbox10; GtkWidget *cfg_chn_mono; + GSList *cfg_chn_mono_group = NULL; 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 *label2; + GtkWidget *cfg_samplerate_frame; + GtkWidget *w_hbox4; + GtkWidget *cfg_samplerate_combo; + GList *cfg_samplerate_combo_items = NULL; GtkWidget *cfg_samplerate; - GtkWidget *label54; - GtkWidget *cfg_oversample_grp; - GtkWidget *vbox27; + GtkWidget *w_label8; + GtkWidget *w_label54; + GtkWidget *label3; + GtkWidget *cfg_oversample_frame; + GtkWidget *w_vbox27; GtkWidget *cfg_oversample; - GtkWidget *hbox16; + GtkWidget *cfg_oversample_box; 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 *label4; + GtkWidget *w_label1; + GtkWidget *w_vbox2; + GtkWidget *w_hbox1; + GtkWidget *cfg_clock_frame; + GtkWidget *w_vbox4; + GtkWidget *cfg_emu_clock_force; + GtkWidget *cfg_emu_clock_pal; + GSList *cfg_emu_clock_pal_group = NULL; + GtkWidget *cfg_emu_clock_ntsc; + GtkWidget *label5; + GtkWidget *cfg_sid_model_frame; + GtkWidget *w_vbox3; + GtkWidget *cfg_emu_sid_force; + GtkWidget *cfg_emu_mos6581; + GSList *cfg_emu_mos6581_group = NULL; + GtkWidget *cfg_emu_mos8580; + GtkWidget *label6; + GtkWidget *cfg_emulib_frame; + GtkWidget *w_vbox26; GtkWidget *cfg_emu_sidplay1; + GSList *cfg_emu_sidplay1_group = NULL; GtkWidget *cfg_emu_sidplay2; - GtkWidget *frame1; - GtkWidget *vbox5; - GSList *memorymode_group = NULL; + GtkWidget *label7; + GtkWidget *cfg_memmode_frame; + GtkWidget *w_vbox5; GtkWidget *cfg_emu_mem_real; + GSList *cfg_emu_mem_real_group = NULL; 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 *label8; + GtkWidget *w_label2; + GtkWidget *w_vbox29; + GtkWidget *cfg_sidplay2_frame; + GtkWidget *w_vbox30; + GtkWidget *cfg_emu_sp2_opt; + GtkWidget *cfg_emu_sp2_resid; + GSList *cfg_emu_sp2_resid_group = NULL; + GtkWidget *cfg_emu_sp2_hardsid; + GtkWidget *label9; + GtkWidget *cfg_resid_frame; + GtkWidget *w_vbox37; + GtkWidget *cfg_emu_resid_fast; + GSList *cfg_emu_resid_fast_group = NULL; + GtkWidget *cfg_emu_resid_int; + GtkWidget *cfg_emu_resid_res_fast; + GtkWidget *cfg_emu_resid_res_int; + GtkWidget *label10; + GtkWidget *w_label48; + GtkWidget *w_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_box_filter_sidplay1; + GtkWidget *cfg_sp1_frm_fs; + GtkWidget *cfg_sp1_filter_fs; + GtkWidget *label11; + GtkWidget *cfg_sp1_frm_fm; + GtkWidget *cfg_sp1_filter_fm; + GtkWidget *label12; + GtkWidget *cfg_sp1_frm_ft; + GtkWidget *cfg_sp1_filter_ft; + GtkWidget *label13; + GtkWidget *w_vbox17; + GtkWidget *cfg_sp1_filter_reset; + GtkWidget *w_label55; + GtkWidget *cfg_box_filter_sidplay2; + GtkWidget *cfg_sp_filter_controlbox; + GtkWidget *cfg_sp2_filter_combo; + GList *cfg_sp2_filter_combo_items = NULL; + GtkWidget *cfg_sp2_filter_combo_entry; + GtkWidget *table3; + GtkWidget *cfg_sp2_filter_load; + GtkWidget *cfg_sp2_filter_save; + GtkWidget *cfg_sp2_filter_import; + GtkWidget *cfg_sp2_filter_export; + GtkWidget *cfg_sp2_filter_frame; + GtkWidget *label14; + GtkWidget *w_label56; + GtkWidget *w_label24; + GtkWidget *w_vbox20; + GtkWidget *w_frame29; + GtkWidget *w_vbox32; GtkWidget *cfg_mintime_enable; - GtkWidget *hbox18; + GtkWidget *cfg_mintime_box; GtkWidget *cfg_mintime_label1; GtkObject *cfg_mintime_adj; GtkWidget *cfg_mintime; GtkWidget *cfg_mintime_label2; - GtkWidget *frame21; - GtkWidget *vbox21; + GtkWidget *label15; + GtkWidget *w_frame21; + GtkWidget *w_vbox21; GtkWidget *cfg_maxtime_enable; GtkWidget *cfg_maxtime_unknown; - GtkWidget *hbox14; + GtkWidget *cfg_maxtime_box; GtkWidget *cfg_maxtime_label1; GtkObject *cfg_maxtime_adj; GtkWidget *cfg_maxtime; GtkWidget *cfg_maxtime_label2; - GtkWidget *frame18; - GtkWidget *vbox18; + GtkWidget *label16; + GtkWidget *w_frame18; + GtkWidget *w_vbox18; GtkWidget *cfg_sld_enable; - GtkWidget *hbox13; + GtkWidget *cfg_sld_box; GtkWidget *cfg_sld_label1; GtkWidget *cfg_sld_dbpath; GtkWidget *cfg_sld_dbbrowse; - GtkWidget *label26; - GtkWidget *vbox33; - GtkWidget *frame7; - GtkWidget *vbox8; + GtkWidget *label17; + GtkWidget *w_label26; + GtkWidget *w_vbox33; + GtkWidget *w_frame7; + GtkWidget *w_vbox8; GtkWidget *cfg_stil_enable; - GtkWidget *hbox3; + GtkWidget *cfg_stil_box1; GtkWidget *cfg_stil_label1; - GtkWidget *alignment2; + GtkWidget *w_alignment2; GtkWidget *cfg_stil_dbpath; - GtkWidget *alignment1; + GtkWidget *w_alignment1; GtkWidget *cfg_stil_browse; - GtkWidget *hbox17; + GtkWidget *cfg_stil_box2; GtkWidget *cfg_hvsc_label1; - GtkWidget *alignment6; + GtkWidget *w_alignment6; GtkWidget *cfg_hvsc_path; - GtkWidget *alignment7; + GtkWidget *w_alignment7; GtkWidget *cfg_hvsc_browse; - GtkWidget *frame16; - GtkWidget *vbox16; + GtkWidget *label18; + GtkWidget *w_frame16; + GtkWidget *vbox1; GtkWidget *cfg_ftitle_override; + GtkWidget *cfg_ftitle_box; GtkWidget *cfg_ftitle_format; - GtkWidget *hbox9; + GtkWidget *w_hbox9; GtkWidget *cfg_ftitle_desc1; GtkWidget *cfg_ftitle_desc2; - GtkWidget *label23; - GtkWidget *vbox19; - GtkWidget *frame28; - GtkWidget *vbox31; - GSList *subtune_group = NULL; + GtkWidget *label19; + GtkWidget *w_label23; + GtkWidget *w_vbox19; + GtkWidget *w_frame28; + GtkWidget *w_vbox31; GtkWidget *cfg_subctrl_none; + GSList *cfg_subctrl_none_group = NULL; GtkWidget *cfg_subctrl_seek; GtkWidget *cfg_subctrl_popup; GtkWidget *cfg_subctrl_patch; - GtkWidget *frame31; - GtkWidget *vbox35; + GtkWidget *label20; + GtkWidget *w_frame31; + GtkWidget *w_vbox35; GtkWidget *cfg_subauto_enable; GtkWidget *cfg_subauto_min_only; - GtkWidget *hbox20; - GtkWidget *label52; + GtkWidget *cfg_subauto_box; + GtkWidget *w_label52; GtkObject *cfg_subauto_mintime_adj; GtkWidget *cfg_subauto_mintime; - GtkWidget *label53; - GtkWidget *label3; + GtkWidget *w_label53; + GtkWidget *label21; + GtkWidget *w_frame22; + GtkWidget *w_vbox22; + GtkWidget *cfg_detectmagic; + GtkWidget *label22; + GtkWidget *w_label3; GtkWidget *hbuttonbox1; GtkWidget *cfg_ok; GtkWidget *cfg_cancel; @@ -187,1391 +231,1378 @@ 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"); - g_object_set_data (G_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); + gtk_window_set_title (GTK_WINDOW (xs_configwin), _("Audacious-SID Configuration")); - vbox1 = gtk_vbox_new (FALSE, 0); - gtk_widget_set_name (vbox1, "vbox1"); - gtk_widget_ref (vbox1); - g_object_set_data_full (G_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); + w_vbox1 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (w_vbox1, "w_vbox1"); + gtk_widget_show (w_vbox1); + gtk_container_add (GTK_CONTAINER (xs_configwin), w_vbox1); + gtk_container_set_border_width (GTK_CONTAINER (w_vbox1), 8); cfg_notebook = gtk_notebook_new (); gtk_widget_set_name (cfg_notebook, "cfg_notebook"); - gtk_widget_ref (cfg_notebook); - g_object_set_data_full (G_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_box_pack_start (GTK_BOX (w_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); - g_object_set_data_full (G_OBJECT (xs_configwin), "vbox6", vbox6, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbox6); - gtk_container_add (GTK_CONTAINER (cfg_notebook), vbox6); + w_vbox6 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (w_vbox6, "w_vbox6"); + gtk_widget_show (w_vbox6); + gtk_container_add (GTK_CONTAINER (cfg_notebook), w_vbox6); - hbox2 = gtk_hbox_new (FALSE, 0); - gtk_widget_set_name (hbox2, "hbox2"); - gtk_widget_ref (hbox2); - g_object_set_data_full (G_OBJECT (xs_configwin), "hbox2", hbox2, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (hbox2); - gtk_box_pack_start (GTK_BOX (vbox6), hbox2, FALSE, TRUE, 0); + w_hbox2 = gtk_hbox_new (FALSE, 0); + gtk_widget_set_name (w_hbox2, "w_hbox2"); + gtk_widget_show (w_hbox2); + gtk_box_pack_start (GTK_BOX (w_vbox6), w_hbox2, FALSE, TRUE, 0); - frame4 = gtk_frame_new ("Resolution:"); - gtk_widget_set_name (frame4, "frame4"); - gtk_widget_ref (frame4); - g_object_set_data_full (G_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); + cfg_sndres_frame = gtk_frame_new (NULL); + gtk_widget_set_name (cfg_sndres_frame, "cfg_sndres_frame"); + gtk_widget_show (cfg_sndres_frame); + gtk_box_pack_start (GTK_BOX (w_hbox2), cfg_sndres_frame, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (cfg_sndres_frame), 4); - vbox9 = gtk_vbox_new (FALSE, 2); - gtk_widget_set_name (vbox9, "vbox9"); - gtk_widget_ref (vbox9); - g_object_set_data_full (G_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); + w_vbox9 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (w_vbox9, "w_vbox9"); + gtk_widget_show (w_vbox9); + gtk_container_add (GTK_CONTAINER (cfg_sndres_frame), w_vbox9); + gtk_container_set_border_width (GTK_CONTAINER (w_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)); + cfg_res_8bit = gtk_radio_button_new_with_mnemonic (NULL, _("8-bit")); gtk_widget_set_name (cfg_res_8bit, "cfg_res_8bit"); - gtk_widget_ref (cfg_res_8bit); - g_object_set_data_full (G_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); + gtk_box_pack_start (GTK_BOX (w_vbox9), cfg_res_8bit, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_res_8bit), cfg_res_8bit_group); + cfg_res_8bit_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_res_8bit)); - 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)); + cfg_res_16bit = gtk_radio_button_new_with_mnemonic (NULL, _("16-bit")); gtk_widget_set_name (cfg_res_16bit, "cfg_res_16bit"); - gtk_widget_ref (cfg_res_16bit); - g_object_set_data_full (G_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); + gtk_box_pack_start (GTK_BOX (w_vbox9), cfg_res_16bit, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_res_16bit), cfg_res_8bit_group); + cfg_res_8bit_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_res_16bit)); - frame5 = gtk_frame_new ("Channels:"); - gtk_widget_set_name (frame5, "frame5"); - gtk_widget_ref (frame5); - g_object_set_data_full (G_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); + label1 = gtk_label_new (_("Resolution:")); + gtk_widget_set_name (label1, "label1"); + gtk_widget_show (label1); + gtk_frame_set_label_widget (GTK_FRAME (cfg_sndres_frame), label1); - vbox10 = gtk_vbox_new (FALSE, 2); - gtk_widget_set_name (vbox10, "vbox10"); - gtk_widget_ref (vbox10); - g_object_set_data_full (G_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_channels_frame = gtk_frame_new (NULL); + gtk_widget_set_name (cfg_channels_frame, "cfg_channels_frame"); + gtk_widget_show (cfg_channels_frame); + gtk_box_pack_start (GTK_BOX (w_hbox2), cfg_channels_frame, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (cfg_channels_frame), 4); - 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); - g_object_set_data_full (G_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); + w_vbox10 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (w_vbox10, "w_vbox10"); + gtk_widget_show (w_vbox10); + gtk_container_add (GTK_CONTAINER (cfg_channels_frame), w_vbox10); + gtk_container_set_border_width (GTK_CONTAINER (w_vbox10), 2); - cfg_chn_stereo = gtk_radio_button_new_with_label (channels_group, "Stereo"); - channels_group = gtk_radio_button_group (GTK_RADIO_BUTTON (cfg_chn_stereo)); + cfg_chn_mono = gtk_radio_button_new_with_mnemonic (NULL, _("Mono")); + gtk_widget_set_name (cfg_chn_mono, "cfg_chn_mono"); + gtk_widget_show (cfg_chn_mono); + gtk_box_pack_start (GTK_BOX (w_vbox10), cfg_chn_mono, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_chn_mono), cfg_chn_mono_group); + cfg_chn_mono_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_chn_mono)); + + cfg_chn_stereo = gtk_radio_button_new_with_mnemonic (NULL, _("Stereo")); gtk_widget_set_name (cfg_chn_stereo, "cfg_chn_stereo"); - gtk_widget_ref (cfg_chn_stereo); - g_object_set_data_full (G_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); + gtk_box_pack_start (GTK_BOX (w_vbox10), cfg_chn_stereo, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_chn_stereo), cfg_chn_mono_group); + cfg_chn_mono_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_chn_stereo)); - cfg_chn_autopan = gtk_radio_button_new_with_label (channels_group, "Autopanning"); - channels_group = gtk_radio_button_group (GTK_RADIO_BUTTON (cfg_chn_autopan)); + cfg_chn_autopan = gtk_radio_button_new_with_mnemonic (NULL, _("Autopanning")); gtk_widget_set_name (cfg_chn_autopan, "cfg_chn_autopan"); - gtk_widget_ref (cfg_chn_autopan); - g_object_set_data_full (G_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); + gtk_box_pack_start (GTK_BOX (w_vbox10), cfg_chn_autopan, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_chn_autopan), cfg_chn_mono_group); + cfg_chn_mono_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_chn_autopan)); - frame8 = gtk_frame_new ("Samplerate:"); - gtk_widget_set_name (frame8, "frame8"); - gtk_widget_ref (frame8); - g_object_set_data_full (G_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); + label2 = gtk_label_new (_("Channels:")); + gtk_widget_set_name (label2, "label2"); + gtk_widget_show (label2); + gtk_frame_set_label_widget (GTK_FRAME (cfg_channels_frame), label2); - hbox4 = gtk_hbox_new (FALSE, 0); - gtk_widget_set_name (hbox4, "hbox4"); - gtk_widget_ref (hbox4); - g_object_set_data_full (G_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_frame = gtk_frame_new (NULL); + gtk_widget_set_name (cfg_samplerate_frame, "cfg_samplerate_frame"); + gtk_widget_show (cfg_samplerate_frame); + gtk_box_pack_start (GTK_BOX (w_vbox6), cfg_samplerate_frame, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (cfg_samplerate_frame), 4); + + w_hbox4 = gtk_hbox_new (FALSE, 0); + gtk_widget_set_name (w_hbox4, "w_hbox4"); + gtk_widget_show (w_hbox4); + gtk_container_add (GTK_CONTAINER (cfg_samplerate_frame), w_hbox4); + gtk_container_set_border_width (GTK_CONTAINER (w_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); - g_object_set_data_full (G_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); + cfg_samplerate_combo = gtk_combo_new (); + g_object_set_data (G_OBJECT (GTK_COMBO (cfg_samplerate_combo)->popwin), + "GladeParentKey", cfg_samplerate_combo); + gtk_widget_set_name (cfg_samplerate_combo, "cfg_samplerate_combo"); + gtk_widget_show (cfg_samplerate_combo); + gtk_box_pack_start (GTK_BOX (w_hbox4), cfg_samplerate_combo, FALSE, FALSE, 0); + cfg_samplerate_combo_items = g_list_append (cfg_samplerate_combo_items, (gpointer) _("8000")); + cfg_samplerate_combo_items = g_list_append (cfg_samplerate_combo_items, (gpointer) _("11025")); + cfg_samplerate_combo_items = g_list_append (cfg_samplerate_combo_items, (gpointer) _("22050")); + cfg_samplerate_combo_items = g_list_append (cfg_samplerate_combo_items, (gpointer) _("44100")); + cfg_samplerate_combo_items = g_list_append (cfg_samplerate_combo_items, (gpointer) _("48000")); + cfg_samplerate_combo_items = g_list_append (cfg_samplerate_combo_items, (gpointer) _("64000")); + cfg_samplerate_combo_items = g_list_append (cfg_samplerate_combo_items, (gpointer) _("96000")); + cfg_samplerate_combo_items = g_list_append (cfg_samplerate_combo_items, (gpointer) ""); + gtk_combo_set_popdown_strings (GTK_COMBO (cfg_samplerate_combo), cfg_samplerate_combo_items); + g_list_free (cfg_samplerate_combo_items); - label8 = gtk_label_new ("Hz"); - gtk_widget_set_name (label8, "label8"); - gtk_widget_ref (label8); - g_object_set_data_full (G_OBJECT (xs_configwin), "label8", label8, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label8); - gtk_box_pack_start (GTK_BOX (hbox4), label8, FALSE, TRUE, 4); + cfg_samplerate = GTK_COMBO (cfg_samplerate_combo)->entry; + gtk_widget_set_name (cfg_samplerate, "cfg_samplerate"); + gtk_widget_show (cfg_samplerate); - vseparator1 = gtk_vseparator_new (); - gtk_widget_set_name (vseparator1, "vseparator1"); - gtk_widget_ref (vseparator1); - g_object_set_data_full (G_OBJECT (xs_configwin), "vseparator1", vseparator1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vseparator1); - gtk_box_pack_start (GTK_BOX (hbox4), vseparator1, TRUE, TRUE, 0); + w_label8 = gtk_label_new (_("Hz")); + gtk_widget_set_name (w_label8, "w_label8"); + gtk_widget_show (w_label8); + gtk_box_pack_start (GTK_BOX (w_hbox4), w_label8, FALSE, TRUE, 4); + gtk_label_set_justify (GTK_LABEL (w_label8), GTK_JUSTIFY_CENTER); - 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); - g_object_set_data_full (G_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); + w_label54 = gtk_label_new (""); + gtk_widget_set_name (w_label54, "w_label54"); + gtk_widget_show (w_label54); + gtk_box_pack_start (GTK_BOX (w_hbox4), w_label54, FALSE, TRUE, 0); + gtk_label_set_justify (GTK_LABEL (w_label54), GTK_JUSTIFY_CENTER); - label54 = gtk_label_new ("Hz"); - gtk_widget_set_name (label54, "label54"); - gtk_widget_ref (label54); - g_object_set_data_full (G_OBJECT (xs_configwin), "label54", label54, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label54); - gtk_box_pack_start (GTK_BOX (hbox4), label54, FALSE, TRUE, 0); + label3 = gtk_label_new (_("Samplerate:")); + gtk_widget_set_name (label3, "label3"); + gtk_widget_show (label3); + gtk_frame_set_label_widget (GTK_FRAME (cfg_samplerate_frame), label3); - cfg_oversample_grp = gtk_frame_new ("Oversampling:"); - gtk_widget_set_name (cfg_oversample_grp, "cfg_oversample_grp"); - gtk_widget_ref (cfg_oversample_grp); - g_object_set_data_full (G_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); + cfg_oversample_frame = gtk_frame_new (NULL); + gtk_widget_set_name (cfg_oversample_frame, "cfg_oversample_frame"); + gtk_widget_show (cfg_oversample_frame); + gtk_box_pack_start (GTK_BOX (w_vbox6), cfg_oversample_frame, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (cfg_oversample_frame), 4); - vbox27 = gtk_vbox_new (FALSE, 2); - gtk_widget_set_name (vbox27, "vbox27"); - gtk_widget_ref (vbox27); - g_object_set_data_full (G_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); + w_vbox27 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (w_vbox27, "w_vbox27"); + gtk_widget_show (w_vbox27); + gtk_container_add (GTK_CONTAINER (cfg_oversample_frame), w_vbox27); + gtk_container_set_border_width (GTK_CONTAINER (w_vbox27), 2); - cfg_oversample = gtk_check_button_new_with_label ("Use oversampling"); + cfg_oversample = gtk_check_button_new_with_mnemonic (_("Use oversampling")); gtk_widget_set_name (cfg_oversample, "cfg_oversample"); - gtk_widget_ref (cfg_oversample); - g_object_set_data_full (G_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); + gtk_box_pack_start (GTK_BOX (w_vbox27), cfg_oversample, FALSE, FALSE, 0); - hbox16 = gtk_hbox_new (FALSE, 4); - gtk_widget_set_name (hbox16, "hbox16"); - gtk_widget_ref (hbox16); - g_object_set_data_full (G_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_box = gtk_hbox_new (FALSE, 4); + gtk_widget_set_name (cfg_oversample_box, "cfg_oversample_box"); + gtk_widget_show (cfg_oversample_box); + gtk_box_pack_start (GTK_BOX (w_vbox27), cfg_oversample_box, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (cfg_oversample_box), 2); - cfg_oversample_label1 = gtk_label_new ("Factor:"); + cfg_oversample_label1 = gtk_label_new (_("Factor:")); gtk_widget_set_name (cfg_oversample_label1, "cfg_oversample_label1"); - gtk_widget_ref (cfg_oversample_label1); - g_object_set_data_full (G_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); + gtk_box_pack_start (GTK_BOX (cfg_oversample_box), cfg_oversample_label1, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (cfg_oversample_label1), GTK_JUSTIFY_CENTER); 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); - g_object_set_data_full (G_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); + gtk_box_pack_start (GTK_BOX (cfg_oversample_box), cfg_oversample_factor, FALSE, TRUE, 0); - cfg_oversample_label2 = gtk_label_new ("Large factors require more CPU-power"); + 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); - g_object_set_data_full (G_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); + gtk_box_pack_start (GTK_BOX (cfg_oversample_box), cfg_oversample_label2, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (cfg_oversample_label2), GTK_JUSTIFY_CENTER); + + label4 = gtk_label_new (_("Oversampling:")); + gtk_widget_set_name (label4, "label4"); + gtk_widget_show (label4); + gtk_frame_set_label_widget (GTK_FRAME (cfg_oversample_frame), label4); - label1 = gtk_label_new ("Audio"); - gtk_widget_set_name (label1, "label1"); - gtk_widget_ref (label1); - g_object_set_data_full (G_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); + w_label1 = gtk_label_new (_("Audio")); + gtk_widget_set_name (w_label1, "w_label1"); + gtk_widget_show (w_label1); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (cfg_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (cfg_notebook), 0), w_label1); + gtk_label_set_justify (GTK_LABEL (w_label1), GTK_JUSTIFY_CENTER); - vbox2 = gtk_vbox_new (FALSE, 0); - gtk_widget_set_name (vbox2, "vbox2"); - gtk_widget_ref (vbox2); - g_object_set_data_full (G_OBJECT (xs_configwin), "vbox2", vbox2, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbox2); - gtk_container_add (GTK_CONTAINER (cfg_notebook), vbox2); + w_vbox2 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (w_vbox2, "w_vbox2"); + gtk_widget_show (w_vbox2); + gtk_container_add (GTK_CONTAINER (cfg_notebook), w_vbox2); + + w_hbox1 = gtk_hbox_new (FALSE, 0); + gtk_widget_set_name (w_hbox1, "w_hbox1"); + gtk_widget_show (w_hbox1); + gtk_box_pack_start (GTK_BOX (w_vbox2), w_hbox1, TRUE, TRUE, 0); - frame26 = gtk_frame_new ("Emulation library selection: "); - gtk_widget_set_name (frame26, "frame26"); - gtk_widget_ref (frame26); - g_object_set_data_full (G_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); + cfg_clock_frame = gtk_frame_new (NULL); + gtk_widget_set_name (cfg_clock_frame, "cfg_clock_frame"); + gtk_widget_show (cfg_clock_frame); + gtk_box_pack_start (GTK_BOX (w_hbox1), cfg_clock_frame, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (cfg_clock_frame), 4); - vbox26 = gtk_vbox_new (FALSE, 2); - gtk_widget_set_name (vbox26, "vbox26"); - gtk_widget_ref (vbox26); - g_object_set_data_full (G_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); + w_vbox4 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (w_vbox4, "w_vbox4"); + gtk_widget_show (w_vbox4); + gtk_container_add (GTK_CONTAINER (cfg_clock_frame), w_vbox4); + gtk_container_set_border_width (GTK_CONTAINER (w_vbox4), 2); + + cfg_emu_clock_force = gtk_check_button_new_with_mnemonic (_("Force speed")); + gtk_widget_set_name (cfg_emu_clock_force, "cfg_emu_clock_force"); + gtk_widget_show (cfg_emu_clock_force); + gtk_box_pack_start (GTK_BOX (w_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_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); - g_object_set_data_full (G_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_clock_pal = gtk_radio_button_new_with_mnemonic (NULL, _("PAL (50 Hz)")); + gtk_widget_set_name (cfg_emu_clock_pal, "cfg_emu_clock_pal"); + gtk_widget_show (cfg_emu_clock_pal); + gtk_box_pack_start (GTK_BOX (w_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. Most of SID-tunes have been made for PAL computers."), NULL); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_emu_clock_pal), cfg_emu_clock_pal_group); + cfg_emu_clock_pal_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_emu_clock_pal)); - 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); - g_object_set_data_full (G_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); + cfg_emu_clock_ntsc = gtk_radio_button_new_with_mnemonic (NULL, _("NTSC (60 Hz)")); + gtk_widget_set_name (cfg_emu_clock_ntsc, "cfg_emu_clock_ntsc"); + gtk_widget_show (cfg_emu_clock_ntsc); + gtk_box_pack_start (GTK_BOX (w_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); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_emu_clock_ntsc), cfg_emu_clock_pal_group); + cfg_emu_clock_pal_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_emu_clock_ntsc)); - frame1 = gtk_frame_new ("Memory mode:"); - gtk_widget_set_name (frame1, "frame1"); - gtk_widget_ref (frame1); - g_object_set_data_full (G_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); + label5 = gtk_label_new (_("Clock speed:")); + gtk_widget_set_name (label5, "label5"); + gtk_widget_show (label5); + gtk_frame_set_label_widget (GTK_FRAME (cfg_clock_frame), label5); - vbox5 = gtk_vbox_new (FALSE, 2); - gtk_widget_set_name (vbox5, "vbox5"); - gtk_widget_ref (vbox5); - g_object_set_data_full (G_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_sid_model_frame = gtk_frame_new (NULL); + gtk_widget_set_name (cfg_sid_model_frame, "cfg_sid_model_frame"); + gtk_widget_show (cfg_sid_model_frame); + gtk_box_pack_start (GTK_BOX (w_hbox1), cfg_sid_model_frame, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (cfg_sid_model_frame), 4); - 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); - g_object_set_data_full (G_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); + w_vbox3 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (w_vbox3, "w_vbox3"); + gtk_widget_show (w_vbox3); + gtk_container_add (GTK_CONTAINER (cfg_sid_model_frame), w_vbox3); + gtk_container_set_border_width (GTK_CONTAINER (w_vbox3), 2); + + cfg_emu_sid_force = gtk_check_button_new_with_mnemonic (_("Force model")); + gtk_widget_set_name (cfg_emu_sid_force, "cfg_emu_sid_force"); + gtk_widget_show (cfg_emu_sid_force); + gtk_box_pack_start (GTK_BOX (w_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_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); - g_object_set_data_full (G_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_mos6581 = gtk_radio_button_new_with_mnemonic (NULL, _("MOS 6581")); + gtk_widget_set_name (cfg_emu_mos6581, "cfg_emu_mos6581"); + gtk_widget_show (cfg_emu_mos6581); + gtk_box_pack_start (GTK_BOX (w_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); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_emu_mos6581), cfg_emu_mos6581_group); + cfg_emu_mos6581_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_emu_mos6581)); - 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); - g_object_set_data_full (G_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_mos8580 = gtk_radio_button_new_with_mnemonic (NULL, _("MOS 8580")); + gtk_widget_set_name (cfg_emu_mos8580, "cfg_emu_mos8580"); + gtk_widget_show (cfg_emu_mos8580); + gtk_box_pack_start (GTK_BOX (w_vbox3), cfg_emu_mos8580, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_emu_mos8580), cfg_emu_mos6581_group); + cfg_emu_mos6581_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_emu_mos8580)); + + label6 = gtk_label_new (_("SID model:")); + gtk_widget_set_name (label6, "label6"); + gtk_widget_show (label6); + gtk_frame_set_label_widget (GTK_FRAME (cfg_sid_model_frame), label6); - 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); - g_object_set_data_full (G_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); + cfg_emulib_frame = gtk_frame_new (NULL); + gtk_widget_set_name (cfg_emulib_frame, "cfg_emulib_frame"); + gtk_widget_show (cfg_emulib_frame); + gtk_box_pack_start (GTK_BOX (w_vbox2), cfg_emulib_frame, FALSE, FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (cfg_emulib_frame), 4); - label2 = gtk_label_new ("Emu#1"); - gtk_widget_set_name (label2, "label2"); - gtk_widget_ref (label2); - g_object_set_data_full (G_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); + w_vbox26 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (w_vbox26, "w_vbox26"); + gtk_widget_show (w_vbox26); + gtk_container_add (GTK_CONTAINER (cfg_emulib_frame), w_vbox26); + gtk_container_set_border_width (GTK_CONTAINER (w_vbox26), 2); - vbox29 = gtk_vbox_new (FALSE, 0); - gtk_widget_set_name (vbox29, "vbox29"); - gtk_widget_ref (vbox29); - g_object_set_data_full (G_OBJECT (xs_configwin), "vbox29", vbox29, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbox29); - gtk_container_add (GTK_CONTAINER (cfg_notebook), vbox29); + cfg_emu_sidplay1 = gtk_radio_button_new_with_mnemonic (NULL, _("SIDPlay 1 (frame-based)")); + gtk_widget_set_name (cfg_emu_sidplay1, "cfg_emu_sidplay1"); + gtk_widget_show (cfg_emu_sidplay1); + gtk_box_pack_start (GTK_BOX (w_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); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_emu_sidplay1), cfg_emu_sidplay1_group); + cfg_emu_sidplay1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_emu_sidplay1)); - hbox1 = gtk_hbox_new (FALSE, 0); - gtk_widget_set_name (hbox1, "hbox1"); - gtk_widget_ref (hbox1); - g_object_set_data_full (G_OBJECT (xs_configwin), "hbox1", hbox1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (hbox1); - gtk_box_pack_start (GTK_BOX (vbox29), hbox1, FALSE, TRUE, 0); + cfg_emu_sidplay2 = gtk_radio_button_new_with_mnemonic (NULL, _("SIDPlay 2 (cycle-based)")); + gtk_widget_set_name (cfg_emu_sidplay2, "cfg_emu_sidplay2"); + gtk_widget_show (cfg_emu_sidplay2); + gtk_box_pack_start (GTK_BOX (w_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); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_emu_sidplay2), cfg_emu_sidplay1_group); + cfg_emu_sidplay1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_emu_sidplay2)); - frame2 = gtk_frame_new ("Clock speed:"); - gtk_widget_set_name (frame2, "frame2"); - gtk_widget_ref (frame2); - g_object_set_data_full (G_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); + label7 = gtk_label_new (_("Emulation library selection:")); + gtk_widget_set_name (label7, "label7"); + gtk_widget_show (label7); + gtk_frame_set_label_widget (GTK_FRAME (cfg_emulib_frame), label7); + + cfg_memmode_frame = gtk_frame_new (NULL); + gtk_widget_set_name (cfg_memmode_frame, "cfg_memmode_frame"); + gtk_widget_show (cfg_memmode_frame); + gtk_box_pack_start (GTK_BOX (w_vbox2), cfg_memmode_frame, FALSE, FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (cfg_memmode_frame), 4); - vbox4 = gtk_vbox_new (FALSE, 2); - gtk_widget_set_name (vbox4, "vbox4"); - gtk_widget_ref (vbox4); - g_object_set_data_full (G_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); + w_vbox5 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (w_vbox5, "w_vbox5"); + gtk_widget_show (w_vbox5); + gtk_container_add (GTK_CONTAINER (cfg_memmode_frame), w_vbox5); + gtk_container_set_border_width (GTK_CONTAINER (w_vbox5), 2); + + cfg_emu_mem_real = gtk_radio_button_new_with_mnemonic (NULL, _("Real C64 (SIDPlay 2 only)")); + gtk_widget_set_name (cfg_emu_mem_real, "cfg_emu_mem_real"); + gtk_widget_show (cfg_emu_mem_real); + gtk_box_pack_start (GTK_BOX (w_vbox5), cfg_emu_mem_real, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_emu_mem_real), cfg_emu_mem_real_group); + cfg_emu_mem_real_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_emu_mem_real)); - 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); - g_object_set_data_full (G_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_mem_banksw = gtk_radio_button_new_with_mnemonic (NULL, _("Bank switching")); + gtk_widget_set_name (cfg_emu_mem_banksw, "cfg_emu_mem_banksw"); + gtk_widget_show (cfg_emu_mem_banksw); + gtk_box_pack_start (GTK_BOX (w_vbox5), cfg_emu_mem_banksw, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_emu_mem_banksw), cfg_emu_mem_real_group); + cfg_emu_mem_real_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_emu_mem_banksw)); - 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); - g_object_set_data_full (G_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_mem_transrom = gtk_radio_button_new_with_mnemonic (NULL, _("Transparent ROM")); + gtk_widget_set_name (cfg_emu_mem_transrom, "cfg_emu_mem_transrom"); + gtk_widget_show (cfg_emu_mem_transrom); + gtk_box_pack_start (GTK_BOX (w_vbox5), cfg_emu_mem_transrom, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_emu_mem_transrom), cfg_emu_mem_real_group); + cfg_emu_mem_real_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_emu_mem_transrom)); + + cfg_emu_mem_playsid = gtk_radio_button_new_with_mnemonic (NULL, _("PlaySID environment")); + gtk_widget_set_name (cfg_emu_mem_playsid, "cfg_emu_mem_playsid"); + gtk_widget_show (cfg_emu_mem_playsid); + gtk_box_pack_start (GTK_BOX (w_vbox5), cfg_emu_mem_playsid, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_emu_mem_playsid), cfg_emu_mem_real_group); + cfg_emu_mem_real_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_emu_mem_playsid)); - 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); - g_object_set_data_full (G_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); + label8 = gtk_label_new (_("Memory mode:")); + gtk_widget_set_name (label8, "label8"); + gtk_widget_show (label8); + gtk_frame_set_label_widget (GTK_FRAME (cfg_memmode_frame), label8); - frame3 = gtk_frame_new ("SID model: "); - gtk_widget_set_name (frame3, "frame3"); - gtk_widget_ref (frame3); - g_object_set_data_full (G_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); + w_label2 = gtk_label_new (_("Emu#1")); + gtk_widget_set_name (w_label2, "w_label2"); + gtk_widget_show (w_label2); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (cfg_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (cfg_notebook), 1), w_label2); + gtk_label_set_justify (GTK_LABEL (w_label2), GTK_JUSTIFY_CENTER); + + w_vbox29 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (w_vbox29, "w_vbox29"); + gtk_widget_show (w_vbox29); + gtk_container_add (GTK_CONTAINER (cfg_notebook), w_vbox29); - vbox3 = gtk_vbox_new (FALSE, 2); - gtk_widget_set_name (vbox3, "vbox3"); - gtk_widget_ref (vbox3); - g_object_set_data_full (G_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_sidplay2_frame = gtk_frame_new (NULL); + gtk_widget_set_name (cfg_sidplay2_frame, "cfg_sidplay2_frame"); + gtk_widget_show (cfg_sidplay2_frame); + gtk_box_pack_start (GTK_BOX (w_vbox29), cfg_sidplay2_frame, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (cfg_sidplay2_frame), 4); + + w_vbox30 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (w_vbox30, "w_vbox30"); + gtk_widget_show (w_vbox30); + gtk_container_add (GTK_CONTAINER (cfg_sidplay2_frame), w_vbox30); + gtk_container_set_border_width (GTK_CONTAINER (w_vbox30), 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); - g_object_set_data_full (G_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_sp2_opt = gtk_check_button_new_with_mnemonic (_("Optimization mode (faster, inaccurate)")); + gtk_widget_set_name (cfg_emu_sp2_opt, "cfg_emu_sp2_opt"); + gtk_widget_show (cfg_emu_sp2_opt); + gtk_box_pack_start (GTK_BOX (w_vbox30), cfg_emu_sp2_opt, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_emu_sp2_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_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); - g_object_set_data_full (G_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_sp2_resid = gtk_radio_button_new_with_mnemonic (NULL, _("reSID-emulation")); + gtk_widget_set_name (cfg_emu_sp2_resid, "cfg_emu_sp2_resid"); + gtk_widget_show (cfg_emu_sp2_resid); + gtk_box_pack_start (GTK_BOX (w_vbox30), cfg_emu_sp2_resid, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_emu_sp2_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); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_emu_sp2_resid), cfg_emu_sp2_resid_group); + cfg_emu_sp2_resid_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_emu_sp2_resid)); - 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); - g_object_set_data_full (G_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_emu_sp2_hardsid = gtk_radio_button_new_with_mnemonic (NULL, _("HardSID")); + gtk_widget_set_name (cfg_emu_sp2_hardsid, "cfg_emu_sp2_hardsid"); + gtk_widget_show (cfg_emu_sp2_hardsid); + gtk_box_pack_start (GTK_BOX (w_vbox30), cfg_emu_sp2_hardsid, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_emu_sp2_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); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_emu_sp2_hardsid), cfg_emu_sp2_resid_group); + cfg_emu_sp2_resid_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_emu_sp2_hardsid)); - 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); - g_object_set_data_full (G_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); + label9 = gtk_label_new (_("SIDPlay 2 options:")); + gtk_widget_set_name (label9, "label9"); + gtk_widget_show (label9); + gtk_frame_set_label_widget (GTK_FRAME (cfg_sidplay2_frame), label9); - vbox30 = gtk_vbox_new (FALSE, 2); - gtk_widget_set_name (vbox30, "vbox30"); - gtk_widget_ref (vbox30); - g_object_set_data_full (G_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_resid_frame = gtk_frame_new (NULL); + gtk_widget_set_name (cfg_resid_frame, "cfg_resid_frame"); + gtk_widget_show (cfg_resid_frame); + gtk_box_pack_start (GTK_BOX (w_vbox29), cfg_resid_frame, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (cfg_resid_frame), 4); - 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); - g_object_set_data_full (G_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); + w_vbox37 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (w_vbox37, "w_vbox37"); + gtk_widget_show (w_vbox37); + gtk_container_add (GTK_CONTAINER (cfg_resid_frame), w_vbox37); + gtk_container_set_border_width (GTK_CONTAINER (w_vbox37), 2); + + cfg_emu_resid_fast = gtk_radio_button_new_with_mnemonic (NULL, _("Fast (nearest neighbour)")); + gtk_widget_set_name (cfg_emu_resid_fast, "cfg_emu_resid_fast"); + gtk_widget_show (cfg_emu_resid_fast); + gtk_box_pack_start (GTK_BOX (w_vbox37), cfg_emu_resid_fast, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_emu_resid_fast, _("Fastest and also worst sounding sampling method, simply picks nearest neighbouring sample."), NULL); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_emu_resid_fast), cfg_emu_resid_fast_group); + cfg_emu_resid_fast_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_emu_resid_fast)); - 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); - g_object_set_data_full (G_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_resid_int = gtk_radio_button_new_with_mnemonic (NULL, _("Linear interpolation")); + gtk_widget_set_name (cfg_emu_resid_int, "cfg_emu_resid_int"); + gtk_widget_show (cfg_emu_resid_int); + gtk_box_pack_start (GTK_BOX (w_vbox37), cfg_emu_resid_int, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_emu_resid_int, _("Uses linear interpolation between samples, yielding higher audio quality with less sampling noise."), NULL); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_emu_resid_int), cfg_emu_resid_fast_group); + cfg_emu_resid_fast_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_emu_resid_int)); - 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); - g_object_set_data_full (G_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); + cfg_emu_resid_res_fast = gtk_radio_button_new_with_mnemonic (NULL, _("Resampling")); + gtk_widget_set_name (cfg_emu_resid_res_fast, "cfg_emu_resid_res_fast"); + gtk_widget_show (cfg_emu_resid_res_fast); + gtk_box_pack_start (GTK_BOX (w_vbox37), cfg_emu_resid_res_fast, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_emu_resid_res_fast), cfg_emu_resid_fast_group); + cfg_emu_resid_fast_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_emu_resid_res_fast)); + + cfg_emu_resid_res_int = gtk_radio_button_new_with_mnemonic (NULL, _("Resampling (FIR)")); + gtk_widget_set_name (cfg_emu_resid_res_int, "cfg_emu_resid_res_int"); + gtk_widget_show (cfg_emu_resid_res_int); + gtk_box_pack_start (GTK_BOX (w_vbox37), cfg_emu_resid_res_int, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_emu_resid_res_int), cfg_emu_resid_fast_group); + cfg_emu_resid_fast_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_emu_resid_res_int)); - label48 = gtk_label_new ("Emu#2"); - gtk_widget_set_name (label48, "label48"); - gtk_widget_ref (label48); - g_object_set_data_full (G_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); + label10 = gtk_label_new (_("reSID sampling options:")); + gtk_widget_set_name (label10, "label10"); + gtk_widget_show (label10); + gtk_frame_set_label_widget (GTK_FRAME (cfg_resid_frame), label10); + + w_label48 = gtk_label_new (_("Emu#2")); + gtk_widget_set_name (w_label48, "w_label48"); + gtk_widget_show (w_label48); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (cfg_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (cfg_notebook), 2), w_label48); + gtk_label_set_justify (GTK_LABEL (w_label48), GTK_JUSTIFY_CENTER); - vbox25 = gtk_vbox_new (FALSE, 2); - gtk_widget_set_name (vbox25, "vbox25"); - gtk_widget_ref (vbox25); - g_object_set_data_full (G_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); + w_vbox25 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (w_vbox25, "w_vbox25"); + gtk_widget_show (w_vbox25); + gtk_container_add (GTK_CONTAINER (cfg_notebook), w_vbox25); + gtk_container_set_border_width (GTK_CONTAINER (w_vbox25), 4); - cfg_emu_filters = gtk_check_button_new_with_label ("Emulate filters"); + cfg_emu_filters = gtk_check_button_new_with_mnemonic (_("Emulate filters")); gtk_widget_set_name (cfg_emu_filters, "cfg_emu_filters"); - gtk_widget_ref (cfg_emu_filters); - g_object_set_data_full (G_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); + gtk_box_pack_start (GTK_BOX (w_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); - g_object_set_data_full (G_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); + gtk_box_pack_start (GTK_BOX (w_vbox25), cfg_filters_notebook, TRUE, TRUE, 0); + + cfg_box_filter_sidplay1 = gtk_hbox_new (FALSE, 0); + gtk_widget_set_name (cfg_box_filter_sidplay1, "cfg_box_filter_sidplay1"); + gtk_widget_show (cfg_box_filter_sidplay1); + gtk_container_add (GTK_CONTAINER (cfg_filters_notebook), cfg_box_filter_sidplay1); + gtk_container_set_border_width (GTK_CONTAINER (cfg_box_filter_sidplay1), 4); - cfg_box_sidplay1 = gtk_hbox_new (FALSE, 0); - gtk_widget_set_name (cfg_box_sidplay1, "cfg_box_sidplay1"); - gtk_widget_ref (cfg_box_sidplay1); - g_object_set_data_full (G_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_sp1_frm_fs = gtk_frame_new (NULL); + gtk_widget_set_name (cfg_sp1_frm_fs, "cfg_sp1_frm_fs"); + gtk_widget_show (cfg_sp1_frm_fs); + gtk_box_pack_start (GTK_BOX (cfg_box_filter_sidplay1), cfg_sp1_frm_fs, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (cfg_sp1_frm_fs), 2); + + cfg_sp1_filter_fs = gtk_vscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 1000, 1, 100, 0))); + gtk_widget_set_name (cfg_sp1_filter_fs, "cfg_sp1_filter_fs"); + gtk_widget_show (cfg_sp1_filter_fs); + gtk_container_add (GTK_CONTAINER (cfg_sp1_frm_fs), cfg_sp1_filter_fs); + gtk_scale_set_digits (GTK_SCALE (cfg_sp1_filter_fs), 2); - cfg_frm_fs = gtk_frame_new ("FS"); - gtk_widget_set_name (cfg_frm_fs, "cfg_frm_fs"); - gtk_widget_ref (cfg_frm_fs); - g_object_set_data_full (G_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); + label11 = gtk_label_new (_("FS")); + gtk_widget_set_name (label11, "label11"); + gtk_widget_show (label11); + gtk_frame_set_label_widget (GTK_FRAME (cfg_sp1_frm_fs), label11); + + cfg_sp1_frm_fm = gtk_frame_new (NULL); + gtk_widget_set_name (cfg_sp1_frm_fm, "cfg_sp1_frm_fm"); + gtk_widget_show (cfg_sp1_frm_fm); + gtk_box_pack_start (GTK_BOX (cfg_box_filter_sidplay1), cfg_sp1_frm_fm, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (cfg_sp1_frm_fm), 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); - g_object_set_data_full (G_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_sp1_filter_fm = gtk_vscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 100, 1, 10, 0))); + gtk_widget_set_name (cfg_sp1_filter_fm, "cfg_sp1_filter_fm"); + gtk_widget_show (cfg_sp1_filter_fm); + gtk_container_add (GTK_CONTAINER (cfg_sp1_frm_fm), cfg_sp1_filter_fm); + gtk_scale_set_digits (GTK_SCALE (cfg_sp1_filter_fm), 2); - cfg_frm_fm = gtk_frame_new ("FM"); - gtk_widget_set_name (cfg_frm_fm, "cfg_frm_fm"); - gtk_widget_ref (cfg_frm_fm); - g_object_set_data_full (G_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); + label12 = gtk_label_new (_("FM")); + gtk_widget_set_name (label12, "label12"); + gtk_widget_show (label12); + gtk_frame_set_label_widget (GTK_FRAME (cfg_sp1_frm_fm), label12); - 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); - g_object_set_data_full (G_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_sp1_frm_ft = gtk_frame_new (NULL); + gtk_widget_set_name (cfg_sp1_frm_ft, "cfg_sp1_frm_ft"); + gtk_widget_show (cfg_sp1_frm_ft); + gtk_box_pack_start (GTK_BOX (cfg_box_filter_sidplay1), cfg_sp1_frm_ft, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (cfg_sp1_frm_ft), 2); - cfg_frm_ft = gtk_frame_new ("FT"); - gtk_widget_set_name (cfg_frm_ft, "cfg_frm_ft"); - gtk_widget_ref (cfg_frm_ft); - g_object_set_data_full (G_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_sp1_filter_ft = gtk_vscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 1, 0.01, 0.1, 0))); + gtk_widget_set_name (cfg_sp1_filter_ft, "cfg_sp1_filter_ft"); + gtk_widget_show (cfg_sp1_filter_ft); + gtk_container_add (GTK_CONTAINER (cfg_sp1_frm_ft), cfg_sp1_filter_ft); + gtk_scale_set_digits (GTK_SCALE (cfg_sp1_filter_ft), 2); + + label13 = gtk_label_new (_("FT")); + gtk_widget_set_name (label13, "label13"); + gtk_widget_show (label13); + gtk_frame_set_label_widget (GTK_FRAME (cfg_sp1_frm_ft), label13); - 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); - g_object_set_data_full (G_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); + w_vbox17 = gtk_vbox_new (FALSE, 8); + gtk_widget_set_name (w_vbox17, "w_vbox17"); + gtk_widget_show (w_vbox17); + gtk_box_pack_start (GTK_BOX (cfg_box_filter_sidplay1), w_vbox17, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (w_vbox17), 4); + + cfg_sp1_filter_reset = gtk_button_new_with_mnemonic (_("Reset values")); + gtk_widget_set_name (cfg_sp1_filter_reset, "cfg_sp1_filter_reset"); + gtk_widget_show (cfg_sp1_filter_reset); + gtk_box_pack_start (GTK_BOX (w_vbox17), cfg_sp1_filter_reset, FALSE, FALSE, 0); - vbox17 = gtk_vbox_new (FALSE, 8); - gtk_widget_set_name (vbox17, "vbox17"); - gtk_widget_ref (vbox17); - g_object_set_data_full (G_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); + w_label55 = gtk_label_new (_("SIDPlay1")); + gtk_widget_set_name (w_label55, "w_label55"); + gtk_widget_show (w_label55); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (cfg_filters_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (cfg_filters_notebook), 0), w_label55); + gtk_label_set_justify (GTK_LABEL (w_label55), GTK_JUSTIFY_CENTER); - 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); - g_object_set_data_full (G_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_box_filter_sidplay2 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (cfg_box_filter_sidplay2, "cfg_box_filter_sidplay2"); + gtk_widget_show (cfg_box_filter_sidplay2); + gtk_container_add (GTK_CONTAINER (cfg_filters_notebook), cfg_box_filter_sidplay2); - 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); - g_object_set_data_full (G_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); + cfg_sp_filter_controlbox = gtk_hbox_new (FALSE, 0); + gtk_widget_set_name (cfg_sp_filter_controlbox, "cfg_sp_filter_controlbox"); + gtk_widget_show (cfg_sp_filter_controlbox); + gtk_box_pack_start (GTK_BOX (cfg_box_filter_sidplay2), cfg_sp_filter_controlbox, FALSE, FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (cfg_sp_filter_controlbox), 2); - label55 = gtk_label_new ("SIDPlay1"); - gtk_widget_set_name (label55, "label55"); - gtk_widget_ref (label55); - g_object_set_data_full (G_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_sp2_filter_combo = gtk_combo_new (); + g_object_set_data (G_OBJECT (GTK_COMBO (cfg_sp2_filter_combo)->popwin), + "GladeParentKey", cfg_sp2_filter_combo); + gtk_widget_set_name (cfg_sp2_filter_combo, "cfg_sp2_filter_combo"); + gtk_widget_show (cfg_sp2_filter_combo); + gtk_box_pack_start (GTK_BOX (cfg_sp_filter_controlbox), cfg_sp2_filter_combo, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (cfg_sp2_filter_combo), 2); + cfg_sp2_filter_combo_items = g_list_append (cfg_sp2_filter_combo_items, (gpointer) _("6581 (reSID)")); + cfg_sp2_filter_combo_items = g_list_append (cfg_sp2_filter_combo_items, (gpointer) _("8580 (reSID)")); + cfg_sp2_filter_combo_items = g_list_append (cfg_sp2_filter_combo_items, (gpointer) _("6581R1 (alankila)")); + cfg_sp2_filter_combo_items = g_list_append (cfg_sp2_filter_combo_items, (gpointer) _("6581R4 (alankila)")); + cfg_sp2_filter_combo_items = g_list_append (cfg_sp2_filter_combo_items, (gpointer) ""); + gtk_combo_set_popdown_strings (GTK_COMBO (cfg_sp2_filter_combo), cfg_sp2_filter_combo_items); + g_list_free (cfg_sp2_filter_combo_items); - cfg_box_sidplay2 = gtk_hbox_new (FALSE, 0); - gtk_widget_set_name (cfg_box_sidplay2, "cfg_box_sidplay2"); - gtk_widget_ref (cfg_box_sidplay2); - g_object_set_data_full (G_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); + cfg_sp2_filter_combo_entry = GTK_COMBO (cfg_sp2_filter_combo)->entry; + gtk_widget_set_name (cfg_sp2_filter_combo_entry, "cfg_sp2_filter_combo_entry"); + gtk_widget_show (cfg_sp2_filter_combo_entry); - vbox36 = gtk_vbox_new (FALSE, 8); - gtk_widget_set_name (vbox36, "vbox36"); - gtk_widget_ref (vbox36); - g_object_set_data_full (G_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); + table3 = gtk_table_new (2, 2, TRUE); + gtk_widget_set_name (table3, "table3"); + gtk_widget_show (table3); + gtk_box_pack_start (GTK_BOX (cfg_sp_filter_controlbox), table3, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (table3), 2); + gtk_table_set_row_spacings (GTK_TABLE (table3), 4); + gtk_table_set_col_spacings (GTK_TABLE (table3), 4); + + cfg_sp2_filter_load = gtk_button_new_with_mnemonic (_("Load")); + gtk_widget_set_name (cfg_sp2_filter_load, "cfg_sp2_filter_load"); + gtk_widget_show (cfg_sp2_filter_load); + gtk_table_attach (GTK_TABLE (table3), cfg_sp2_filter_load, 0, 1, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + GTK_WIDGET_SET_FLAGS (cfg_sp2_filter_load, GTK_CAN_DEFAULT); - 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); - g_object_set_data_full (G_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_sp2_filter_save = gtk_button_new_with_mnemonic (_("Save")); + gtk_widget_set_name (cfg_sp2_filter_save, "cfg_sp2_filter_save"); + gtk_widget_show (cfg_sp2_filter_save); + gtk_table_attach (GTK_TABLE (table3), cfg_sp2_filter_save, 1, 2, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + GTK_WIDGET_SET_FLAGS (cfg_sp2_filter_save, GTK_CAN_DEFAULT); - 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); - g_object_set_data_full (G_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); - g_object_set_data_full (G_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); + cfg_sp2_filter_import = gtk_button_new_with_mnemonic (_("Import")); + gtk_widget_set_name (cfg_sp2_filter_import, "cfg_sp2_filter_import"); + gtk_widget_show (cfg_sp2_filter_import); + gtk_table_attach (GTK_TABLE (table3), cfg_sp2_filter_import, 0, 1, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + GTK_WIDGET_SET_FLAGS (cfg_sp2_filter_import, GTK_CAN_DEFAULT); - label24 = gtk_label_new ("Filters"); - gtk_widget_set_name (label24, "label24"); - gtk_widget_ref (label24); - g_object_set_data_full (G_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); + cfg_sp2_filter_export = gtk_button_new_with_mnemonic (_("Export")); + gtk_widget_set_name (cfg_sp2_filter_export, "cfg_sp2_filter_export"); + gtk_widget_show (cfg_sp2_filter_export); + gtk_table_attach (GTK_TABLE (table3), cfg_sp2_filter_export, 1, 2, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + GTK_WIDGET_SET_FLAGS (cfg_sp2_filter_export, GTK_CAN_DEFAULT); + + cfg_sp2_filter_frame = gtk_frame_new (NULL); + gtk_widget_set_name (cfg_sp2_filter_frame, "cfg_sp2_filter_frame"); + gtk_widget_show (cfg_sp2_filter_frame); + gtk_box_pack_start (GTK_BOX (cfg_box_filter_sidplay2), cfg_sp2_filter_frame, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (cfg_sp2_filter_frame), 2); - vbox20 = gtk_vbox_new (FALSE, 0); - gtk_widget_set_name (vbox20, "vbox20"); - gtk_widget_ref (vbox20); - g_object_set_data_full (G_OBJECT (xs_configwin), "vbox20", vbox20, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbox20); - gtk_container_add (GTK_CONTAINER (cfg_notebook), vbox20); + label14 = gtk_label_new (_("Filter curve:")); + gtk_widget_set_name (label14, "label14"); + gtk_widget_show (label14); + gtk_frame_set_label_widget (GTK_FRAME (cfg_sp2_filter_frame), label14); - frame29 = gtk_frame_new ("Minimum playtime: "); - gtk_widget_set_name (frame29, "frame29"); - gtk_widget_ref (frame29); - g_object_set_data_full (G_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); + w_label56 = gtk_label_new (_("SIDPlay2")); + gtk_widget_set_name (w_label56, "w_label56"); + gtk_widget_show (w_label56); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (cfg_filters_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (cfg_filters_notebook), 1), w_label56); + gtk_label_set_justify (GTK_LABEL (w_label56), GTK_JUSTIFY_CENTER); + + w_label24 = gtk_label_new (_("Filters")); + gtk_widget_set_name (w_label24, "w_label24"); + gtk_widget_show (w_label24); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (cfg_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (cfg_notebook), 3), w_label24); + gtk_label_set_justify (GTK_LABEL (w_label24), GTK_JUSTIFY_CENTER); - vbox32 = gtk_vbox_new (FALSE, 2); - gtk_widget_set_name (vbox32, "vbox32"); - gtk_widget_ref (vbox32); - g_object_set_data_full (G_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); + w_vbox20 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (w_vbox20, "w_vbox20"); + gtk_widget_show (w_vbox20); + gtk_container_add (GTK_CONTAINER (cfg_notebook), w_vbox20); - cfg_mintime_enable = gtk_check_button_new_with_label ("Play at least for specified time"); + w_frame29 = gtk_frame_new (NULL); + gtk_widget_set_name (w_frame29, "w_frame29"); + gtk_widget_show (w_frame29); + gtk_box_pack_start (GTK_BOX (w_vbox20), w_frame29, FALSE, FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (w_frame29), 4); + + w_vbox32 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (w_vbox32, "w_vbox32"); + gtk_widget_show (w_vbox32); + gtk_container_add (GTK_CONTAINER (w_frame29), w_vbox32); + gtk_container_set_border_width (GTK_CONTAINER (w_vbox32), 2); + + cfg_mintime_enable = gtk_check_button_new_with_mnemonic (_("Play at least for specified time")); gtk_widget_set_name (cfg_mintime_enable, "cfg_mintime_enable"); - gtk_widget_ref (cfg_mintime_enable); - g_object_set_data_full (G_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); + gtk_box_pack_start (GTK_BOX (w_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); - g_object_set_data_full (G_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_box = gtk_hbox_new (FALSE, 2); + gtk_widget_set_name (cfg_mintime_box, "cfg_mintime_box"); + gtk_widget_show (cfg_mintime_box); + gtk_box_pack_start (GTK_BOX (w_vbox32), cfg_mintime_box, FALSE, TRUE, 2); - cfg_mintime_label1 = gtk_label_new ("Playtime: "); + cfg_mintime_label1 = gtk_label_new (_("Playtime:")); gtk_widget_set_name (cfg_mintime_label1, "cfg_mintime_label1"); - gtk_widget_ref (cfg_mintime_label1); - g_object_set_data_full (G_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_box_pack_start (GTK_BOX (cfg_mintime_box), cfg_mintime_label1, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (cfg_mintime_label1), GTK_JUSTIFY_CENTER); 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); - g_object_set_data_full (G_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); + gtk_box_pack_start (GTK_BOX (cfg_mintime_box), cfg_mintime, FALSE, TRUE, 0); - cfg_mintime_label2 = gtk_label_new ("seconds"); + cfg_mintime_label2 = gtk_label_new (_("seconds")); gtk_widget_set_name (cfg_mintime_label2, "cfg_mintime_label2"); - gtk_widget_ref (cfg_mintime_label2); - g_object_set_data_full (G_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_box_pack_start (GTK_BOX (cfg_mintime_box), cfg_mintime_label2, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (cfg_mintime_label2), GTK_JUSTIFY_CENTER); 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); - g_object_set_data_full (G_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); + label15 = gtk_label_new (_("Minimum playtime:")); + gtk_widget_set_name (label15, "label15"); + gtk_widget_show (label15); + gtk_frame_set_label_widget (GTK_FRAME (w_frame29), label15); - vbox21 = gtk_vbox_new (FALSE, 2); - gtk_widget_set_name (vbox21, "vbox21"); - gtk_widget_ref (vbox21); - g_object_set_data_full (G_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); + w_frame21 = gtk_frame_new (NULL); + gtk_widget_set_name (w_frame21, "w_frame21"); + gtk_widget_show (w_frame21); + gtk_box_pack_start (GTK_BOX (w_vbox20), w_frame21, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (w_frame21), 4); - cfg_maxtime_enable = gtk_check_button_new_with_label ("Play for specified time maximum"); + w_vbox21 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (w_vbox21, "w_vbox21"); + gtk_widget_show (w_vbox21); + gtk_container_add (GTK_CONTAINER (w_frame21), w_vbox21); + gtk_container_set_border_width (GTK_CONTAINER (w_vbox21), 2); + + cfg_maxtime_enable = gtk_check_button_new_with_mnemonic (_("Play for specified time maximum")); gtk_widget_set_name (cfg_maxtime_enable, "cfg_maxtime_enable"); - gtk_widget_ref (cfg_maxtime_enable); - g_object_set_data_full (G_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); + gtk_box_pack_start (GTK_BOX (w_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"); + cfg_maxtime_unknown = gtk_check_button_new_with_mnemonic (_("Only when song length is unknown")); gtk_widget_set_name (cfg_maxtime_unknown, "cfg_maxtime_unknown"); - gtk_widget_ref (cfg_maxtime_unknown); - g_object_set_data_full (G_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); + gtk_box_pack_start (GTK_BOX (w_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); - g_object_set_data_full (G_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_box = gtk_hbox_new (FALSE, 2); + gtk_widget_set_name (cfg_maxtime_box, "cfg_maxtime_box"); + gtk_widget_show (cfg_maxtime_box); + gtk_box_pack_start (GTK_BOX (w_vbox21), cfg_maxtime_box, FALSE, TRUE, 2); - cfg_maxtime_label1 = gtk_label_new ("Playtime: "); + cfg_maxtime_label1 = gtk_label_new (_("Playtime:")); gtk_widget_set_name (cfg_maxtime_label1, "cfg_maxtime_label1"); - gtk_widget_ref (cfg_maxtime_label1); - g_object_set_data_full (G_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_box_pack_start (GTK_BOX (cfg_maxtime_box), cfg_maxtime_label1, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (cfg_maxtime_label1), GTK_JUSTIFY_CENTER); 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); - g_object_set_data_full (G_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); + gtk_box_pack_start (GTK_BOX (cfg_maxtime_box), cfg_maxtime, FALSE, TRUE, 0); - cfg_maxtime_label2 = gtk_label_new ("seconds"); + cfg_maxtime_label2 = gtk_label_new (_("seconds")); gtk_widget_set_name (cfg_maxtime_label2, "cfg_maxtime_label2"); - gtk_widget_ref (cfg_maxtime_label2); - g_object_set_data_full (G_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_box_pack_start (GTK_BOX (cfg_maxtime_box), cfg_maxtime_label2, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (cfg_maxtime_label2), GTK_JUSTIFY_CENTER); 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); - g_object_set_data_full (G_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); + label16 = gtk_label_new (_("Maximum playtime:")); + gtk_widget_set_name (label16, "label16"); + gtk_widget_show (label16); + gtk_frame_set_label_widget (GTK_FRAME (w_frame21), label16); - vbox18 = gtk_vbox_new (FALSE, 2); - gtk_widget_set_name (vbox18, "vbox18"); - gtk_widget_ref (vbox18); - g_object_set_data_full (G_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); + w_frame18 = gtk_frame_new (NULL); + gtk_widget_set_name (w_frame18, "w_frame18"); + gtk_widget_show (w_frame18); + gtk_box_pack_start (GTK_BOX (w_vbox20), w_frame18, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (w_frame18), 4); - cfg_sld_enable = gtk_check_button_new_with_label ("Use XSIDPLAY-compatible database"); + w_vbox18 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (w_vbox18, "w_vbox18"); + gtk_widget_show (w_vbox18); + gtk_container_add (GTK_CONTAINER (w_frame18), w_vbox18); + gtk_container_set_border_width (GTK_CONTAINER (w_vbox18), 2); + + cfg_sld_enable = gtk_check_button_new_with_mnemonic (_("Use XSIDPLAY-compatible database")); gtk_widget_set_name (cfg_sld_enable, "cfg_sld_enable"); - gtk_widget_ref (cfg_sld_enable); - g_object_set_data_full (G_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); + gtk_box_pack_start (GTK_BOX (w_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 Audacious-SID documentation for more information)"), NULL); - hbox13 = gtk_hbox_new (FALSE, 4); - gtk_widget_set_name (hbox13, "hbox13"); - gtk_widget_ref (hbox13); - g_object_set_data_full (G_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_box = gtk_hbox_new (FALSE, 4); + gtk_widget_set_name (cfg_sld_box, "cfg_sld_box"); + gtk_widget_show (cfg_sld_box); + gtk_box_pack_start (GTK_BOX (w_vbox18), cfg_sld_box, FALSE, TRUE, 0); - cfg_sld_label1 = gtk_label_new ("DB-file: "); + cfg_sld_label1 = gtk_label_new (_("DB-file:")); gtk_widget_set_name (cfg_sld_label1, "cfg_sld_label1"); - gtk_widget_ref (cfg_sld_label1); - g_object_set_data_full (G_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); + gtk_box_pack_start (GTK_BOX (cfg_sld_box), cfg_sld_label1, FALSE, TRUE, 0); + gtk_label_set_justify (GTK_LABEL (cfg_sld_label1), GTK_JUSTIFY_CENTER); cfg_sld_dbpath = gtk_entry_new (); gtk_widget_set_name (cfg_sld_dbpath, "cfg_sld_dbpath"); - gtk_widget_ref (cfg_sld_dbpath); - g_object_set_data_full (G_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); + gtk_box_pack_start (GTK_BOX (cfg_sld_box), 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"); + cfg_sld_dbbrowse = gtk_button_new_with_mnemonic (_("Browse")); gtk_widget_set_name (cfg_sld_dbbrowse, "cfg_sld_dbbrowse"); - gtk_widget_ref (cfg_sld_dbbrowse); - g_object_set_data_full (G_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); + gtk_box_pack_start (GTK_BOX (cfg_sld_box), 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); - g_object_set_data_full (G_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); + label17 = gtk_label_new (_("Song length database:")); + gtk_widget_set_name (label17, "label17"); + gtk_widget_show (label17); + gtk_frame_set_label_widget (GTK_FRAME (w_frame18), label17); - vbox33 = gtk_vbox_new (FALSE, 0); - gtk_widget_set_name (vbox33, "vbox33"); - gtk_widget_ref (vbox33); - g_object_set_data_full (G_OBJECT (xs_configwin), "vbox33", vbox33, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbox33); - gtk_container_add (GTK_CONTAINER (cfg_notebook), vbox33); + w_label26 = gtk_label_new (_("Songlength")); + gtk_widget_set_name (w_label26, "w_label26"); + gtk_widget_show (w_label26); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (cfg_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (cfg_notebook), 4), w_label26); + gtk_label_set_justify (GTK_LABEL (w_label26), GTK_JUSTIFY_CENTER); + + w_vbox33 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (w_vbox33, "w_vbox33"); + gtk_widget_show (w_vbox33); + gtk_container_add (GTK_CONTAINER (cfg_notebook), w_vbox33); - frame7 = gtk_frame_new ("SID Tune Information List (STIL) database: "); - gtk_widget_set_name (frame7, "frame7"); - gtk_widget_ref (frame7); - g_object_set_data_full (G_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); + w_frame7 = gtk_frame_new (NULL); + gtk_widget_set_name (w_frame7, "w_frame7"); + gtk_widget_show (w_frame7); + gtk_box_pack_start (GTK_BOX (w_vbox33), w_frame7, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (w_frame7), 4); - vbox8 = gtk_vbox_new (FALSE, 2); - gtk_widget_set_name (vbox8, "vbox8"); - gtk_widget_ref (vbox8); - g_object_set_data_full (G_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); + w_vbox8 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (w_vbox8, "w_vbox8"); + gtk_widget_show (w_vbox8); + gtk_container_add (GTK_CONTAINER (w_frame7), w_vbox8); + gtk_container_set_border_width (GTK_CONTAINER (w_vbox8), 2); - cfg_stil_enable = gtk_check_button_new_with_label ("Use STIL database"); + cfg_stil_enable = gtk_check_button_new_with_mnemonic (_("Use STIL database")); gtk_widget_set_name (cfg_stil_enable, "cfg_stil_enable"); - gtk_widget_ref (cfg_stil_enable); - g_object_set_data_full (G_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); + gtk_box_pack_start (GTK_BOX (w_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), Audacious-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); - g_object_set_data_full (G_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_box1 = gtk_hbox_new (FALSE, 0); + gtk_widget_set_name (cfg_stil_box1, "cfg_stil_box1"); + gtk_widget_show (cfg_stil_box1); + gtk_box_pack_start (GTK_BOX (w_vbox8), cfg_stil_box1, TRUE, TRUE, 0); - cfg_stil_label1 = gtk_label_new ("STIL file:"); + cfg_stil_label1 = gtk_label_new (_("STIL file:")); gtk_widget_set_name (cfg_stil_label1, "cfg_stil_label1"); - gtk_widget_ref (cfg_stil_label1); - g_object_set_data_full (G_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_box_pack_start (GTK_BOX (cfg_stil_box1), cfg_stil_label1, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (cfg_stil_label1), GTK_JUSTIFY_CENTER); 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); - g_object_set_data_full (G_OBJECT (xs_configwin), "alignment2", alignment2, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (alignment2); - gtk_box_pack_start (GTK_BOX (hbox3), alignment2, TRUE, TRUE, 4); + w_alignment2 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_widget_set_name (w_alignment2, "w_alignment2"); + gtk_widget_show (w_alignment2); + gtk_box_pack_start (GTK_BOX (cfg_stil_box1), w_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); - g_object_set_data_full (G_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); + gtk_container_add (GTK_CONTAINER (w_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); - g_object_set_data_full (G_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); + w_alignment1 = gtk_alignment_new (0.5, 0.5, 1, 0.300001); + gtk_widget_set_name (w_alignment1, "w_alignment1"); + gtk_widget_show (w_alignment1); + gtk_box_pack_end (GTK_BOX (cfg_stil_box1), w_alignment1, FALSE, FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (w_alignment1), 4); - cfg_stil_browse = gtk_button_new_with_label ("Browse"); + cfg_stil_browse = gtk_button_new_with_mnemonic (_("Browse")); gtk_widget_set_name (cfg_stil_browse, "cfg_stil_browse"); - gtk_widget_ref (cfg_stil_browse); - g_object_set_data_full (G_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); + gtk_container_add (GTK_CONTAINER (w_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); - g_object_set_data_full (G_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_stil_box2 = gtk_hbox_new (FALSE, 0); + gtk_widget_set_name (cfg_stil_box2, "cfg_stil_box2"); + gtk_widget_show (cfg_stil_box2); + gtk_box_pack_start (GTK_BOX (w_vbox8), cfg_stil_box2, TRUE, TRUE, 0); - cfg_hvsc_label1 = gtk_label_new ("HVSC path:"); + cfg_hvsc_label1 = gtk_label_new (_("HVSC path:")); gtk_widget_set_name (cfg_hvsc_label1, "cfg_hvsc_label1"); - gtk_widget_ref (cfg_hvsc_label1); - g_object_set_data_full (G_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_box_pack_start (GTK_BOX (cfg_stil_box2), cfg_hvsc_label1, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (cfg_hvsc_label1), GTK_JUSTIFY_CENTER); 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); - g_object_set_data_full (G_OBJECT (xs_configwin), "alignment6", alignment6, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (alignment6); - gtk_box_pack_start (GTK_BOX (hbox17), alignment6, TRUE, TRUE, 4); + w_alignment6 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_widget_set_name (w_alignment6, "w_alignment6"); + gtk_widget_show (w_alignment6); + gtk_box_pack_start (GTK_BOX (cfg_stil_box2), w_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); - g_object_set_data_full (G_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); + gtk_container_add (GTK_CONTAINER (w_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); + + w_alignment7 = gtk_alignment_new (0.5, 0.5, 1, 0.300001); + gtk_widget_set_name (w_alignment7, "w_alignment7"); + gtk_widget_show (w_alignment7); + gtk_box_pack_end (GTK_BOX (cfg_stil_box2), w_alignment7, FALSE, FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (w_alignment7), 4); - alignment7 = gtk_alignment_new (0.5, 0.5, 1, 0.300001); - gtk_widget_set_name (alignment7, "alignment7"); - gtk_widget_ref (alignment7); - g_object_set_data_full (G_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_mnemonic (_("Browse")); + gtk_widget_set_name (cfg_hvsc_browse, "cfg_hvsc_browse"); + gtk_widget_show (cfg_hvsc_browse); + gtk_container_add (GTK_CONTAINER (w_alignment7), cfg_hvsc_browse); + gtk_tooltips_set_tip (tooltips, cfg_hvsc_browse, _("Browse for HVSC path"), NULL); - 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); - g_object_set_data_full (G_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); + label18 = gtk_label_new (_("SID Tune Information List (STIL) database:")); + gtk_widget_set_name (label18, "label18"); + gtk_widget_show (label18); + gtk_frame_set_label_widget (GTK_FRAME (w_frame7), label18); - frame16 = gtk_frame_new ("Song name/title format: "); - gtk_widget_set_name (frame16, "frame16"); - gtk_widget_ref (frame16); - g_object_set_data_full (G_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); + w_frame16 = gtk_frame_new (NULL); + gtk_widget_set_name (w_frame16, "w_frame16"); + gtk_widget_show (w_frame16); + gtk_box_pack_start (GTK_BOX (w_vbox33), w_frame16, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (w_frame16), 4); - vbox16 = gtk_vbox_new (FALSE, 2); - gtk_widget_set_name (vbox16, "vbox16"); - gtk_widget_ref (vbox16); - g_object_set_data_full (G_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); + vbox1 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (vbox1, "vbox1"); + gtk_widget_show (vbox1); + gtk_container_add (GTK_CONTAINER (w_frame16), vbox1); + gtk_container_set_border_width (GTK_CONTAINER (vbox1), 2); - cfg_ftitle_override = gtk_check_button_new_with_label ("Override generic XMMS titles"); + cfg_ftitle_override = gtk_check_button_new_with_mnemonic (_("Override generic XMMS titles")); gtk_widget_set_name (cfg_ftitle_override, "cfg_ftitle_override"); - gtk_widget_ref (cfg_ftitle_override); - g_object_set_data_full (G_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); + gtk_box_pack_start (GTK_BOX (vbox1), 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 Audacious-SID specific ones. Formatting mnemonics are explained briefly below."), NULL); + + cfg_ftitle_box = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (cfg_ftitle_box, "cfg_ftitle_box"); + gtk_widget_show (cfg_ftitle_box); + gtk_box_pack_start (GTK_BOX (vbox1), cfg_ftitle_box, TRUE, TRUE, 0); cfg_ftitle_format = gtk_entry_new (); gtk_widget_set_name (cfg_ftitle_format, "cfg_ftitle_format"); - gtk_widget_ref (cfg_ftitle_format); - g_object_set_data_full (G_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); + gtk_box_pack_start (GTK_BOX (cfg_ftitle_box), cfg_ftitle_format, FALSE, FALSE, 2); - hbox9 = gtk_hbox_new (TRUE, 0); - gtk_widget_set_name (hbox9, "hbox9"); - gtk_widget_ref (hbox9); - g_object_set_data_full (G_OBJECT (xs_configwin), "hbox9", hbox9, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (hbox9); - gtk_box_pack_start (GTK_BOX (vbox16), hbox9, FALSE, FALSE, 2); + w_hbox9 = gtk_hbox_new (TRUE, 0); + gtk_widget_set_name (w_hbox9, "w_hbox9"); + gtk_widget_show (w_hbox9); + gtk_box_pack_start (GTK_BOX (cfg_ftitle_box), w_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"); + cfg_ftitle_desc1 = gtk_label_new (_("%% - '%' character\n%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); - g_object_set_data_full (G_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_box_pack_start (GTK_BOX (w_hbox9), cfg_ftitle_desc1, FALSE, FALSE, 0); 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"); + cfg_ftitle_desc2 = gtk_label_new (_("%C - Speed/clock (PAL/NTSC)\n%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); - g_object_set_data_full (G_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_box_pack_start (GTK_BOX (w_hbox9), cfg_ftitle_desc2, FALSE, FALSE, 0); 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); - g_object_set_data_full (G_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); + label19 = gtk_label_new (_("Song name/title format:")); + gtk_widget_set_name (label19, "label19"); + gtk_widget_show (label19); + gtk_frame_set_label_widget (GTK_FRAME (w_frame16), label19); + + w_label23 = gtk_label_new (_("Title")); + gtk_widget_set_name (w_label23, "w_label23"); + gtk_widget_show (w_label23); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (cfg_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (cfg_notebook), 5), w_label23); + gtk_label_set_justify (GTK_LABEL (w_label23), GTK_JUSTIFY_CENTER); - vbox19 = gtk_vbox_new (FALSE, 0); - gtk_widget_set_name (vbox19, "vbox19"); - gtk_widget_ref (vbox19); - g_object_set_data_full (G_OBJECT (xs_configwin), "vbox19", vbox19, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbox19); - gtk_container_add (GTK_CONTAINER (cfg_notebook), vbox19); + w_vbox19 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (w_vbox19, "w_vbox19"); + gtk_widget_show (w_vbox19); + gtk_container_add (GTK_CONTAINER (cfg_notebook), w_vbox19); - frame28 = gtk_frame_new ("Sub-tune control: "); - gtk_widget_set_name (frame28, "frame28"); - gtk_widget_ref (frame28); - g_object_set_data_full (G_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); + w_frame28 = gtk_frame_new (NULL); + gtk_widget_set_name (w_frame28, "w_frame28"); + gtk_widget_show (w_frame28); + gtk_box_pack_start (GTK_BOX (w_vbox19), w_frame28, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (w_frame28), 4); - vbox31 = gtk_vbox_new (FALSE, 2); - gtk_widget_set_name (vbox31, "vbox31"); - gtk_widget_ref (vbox31); - g_object_set_data_full (G_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); + w_vbox31 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (w_vbox31, "w_vbox31"); + gtk_widget_show (w_vbox31); + gtk_container_add (GTK_CONTAINER (w_frame28), w_vbox31); + gtk_container_set_border_width (GTK_CONTAINER (w_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)); + cfg_subctrl_none = gtk_radio_button_new_with_mnemonic (NULL, _("Disabled")); gtk_widget_set_name (cfg_subctrl_none, "cfg_subctrl_none"); - gtk_widget_ref (cfg_subctrl_none); - g_object_set_data_full (G_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); + gtk_box_pack_start (GTK_BOX (w_vbox31), cfg_subctrl_none, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_subctrl_none, _("No sub-tune control."), NULL); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_subctrl_none), cfg_subctrl_none_group); + cfg_subctrl_none_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_subctrl_none)); - 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)); + cfg_subctrl_seek = gtk_radio_button_new_with_mnemonic (NULL, _("Seek back/forward changes sub-tune")); gtk_widget_set_name (cfg_subctrl_seek, "cfg_subctrl_seek"); - gtk_widget_ref (cfg_subctrl_seek); - g_object_set_data_full (G_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); + gtk_box_pack_start (GTK_BOX (w_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); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_subctrl_seek), cfg_subctrl_none_group); + cfg_subctrl_none_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_subctrl_seek)); - 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)); + cfg_subctrl_popup = gtk_radio_button_new_with_mnemonic (NULL, _("Pop-up via seekbar (UADE-style)")); gtk_widget_set_name (cfg_subctrl_popup, "cfg_subctrl_popup"); - gtk_widget_ref (cfg_subctrl_popup); - g_object_set_data_full (G_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); - g_object_set_data_full (G_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); + gtk_box_pack_start (GTK_BOX (w_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); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_subctrl_popup), cfg_subctrl_none_group); + cfg_subctrl_none_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_subctrl_popup)); - frame31 = gtk_frame_new ("Automatic sub-tune changes: "); - gtk_widget_set_name (frame31, "frame31"); - gtk_widget_ref (frame31); - g_object_set_data_full (G_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); + cfg_subctrl_patch = gtk_radio_button_new_with_mnemonic (NULL, _("Song-position patch")); + gtk_widget_set_name (cfg_subctrl_patch, "cfg_subctrl_patch"); + gtk_widget_show (cfg_subctrl_patch); + gtk_box_pack_start (GTK_BOX (w_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); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_subctrl_patch), cfg_subctrl_none_group); + cfg_subctrl_none_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_subctrl_patch)); - vbox35 = gtk_vbox_new (FALSE, 2); - gtk_widget_set_name (vbox35, "vbox35"); - gtk_widget_ref (vbox35); - g_object_set_data_full (G_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); + label20 = gtk_label_new (_("Sub-tune control:")); + gtk_widget_set_name (label20, "label20"); + gtk_widget_show (label20); + gtk_frame_set_label_widget (GTK_FRAME (w_frame28), label20); + + w_frame31 = gtk_frame_new (NULL); + gtk_widget_set_name (w_frame31, "w_frame31"); + gtk_widget_show (w_frame31); + gtk_box_pack_start (GTK_BOX (w_vbox19), w_frame31, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (w_frame31), 4); - 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); - g_object_set_data_full (G_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); + w_vbox35 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (w_vbox35, "w_vbox35"); + gtk_widget_show (w_vbox35); + gtk_container_add (GTK_CONTAINER (w_frame31), w_vbox35); + gtk_container_set_border_width (GTK_CONTAINER (w_vbox35), 2); - 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); - g_object_set_data_full (G_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); + cfg_subauto_enable = gtk_check_button_new_with_mnemonic (_("Go through all sub-tunes in file")); + gtk_widget_set_name (cfg_subauto_enable, "cfg_subauto_enable"); + gtk_widget_show (cfg_subauto_enable); + gtk_box_pack_start (GTK_BOX (w_vbox35), cfg_subauto_enable, FALSE, FALSE, 0); - hbox20 = gtk_hbox_new (FALSE, 2); - gtk_widget_set_name (hbox20, "hbox20"); - gtk_widget_ref (hbox20); - g_object_set_data_full (G_OBJECT (xs_configwin), "hbox20", hbox20, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (hbox20); - gtk_box_pack_start (GTK_BOX (vbox35), hbox20, TRUE, TRUE, 0); + cfg_subauto_min_only = gtk_check_button_new_with_mnemonic (_("Only tunes with specified minimum length ")); + gtk_widget_set_name (cfg_subauto_min_only, "cfg_subauto_min_only"); + gtk_widget_show (cfg_subauto_min_only); + gtk_box_pack_start (GTK_BOX (w_vbox35), cfg_subauto_min_only, FALSE, FALSE, 0); - label52 = gtk_label_new ("Playtime: "); - gtk_widget_set_name (label52, "label52"); - gtk_widget_ref (label52); - g_object_set_data_full (G_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_box = gtk_hbox_new (FALSE, 2); + gtk_widget_set_name (cfg_subauto_box, "cfg_subauto_box"); + gtk_widget_show (cfg_subauto_box); + gtk_box_pack_start (GTK_BOX (w_vbox35), cfg_subauto_box, TRUE, TRUE, 0); + + w_label52 = gtk_label_new (_("Playtime:")); + gtk_widget_set_name (w_label52, "w_label52"); + gtk_widget_show (w_label52); + gtk_box_pack_start (GTK_BOX (cfg_subauto_box), w_label52, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (w_label52), GTK_JUSTIFY_CENTER); + gtk_misc_set_alignment (GTK_MISC (w_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); - g_object_set_data_full (G_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); + gtk_box_pack_start (GTK_BOX (cfg_subauto_box), cfg_subauto_mintime, FALSE, TRUE, 0); + + w_label53 = gtk_label_new (_("seconds")); + gtk_widget_set_name (w_label53, "w_label53"); + gtk_widget_show (w_label53); + gtk_box_pack_start (GTK_BOX (cfg_subauto_box), w_label53, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (w_label53), GTK_JUSTIFY_CENTER); + gtk_misc_set_alignment (GTK_MISC (w_label53), 0, 0.5); + + label21 = gtk_label_new (_("Automatic sub-tune changes:")); + gtk_widget_set_name (label21, "label21"); + gtk_widget_show (label21); + gtk_frame_set_label_widget (GTK_FRAME (w_frame31), label21); + + w_frame22 = gtk_frame_new (NULL); + gtk_widget_set_name (w_frame22, "w_frame22"); + gtk_widget_show (w_frame22); + gtk_box_pack_start (GTK_BOX (w_vbox19), w_frame22, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (w_frame22), 4); - label53 = gtk_label_new ("seconds"); - gtk_widget_set_name (label53, "label53"); - gtk_widget_ref (label53); - g_object_set_data_full (G_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); + w_vbox22 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (w_vbox22, "w_vbox22"); + gtk_widget_show (w_vbox22); + gtk_container_add (GTK_CONTAINER (w_frame22), w_vbox22); + gtk_container_set_border_width (GTK_CONTAINER (w_vbox22), 2); - label3 = gtk_label_new ("Misc"); - gtk_widget_set_name (label3, "label3"); - gtk_widget_ref (label3); - g_object_set_data_full (G_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); + cfg_detectmagic = gtk_check_button_new_with_mnemonic (_("Detect file by contents (slower)")); + gtk_widget_set_name (cfg_detectmagic, "cfg_detectmagic"); + gtk_widget_show (cfg_detectmagic); + gtk_box_pack_start (GTK_BOX (w_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); + + label22 = gtk_label_new (_("Miscellaneous options:")); + gtk_widget_set_name (label22, "label22"); + gtk_widget_show (label22); + gtk_frame_set_label_widget (GTK_FRAME (w_frame22), label22); + + w_label3 = gtk_label_new (_("Misc")); + gtk_widget_set_name (w_label3, "w_label3"); + gtk_widget_show (w_label3); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (cfg_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (cfg_notebook), 6), w_label3); + gtk_label_set_justify (GTK_LABEL (w_label3), GTK_JUSTIFY_CENTER); hbuttonbox1 = gtk_hbutton_box_new (); gtk_widget_set_name (hbuttonbox1, "hbuttonbox1"); - gtk_widget_ref (hbuttonbox1); - g_object_set_data_full (G_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_box_pack_end (GTK_BOX (w_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); + gtk_box_set_spacing (GTK_BOX (hbuttonbox1), 15); - cfg_ok = gtk_button_new_with_label ("OK"); + cfg_ok = gtk_button_new_with_mnemonic (_("OK")); gtk_widget_set_name (cfg_ok, "cfg_ok"); - gtk_widget_ref (cfg_ok); - g_object_set_data_full (G_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); + gtk_tooltips_set_tip (tooltips, cfg_ok, _("Accept and update changes"), NULL); - cfg_cancel = gtk_button_new_with_label ("Cancel"); + cfg_cancel = gtk_button_new_with_mnemonic (_("Cancel")); gtk_widget_set_name (cfg_cancel, "cfg_cancel"); - gtk_widget_ref (cfg_cancel); - g_object_set_data_full (G_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_tooltips_set_tip (tooltips, cfg_cancel, _("Cancel any changes"), NULL); + + g_signal_connect ((gpointer) cfg_oversample, "toggled", + G_CALLBACK (xs_cfg_oversample_toggled), + NULL); + g_signal_connect ((gpointer) cfg_emu_sidplay1, "toggled", + G_CALLBACK (xs_cfg_emu_sidplay1_toggled), + NULL); + g_signal_connect ((gpointer) cfg_emu_sidplay2, "toggled", + G_CALLBACK (xs_cfg_emu_sidplay2_toggled), + NULL); + g_signal_connect ((gpointer) cfg_emu_filters, "toggled", + G_CALLBACK (xs_cfg_emu_filters_toggled), + NULL); + g_signal_connect ((gpointer) cfg_sp1_filter_reset, "clicked", + G_CALLBACK (xs_cfg_sp1_filter_reset), + NULL); + g_signal_connect ((gpointer) cfg_sp2_filter_load, "clicked", + G_CALLBACK (xs_cfg_sp2_filter_load), + NULL); + g_signal_connect ((gpointer) cfg_sp2_filter_save, "clicked", + G_CALLBACK (xs_cfg_sp2_filter_save), + NULL); + g_signal_connect ((gpointer) cfg_sp2_filter_import, "clicked", + G_CALLBACK (xs_cfg_sp2_filter_import), + NULL); + g_signal_connect ((gpointer) cfg_sp2_filter_export, "clicked", + G_CALLBACK (xs_cfg_sp2_filter_export), + NULL); + g_signal_connect ((gpointer) cfg_mintime_enable, "toggled", + G_CALLBACK (xs_cfg_mintime_enable_toggled), + NULL); + g_signal_connect ((gpointer) cfg_mintime, "changed", + G_CALLBACK (xs_cfg_mintime_changed), + NULL); + g_signal_connect ((gpointer) cfg_maxtime_enable, "toggled", + G_CALLBACK (xs_cfg_maxtime_enable_toggled), + NULL); + g_signal_connect ((gpointer) cfg_maxtime, "changed", + G_CALLBACK (xs_cfg_maxtime_changed), + NULL); + g_signal_connect ((gpointer) cfg_sld_enable, "toggled", + G_CALLBACK (xs_cfg_sld_enable_toggled), + NULL); + g_signal_connect ((gpointer) cfg_sld_dbbrowse, "clicked", + G_CALLBACK (xs_cfg_sld_dbbrowse), + NULL); + g_signal_connect ((gpointer) cfg_stil_enable, "toggled", + G_CALLBACK (xs_cfg_stil_enable_toggled), + NULL); + g_signal_connect ((gpointer) cfg_stil_browse, "clicked", + G_CALLBACK (xs_cfg_stil_browse), + NULL); + g_signal_connect ((gpointer) cfg_hvsc_browse, "clicked", + G_CALLBACK (xs_cfg_hvsc_browse), + NULL); + g_signal_connect ((gpointer) cfg_ftitle_override, "toggled", + G_CALLBACK (xs_cfg_ftitle_override_toggled), + NULL); + g_signal_connect ((gpointer) cfg_subauto_enable, "toggled", + G_CALLBACK (xs_cfg_subauto_enable_toggled), + NULL); + g_signal_connect ((gpointer) cfg_subauto_min_only, "toggled", + G_CALLBACK (xs_cfg_subauto_min_only_toggled), + NULL); + g_signal_connect ((gpointer) cfg_ok, "clicked", + G_CALLBACK (xs_cfg_ok), + NULL); + g_signal_connect ((gpointer) cfg_cancel, "clicked", + G_CALLBACK (xs_cfg_cancel), + NULL); - g_signal_connect (G_OBJECT (cfg_samplerate_menu), "clicked", - G_CALLBACK (xs_cfg_samplerate_menu_clicked), - NULL); - g_signal_connect (G_OBJECT (cfg_oversample), "toggled", - G_CALLBACK (xs_cfg_oversample_toggled), - NULL); - g_signal_connect (G_OBJECT (cfg_emu_sidplay1), "toggled", - G_CALLBACK (xs_cfg_emu_sidplay1_toggled), - NULL); - g_signal_connect (G_OBJECT (cfg_emu_sidplay2), "toggled", - G_CALLBACK (xs_cfg_emu_sidplay2_toggled), - NULL); - g_signal_connect (G_OBJECT (cfg_emu_filters), "toggled", - G_CALLBACK (xs_cfg_emu_filters_toggled), - NULL); - g_signal_connect (G_OBJECT (cfg_filter_reset), "clicked", - G_CALLBACK (xs_cfg_filter_reset), - NULL); - g_signal_connect (G_OBJECT (cfg_filter_sync), "clicked", - G_CALLBACK (xs_cfg_filter_sync_clicked), - NULL); - g_signal_connect (G_OBJECT (cfg_filter2_reset), "clicked", - G_CALLBACK (xs_cfg_filter2_reset), - NULL); - g_signal_connect (G_OBJECT (cfg_filter2_sync), "clicked", - G_CALLBACK (xs_cfg_filter2_sync_clicked), - NULL); - g_signal_connect (G_OBJECT (cfg_mintime_enable), "toggled", - G_CALLBACK (xs_cfg_mintime_enable_toggled), - NULL); - g_signal_connect (G_OBJECT (cfg_mintime), "changed", - G_CALLBACK (xs_cfg_mintime_changed), - NULL); - g_signal_connect (G_OBJECT (cfg_maxtime_enable), "toggled", - G_CALLBACK (xs_cfg_maxtime_enable_toggled), - NULL); - g_signal_connect (G_OBJECT (cfg_maxtime), "changed", - G_CALLBACK (xs_cfg_maxtime_changed), - NULL); - g_signal_connect (G_OBJECT (cfg_sld_enable), "toggled", - G_CALLBACK (xs_cfg_sld_enable_toggled), - NULL); - g_signal_connect (G_OBJECT (cfg_sld_dbbrowse), "clicked", - G_CALLBACK (xs_cfg_sld_dbbrowse), - NULL); - g_signal_connect (G_OBJECT (cfg_stil_enable), "toggled", - G_CALLBACK (xs_cfg_stil_enable_toggled), - NULL); - g_signal_connect (G_OBJECT (cfg_stil_browse), "clicked", - G_CALLBACK (xs_cfg_stil_browse), - NULL); - g_signal_connect (G_OBJECT (cfg_hvsc_browse), "clicked", - G_CALLBACK (xs_cfg_hvsc_browse), - NULL); - g_signal_connect (G_OBJECT (cfg_ftitle_override), "toggled", - G_CALLBACK (xs_cfg_ftitle_override_toggled), - NULL); - g_signal_connect (G_OBJECT (cfg_subauto_enable), "toggled", - G_CALLBACK (xs_cfg_subauto_enable_toggled), - NULL); - g_signal_connect (G_OBJECT (cfg_subauto_min_only), "toggled", - G_CALLBACK (xs_cfg_subauto_min_only_toggled), - NULL); - g_signal_connect (G_OBJECT (cfg_ok), "clicked", - G_CALLBACK (xs_cfg_ok), - NULL); - g_signal_connect (G_OBJECT (cfg_cancel), "clicked", - G_CALLBACK (xs_cfg_cancel), - NULL); - - g_object_set_data (G_OBJECT (xs_configwin), "tooltips", tooltips); + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (xs_configwin, xs_configwin, "xs_configwin"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox1, "w_vbox1"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_notebook, "cfg_notebook"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox6, "w_vbox6"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_hbox2, "w_hbox2"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sndres_frame, "cfg_sndres_frame"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox9, "w_vbox9"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_res_8bit, "cfg_res_8bit"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_res_16bit, "cfg_res_16bit"); + GLADE_HOOKUP_OBJECT (xs_configwin, label1, "label1"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_channels_frame, "cfg_channels_frame"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox10, "w_vbox10"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_chn_mono, "cfg_chn_mono"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_chn_stereo, "cfg_chn_stereo"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_chn_autopan, "cfg_chn_autopan"); + GLADE_HOOKUP_OBJECT (xs_configwin, label2, "label2"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_samplerate_frame, "cfg_samplerate_frame"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_hbox4, "w_hbox4"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_samplerate_combo, "cfg_samplerate_combo"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_samplerate, "cfg_samplerate"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_label8, "w_label8"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_label54, "w_label54"); + GLADE_HOOKUP_OBJECT (xs_configwin, label3, "label3"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_oversample_frame, "cfg_oversample_frame"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox27, "w_vbox27"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_oversample, "cfg_oversample"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_oversample_box, "cfg_oversample_box"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_oversample_label1, "cfg_oversample_label1"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_oversample_factor, "cfg_oversample_factor"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_oversample_label2, "cfg_oversample_label2"); + GLADE_HOOKUP_OBJECT (xs_configwin, label4, "label4"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_label1, "w_label1"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox2, "w_vbox2"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_hbox1, "w_hbox1"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_clock_frame, "cfg_clock_frame"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox4, "w_vbox4"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_emu_clock_force, "cfg_emu_clock_force"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_emu_clock_pal, "cfg_emu_clock_pal"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_emu_clock_ntsc, "cfg_emu_clock_ntsc"); + GLADE_HOOKUP_OBJECT (xs_configwin, label5, "label5"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sid_model_frame, "cfg_sid_model_frame"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox3, "w_vbox3"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_emu_sid_force, "cfg_emu_sid_force"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_emu_mos6581, "cfg_emu_mos6581"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_emu_mos8580, "cfg_emu_mos8580"); + GLADE_HOOKUP_OBJECT (xs_configwin, label6, "label6"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_emulib_frame, "cfg_emulib_frame"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox26, "w_vbox26"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_emu_sidplay1, "cfg_emu_sidplay1"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_emu_sidplay2, "cfg_emu_sidplay2"); + GLADE_HOOKUP_OBJECT (xs_configwin, label7, "label7"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_memmode_frame, "cfg_memmode_frame"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox5, "w_vbox5"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_emu_mem_real, "cfg_emu_mem_real"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_emu_mem_banksw, "cfg_emu_mem_banksw"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_emu_mem_transrom, "cfg_emu_mem_transrom"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_emu_mem_playsid, "cfg_emu_mem_playsid"); + GLADE_HOOKUP_OBJECT (xs_configwin, label8, "label8"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_label2, "w_label2"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox29, "w_vbox29"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sidplay2_frame, "cfg_sidplay2_frame"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox30, "w_vbox30"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_emu_sp2_opt, "cfg_emu_sp2_opt"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_emu_sp2_resid, "cfg_emu_sp2_resid"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_emu_sp2_hardsid, "cfg_emu_sp2_hardsid"); + GLADE_HOOKUP_OBJECT (xs_configwin, label9, "label9"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_resid_frame, "cfg_resid_frame"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox37, "w_vbox37"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_emu_resid_fast, "cfg_emu_resid_fast"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_emu_resid_int, "cfg_emu_resid_int"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_emu_resid_res_fast, "cfg_emu_resid_res_fast"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_emu_resid_res_int, "cfg_emu_resid_res_int"); + GLADE_HOOKUP_OBJECT (xs_configwin, label10, "label10"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_label48, "w_label48"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox25, "w_vbox25"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_emu_filters, "cfg_emu_filters"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_filters_notebook, "cfg_filters_notebook"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_box_filter_sidplay1, "cfg_box_filter_sidplay1"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sp1_frm_fs, "cfg_sp1_frm_fs"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sp1_filter_fs, "cfg_sp1_filter_fs"); + GLADE_HOOKUP_OBJECT (xs_configwin, label11, "label11"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sp1_frm_fm, "cfg_sp1_frm_fm"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sp1_filter_fm, "cfg_sp1_filter_fm"); + GLADE_HOOKUP_OBJECT (xs_configwin, label12, "label12"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sp1_frm_ft, "cfg_sp1_frm_ft"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sp1_filter_ft, "cfg_sp1_filter_ft"); + GLADE_HOOKUP_OBJECT (xs_configwin, label13, "label13"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox17, "w_vbox17"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sp1_filter_reset, "cfg_sp1_filter_reset"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_label55, "w_label55"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_box_filter_sidplay2, "cfg_box_filter_sidplay2"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sp_filter_controlbox, "cfg_sp_filter_controlbox"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sp2_filter_combo, "cfg_sp2_filter_combo"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sp2_filter_combo_entry, "cfg_sp2_filter_combo_entry"); + GLADE_HOOKUP_OBJECT (xs_configwin, table3, "table3"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sp2_filter_load, "cfg_sp2_filter_load"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sp2_filter_save, "cfg_sp2_filter_save"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sp2_filter_import, "cfg_sp2_filter_import"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sp2_filter_export, "cfg_sp2_filter_export"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sp2_filter_frame, "cfg_sp2_filter_frame"); + GLADE_HOOKUP_OBJECT (xs_configwin, label14, "label14"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_label56, "w_label56"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_label24, "w_label24"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox20, "w_vbox20"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_frame29, "w_frame29"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox32, "w_vbox32"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_mintime_enable, "cfg_mintime_enable"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_mintime_box, "cfg_mintime_box"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_mintime_label1, "cfg_mintime_label1"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_mintime, "cfg_mintime"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_mintime_label2, "cfg_mintime_label2"); + GLADE_HOOKUP_OBJECT (xs_configwin, label15, "label15"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_frame21, "w_frame21"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox21, "w_vbox21"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_maxtime_enable, "cfg_maxtime_enable"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_maxtime_unknown, "cfg_maxtime_unknown"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_maxtime_box, "cfg_maxtime_box"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_maxtime_label1, "cfg_maxtime_label1"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_maxtime, "cfg_maxtime"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_maxtime_label2, "cfg_maxtime_label2"); + GLADE_HOOKUP_OBJECT (xs_configwin, label16, "label16"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_frame18, "w_frame18"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox18, "w_vbox18"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sld_enable, "cfg_sld_enable"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sld_box, "cfg_sld_box"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sld_label1, "cfg_sld_label1"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sld_dbpath, "cfg_sld_dbpath"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sld_dbbrowse, "cfg_sld_dbbrowse"); + GLADE_HOOKUP_OBJECT (xs_configwin, label17, "label17"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_label26, "w_label26"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox33, "w_vbox33"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_frame7, "w_frame7"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox8, "w_vbox8"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_stil_enable, "cfg_stil_enable"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_stil_box1, "cfg_stil_box1"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_stil_label1, "cfg_stil_label1"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_alignment2, "w_alignment2"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_stil_dbpath, "cfg_stil_dbpath"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_alignment1, "w_alignment1"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_stil_browse, "cfg_stil_browse"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_stil_box2, "cfg_stil_box2"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_hvsc_label1, "cfg_hvsc_label1"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_alignment6, "w_alignment6"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_hvsc_path, "cfg_hvsc_path"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_alignment7, "w_alignment7"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_hvsc_browse, "cfg_hvsc_browse"); + GLADE_HOOKUP_OBJECT (xs_configwin, label18, "label18"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_frame16, "w_frame16"); + GLADE_HOOKUP_OBJECT (xs_configwin, vbox1, "vbox1"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_ftitle_override, "cfg_ftitle_override"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_ftitle_box, "cfg_ftitle_box"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_ftitle_format, "cfg_ftitle_format"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_hbox9, "w_hbox9"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_ftitle_desc1, "cfg_ftitle_desc1"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_ftitle_desc2, "cfg_ftitle_desc2"); + GLADE_HOOKUP_OBJECT (xs_configwin, label19, "label19"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_label23, "w_label23"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox19, "w_vbox19"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_frame28, "w_frame28"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox31, "w_vbox31"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_subctrl_none, "cfg_subctrl_none"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_subctrl_seek, "cfg_subctrl_seek"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_subctrl_popup, "cfg_subctrl_popup"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_subctrl_patch, "cfg_subctrl_patch"); + GLADE_HOOKUP_OBJECT (xs_configwin, label20, "label20"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_frame31, "w_frame31"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox35, "w_vbox35"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_subauto_enable, "cfg_subauto_enable"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_subauto_min_only, "cfg_subauto_min_only"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_subauto_box, "cfg_subauto_box"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_label52, "w_label52"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_subauto_mintime, "cfg_subauto_mintime"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_label53, "w_label53"); + GLADE_HOOKUP_OBJECT (xs_configwin, label21, "label21"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_frame22, "w_frame22"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox22, "w_vbox22"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_detectmagic, "cfg_detectmagic"); + GLADE_HOOKUP_OBJECT (xs_configwin, label22, "label22"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_label3, "w_label3"); + GLADE_HOOKUP_OBJECT (xs_configwin, hbuttonbox1, "hbuttonbox1"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_ok, "cfg_ok"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_cancel, "cfg_cancel"); + GLADE_HOOKUP_OBJECT_NO_REF (xs_configwin, tooltips, "tooltips"); return xs_configwin; } @@ -1580,353 +1611,327 @@ create_xs_fileinfowin (void) { GtkWidget *xs_fileinfowin; - GtkWidget *vbox14; - GtkWidget *alignment8; - GtkWidget *frame30; - GtkWidget *hbox19; + GtkWidget *w_vbox14; + GtkWidget *w_alignment8; + GtkWidget *w_frame30; + GtkWidget *w_hbox19; GtkWidget *fileinfo_subctrl_prev; GtkWidget *fileinfo_subctrl_adj; GtkWidget *fileinfo_subctrl_next; - GtkWidget *frame14; + GtkWidget *w_frame14; GtkWidget *table1; - GtkWidget *label16; - GtkWidget *label17; - GtkWidget *label18; - GtkWidget *label19; + GtkWidget *w_label16; + GtkWidget *w_label17; + GtkWidget *w_label18; + GtkWidget *w_label19; GtkWidget *fileinfo_filename; GtkWidget *fileinfo_songname; GtkWidget *fileinfo_composer; GtkWidget *fileinfo_copyright; - GtkWidget *frame15; - GtkWidget *vbox15; + GtkWidget *label23; + GtkWidget *w_frame15; + GtkWidget *w_vbox15; GtkWidget *fileinfo_sub_tune; - GtkWidget *fileinfo_sub_tune_menu; + GtkWidget *convertwidget29; + GtkWidget *convertwidget30; GtkWidget *table2; - GtkWidget *label41; + GtkWidget *w_label41; GtkWidget *fileinfo_sub_author; - GtkWidget *label50; + GtkWidget *w_label50; GtkWidget *fileinfo_sub_name; - GtkWidget *label51; + GtkWidget *w_label51; GtkWidget *entry1; GtkWidget *scrolledwindow2; GtkWidget *fileinfo_sub_info; + GtkWidget *label24; 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"); - g_object_set_data (G_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); + gtk_window_set_title (GTK_WINDOW (xs_fileinfowin), _("Audacious-SID Fileinfo")); - vbox14 = gtk_vbox_new (FALSE, 0); - gtk_widget_set_name (vbox14, "vbox14"); - gtk_widget_ref (vbox14); - g_object_set_data_full (G_OBJECT (xs_fileinfowin), "vbox14", vbox14, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbox14); - gtk_container_add (GTK_CONTAINER (xs_fileinfowin), vbox14); + w_vbox14 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (w_vbox14, "w_vbox14"); + gtk_widget_show (w_vbox14); + gtk_container_add (GTK_CONTAINER (xs_fileinfowin), w_vbox14); - alignment8 = gtk_alignment_new (0.5, 0.5, 0.1, 1); - gtk_widget_set_name (alignment8, "alignment8"); - gtk_widget_ref (alignment8); - g_object_set_data_full (G_OBJECT (xs_fileinfowin), "alignment8", alignment8, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (alignment8); - gtk_box_pack_start (GTK_BOX (vbox14), alignment8, FALSE, FALSE, 0); + w_alignment8 = gtk_alignment_new (0.5, 0.5, 0.1, 1); + gtk_widget_set_name (w_alignment8, "w_alignment8"); + gtk_widget_show (w_alignment8); + gtk_box_pack_start (GTK_BOX (w_vbox14), w_alignment8, FALSE, FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (w_alignment8), 2); - frame30 = gtk_frame_new (NULL); - gtk_widget_set_name (frame30, "frame30"); - gtk_widget_ref (frame30); - g_object_set_data_full (G_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); + w_frame30 = gtk_frame_new (NULL); + gtk_widget_set_name (w_frame30, "w_frame30"); + gtk_widget_show (w_frame30); + gtk_container_add (GTK_CONTAINER (w_alignment8), w_frame30); + gtk_container_set_border_width (GTK_CONTAINER (w_frame30), 2); - hbox19 = gtk_hbox_new (FALSE, 0); - gtk_widget_set_name (hbox19, "hbox19"); - gtk_widget_ref (hbox19); - g_object_set_data_full (G_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); + w_hbox19 = gtk_hbox_new (FALSE, 0); + gtk_widget_set_name (w_hbox19, "w_hbox19"); + gtk_widget_show (w_hbox19); + gtk_container_add (GTK_CONTAINER (w_frame30), w_hbox19); + gtk_container_set_border_width (GTK_CONTAINER (w_hbox19), 4); - fileinfo_subctrl_prev = gtk_button_new_with_label (" < "); + fileinfo_subctrl_prev = gtk_button_new_with_mnemonic (_(" < ")); gtk_widget_set_name (fileinfo_subctrl_prev, "fileinfo_subctrl_prev"); - gtk_widget_ref (fileinfo_subctrl_prev); - g_object_set_data_full (G_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); + gtk_box_pack_start (GTK_BOX (w_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); - g_object_set_data_full (G_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_box_pack_start (GTK_BOX (w_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 (" > "); + fileinfo_subctrl_next = gtk_button_new_with_mnemonic (_(" > ")); gtk_widget_set_name (fileinfo_subctrl_next, "fileinfo_subctrl_next"); - gtk_widget_ref (fileinfo_subctrl_next); - g_object_set_data_full (G_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); + gtk_box_pack_start (GTK_BOX (w_hbox19), fileinfo_subctrl_next, FALSE, FALSE, 0); - frame14 = gtk_frame_new ("Song Information:"); - gtk_widget_set_name (frame14, "frame14"); - gtk_widget_ref (frame14); - g_object_set_data_full (G_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); + w_frame14 = gtk_frame_new (NULL); + gtk_widget_set_name (w_frame14, "w_frame14"); + gtk_widget_show (w_frame14); + gtk_box_pack_start (GTK_BOX (w_vbox14), w_frame14, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (w_frame14), 4); table1 = gtk_table_new (4, 2, FALSE); gtk_widget_set_name (table1, "table1"); - gtk_widget_ref (table1); - g_object_set_data_full (G_OBJECT (xs_fileinfowin), "table1", table1, - (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (table1); - gtk_container_add (GTK_CONTAINER (frame14), table1); + gtk_container_add (GTK_CONTAINER (w_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); - g_object_set_data_full (G_OBJECT (xs_fileinfowin), "label16", label16, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label16); - gtk_table_attach (GTK_TABLE (table1), label16, 0, 1, 0, 1, + w_label16 = gtk_label_new (_("Filename:")); + gtk_widget_set_name (w_label16, "w_label16"); + gtk_widget_show (w_label16); + gtk_table_attach (GTK_TABLE (table1), w_label16, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (w_label16), GTK_JUSTIFY_CENTER); - label17 = gtk_label_new ("Songname:"); - gtk_widget_set_name (label17, "label17"); - gtk_widget_ref (label17); - g_object_set_data_full (G_OBJECT (xs_fileinfowin), "label17", label17, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label17); - gtk_table_attach (GTK_TABLE (table1), label17, 0, 1, 1, 2, + w_label17 = gtk_label_new (_("Songname:")); + gtk_widget_set_name (w_label17, "w_label17"); + gtk_widget_show (w_label17); + gtk_table_attach (GTK_TABLE (table1), w_label17, 0, 1, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (w_label17), GTK_JUSTIFY_CENTER); - label18 = gtk_label_new ("Composer:"); - gtk_widget_set_name (label18, "label18"); - gtk_widget_ref (label18); - g_object_set_data_full (G_OBJECT (xs_fileinfowin), "label18", label18, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label18); - gtk_table_attach (GTK_TABLE (table1), label18, 0, 1, 2, 3, + w_label18 = gtk_label_new (_("Composer:")); + gtk_widget_set_name (w_label18, "w_label18"); + gtk_widget_show (w_label18); + gtk_table_attach (GTK_TABLE (table1), w_label18, 0, 1, 2, 3, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (w_label18), GTK_JUSTIFY_CENTER); - label19 = gtk_label_new ("Copyright:"); - gtk_widget_set_name (label19, "label19"); - gtk_widget_ref (label19); - g_object_set_data_full (G_OBJECT (xs_fileinfowin), "label19", label19, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label19); - gtk_table_attach (GTK_TABLE (table1), label19, 0, 1, 3, 4, + w_label19 = gtk_label_new (_("Copyright:")); + gtk_widget_set_name (w_label19, "w_label19"); + gtk_widget_show (w_label19); + gtk_table_attach (GTK_TABLE (table1), w_label19, 0, 1, 3, 4, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (w_label19), GTK_JUSTIFY_CENTER); fileinfo_filename = gtk_entry_new (); gtk_widget_set_name (fileinfo_filename, "fileinfo_filename"); - gtk_widget_ref (fileinfo_filename); - g_object_set_data_full (G_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); + gtk_editable_set_editable (GTK_EDITABLE (fileinfo_filename), FALSE); fileinfo_songname = gtk_entry_new (); gtk_widget_set_name (fileinfo_songname, "fileinfo_songname"); - gtk_widget_ref (fileinfo_songname); - g_object_set_data_full (G_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); + gtk_editable_set_editable (GTK_EDITABLE (fileinfo_songname), FALSE); fileinfo_composer = gtk_entry_new (); gtk_widget_set_name (fileinfo_composer, "fileinfo_composer"); - gtk_widget_ref (fileinfo_composer); - g_object_set_data_full (G_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); + gtk_editable_set_editable (GTK_EDITABLE (fileinfo_composer), FALSE); fileinfo_copyright = gtk_entry_new (); gtk_widget_set_name (fileinfo_copyright, "fileinfo_copyright"); - gtk_widget_ref (fileinfo_copyright); - g_object_set_data_full (G_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); + gtk_editable_set_editable (GTK_EDITABLE (fileinfo_copyright), FALSE); + + label23 = gtk_label_new (_("Song Information:")); + gtk_widget_set_name (label23, "label23"); + gtk_widget_show (label23); + gtk_frame_set_label_widget (GTK_FRAME (w_frame14), label23); - frame15 = gtk_frame_new ("Sub-tune Information:"); - gtk_widget_set_name (frame15, "frame15"); - gtk_widget_ref (frame15); - g_object_set_data_full (G_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); + w_frame15 = gtk_frame_new (NULL); + gtk_widget_set_name (w_frame15, "w_frame15"); + gtk_widget_show (w_frame15); + gtk_box_pack_start (GTK_BOX (w_vbox14), w_frame15, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (w_frame15), 4); - vbox15 = gtk_vbox_new (FALSE, 0); - gtk_widget_set_name (vbox15, "vbox15"); - gtk_widget_ref (vbox15); - g_object_set_data_full (G_OBJECT (xs_fileinfowin), "vbox15", vbox15, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbox15); - gtk_container_add (GTK_CONTAINER (frame15), vbox15); + w_vbox15 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (w_vbox15, "w_vbox15"); + gtk_widget_show (w_vbox15); + gtk_container_add (GTK_CONTAINER (w_frame15), w_vbox15); fileinfo_sub_tune = gtk_option_menu_new (); gtk_widget_set_name (fileinfo_sub_tune, "fileinfo_sub_tune"); - gtk_widget_ref (fileinfo_sub_tune); - g_object_set_data_full (G_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); + gtk_box_pack_start (GTK_BOX (w_vbox15), fileinfo_sub_tune, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (fileinfo_sub_tune), 2); + + convertwidget29 = gtk_menu_new (); + gtk_widget_set_name (convertwidget29, "convertwidget29"); + + convertwidget30 = gtk_menu_item_new_with_mnemonic (_(" ")); + gtk_widget_set_name (convertwidget30, "convertwidget30"); + gtk_widget_show (convertwidget30); + gtk_container_add (GTK_CONTAINER (convertwidget29), convertwidget30); + + gtk_option_menu_set_menu (GTK_OPTION_MENU (fileinfo_sub_tune), convertwidget29); table2 = gtk_table_new (3, 2, FALSE); gtk_widget_set_name (table2, "table2"); - gtk_widget_ref (table2); - g_object_set_data_full (G_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_box_pack_start (GTK_BOX (w_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); - g_object_set_data_full (G_OBJECT (xs_fileinfowin), "label41", label41, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label41); - gtk_table_attach (GTK_TABLE (table2), label41, 0, 1, 1, 2, + w_label41 = gtk_label_new (_("Author:")); + gtk_widget_set_name (w_label41, "w_label41"); + gtk_widget_show (w_label41); + gtk_table_attach (GTK_TABLE (table2), w_label41, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (w_label41), GTK_JUSTIFY_CENTER); fileinfo_sub_author = gtk_entry_new (); gtk_widget_set_name (fileinfo_sub_author, "fileinfo_sub_author"); - gtk_widget_ref (fileinfo_sub_author); - g_object_set_data_full (G_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); + gtk_editable_set_editable (GTK_EDITABLE (fileinfo_sub_author), FALSE); - label50 = gtk_label_new ("Name:"); - gtk_widget_set_name (label50, "label50"); - gtk_widget_ref (label50); - g_object_set_data_full (G_OBJECT (xs_fileinfowin), "label50", label50, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label50); - gtk_table_attach (GTK_TABLE (table2), label50, 0, 1, 0, 1, + w_label50 = gtk_label_new (_("Name:")); + gtk_widget_set_name (w_label50, "w_label50"); + gtk_widget_show (w_label50); + gtk_table_attach (GTK_TABLE (table2), w_label50, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (w_label50), GTK_JUSTIFY_CENTER); fileinfo_sub_name = gtk_entry_new (); gtk_widget_set_name (fileinfo_sub_name, "fileinfo_sub_name"); - gtk_widget_ref (fileinfo_sub_name); - g_object_set_data_full (G_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); + gtk_editable_set_editable (GTK_EDITABLE (fileinfo_sub_name), FALSE); - label51 = gtk_label_new ("Duration:"); - gtk_widget_set_name (label51, "label51"); - gtk_widget_ref (label51); - g_object_set_data_full (G_OBJECT (xs_fileinfowin), "label51", label51, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label51); - gtk_table_attach (GTK_TABLE (table2), label51, 0, 1, 2, 3, + w_label51 = gtk_label_new (_("Duration:")); + gtk_widget_set_name (w_label51, "w_label51"); + gtk_widget_show (w_label51); + gtk_table_attach (GTK_TABLE (table2), w_label51, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); - gtk_misc_set_alignment (GTK_MISC (label51), 0, 0.5); + gtk_label_set_justify (GTK_LABEL (w_label51), GTK_JUSTIFY_CENTER); + gtk_misc_set_alignment (GTK_MISC (w_label51), 0, 0.5); entry1 = gtk_entry_new (); gtk_widget_set_name (entry1, "entry1"); - gtk_widget_ref (entry1); - g_object_set_data_full (G_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); + gtk_editable_set_editable (GTK_EDITABLE (entry1), FALSE); scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_name (scrolledwindow2, "scrolledwindow2"); - gtk_widget_ref (scrolledwindow2); - g_object_set_data_full (G_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_box_pack_start (GTK_BOX (w_vbox15), scrolledwindow2, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (scrolledwindow2), 4); + GTK_WIDGET_UNSET_FLAGS (scrolledwindow2, GTK_CAN_FOCUS); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_SHADOW_IN); fileinfo_sub_info = gtk_text_view_new (); gtk_widget_set_name (fileinfo_sub_info, "fileinfo_sub_info"); - gtk_widget_ref (fileinfo_sub_info); - g_object_set_data_full (G_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); + gtk_text_view_set_editable (GTK_TEXT_VIEW (fileinfo_sub_info), FALSE); + gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (fileinfo_sub_info), GTK_WRAP_WORD); - button2 = gtk_button_new_with_label ("Close"); + label24 = gtk_label_new (_("Sub-tune Information:")); + gtk_widget_set_name (label24, "label24"); + gtk_widget_show (label24); + gtk_frame_set_label_widget (GTK_FRAME (w_frame15), label24); + + button2 = gtk_button_new_with_mnemonic (_("Close")); gtk_widget_set_name (button2, "button2"); - gtk_widget_ref (button2); - g_object_set_data_full (G_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_box_pack_start (GTK_BOX (w_vbox14), button2, FALSE, FALSE, 0); GTK_WIDGET_SET_FLAGS (button2, GTK_CAN_DEFAULT); - g_signal_connect (G_OBJECT (xs_fileinfowin), "delete_event", - G_CALLBACK (xs_fileinfo_delete), - NULL); - g_signal_connect (G_OBJECT (fileinfo_subctrl_prev), "clicked", - G_CALLBACK (xs_subctrl_prevsong), - NULL); - g_signal_connect (G_OBJECT (fileinfo_subctrl_next), "clicked", - G_CALLBACK (xs_subctrl_nextsong), - NULL); - g_signal_connect (G_OBJECT (button2), "clicked", - G_CALLBACK (xs_fileinfo_ok), - NULL); + g_signal_connect ((gpointer) xs_fileinfowin, "delete_event", + G_CALLBACK (xs_fileinfo_delete), + NULL); + g_signal_connect ((gpointer) fileinfo_subctrl_prev, "clicked", + G_CALLBACK (xs_subctrl_prevsong), + NULL); + g_signal_connect ((gpointer) fileinfo_subctrl_next, "clicked", + G_CALLBACK (xs_subctrl_nextsong), + NULL); + g_signal_connect ((gpointer) button2, "clicked", + G_CALLBACK (xs_fileinfo_ok), + NULL); + + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (xs_fileinfowin, xs_fileinfowin, "xs_fileinfowin"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, w_vbox14, "w_vbox14"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, w_alignment8, "w_alignment8"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, w_frame30, "w_frame30"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, w_hbox19, "w_hbox19"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, fileinfo_subctrl_prev, "fileinfo_subctrl_prev"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, fileinfo_subctrl_adj, "fileinfo_subctrl_adj"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, fileinfo_subctrl_next, "fileinfo_subctrl_next"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, w_frame14, "w_frame14"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, table1, "table1"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, w_label16, "w_label16"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, w_label17, "w_label17"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, w_label18, "w_label18"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, w_label19, "w_label19"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, fileinfo_filename, "fileinfo_filename"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, fileinfo_songname, "fileinfo_songname"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, fileinfo_composer, "fileinfo_composer"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, fileinfo_copyright, "fileinfo_copyright"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, label23, "label23"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, w_frame15, "w_frame15"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, w_vbox15, "w_vbox15"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, fileinfo_sub_tune, "fileinfo_sub_tune"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, convertwidget29, "convertwidget29"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, convertwidget30, "convertwidget30"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, table2, "table2"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, w_label41, "w_label41"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, fileinfo_sub_author, "fileinfo_sub_author"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, w_label50, "w_label50"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, fileinfo_sub_name, "fileinfo_sub_name"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, w_label51, "w_label51"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, entry1, "entry1"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, scrolledwindow2, "scrolledwindow2"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, fileinfo_sub_info, "fileinfo_sub_info"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, label24, "label24"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, button2, "button2"); gtk_widget_grab_focus (button2); gtk_widget_grab_default (button2); @@ -1940,31 +1945,33 @@ GtkWidget *ok_button2; GtkWidget *cancel_button2; - xs_sldbfileselector = gtk_file_selection_new ("Select HVSC song length database"); + xs_sldbfileselector = gtk_file_selection_new (_("Select HVSC song length database")); gtk_widget_set_name (xs_sldbfileselector, "xs_sldbfileselector"); - g_object_set_data (G_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)); + gtk_window_set_type_hint (GTK_WINDOW (xs_sldbfileselector), GDK_WINDOW_TYPE_HINT_DIALOG); ok_button2 = GTK_FILE_SELECTION (xs_sldbfileselector)->ok_button; gtk_widget_set_name (ok_button2, "ok_button2"); - g_object_set_data (G_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"); - g_object_set_data (G_OBJECT (xs_sldbfileselector), "cancel_button2", cancel_button2); gtk_widget_show (cancel_button2); GTK_WIDGET_SET_FLAGS (cancel_button2, GTK_CAN_DEFAULT); - g_signal_connect (G_OBJECT (ok_button2), "clicked", - G_CALLBACK (xs_cfg_sldb_fs_ok), - NULL); - g_signal_connect (G_OBJECT (cancel_button2), "clicked", - G_CALLBACK (xs_cfg_sldb_fs_cancel), - NULL); + g_signal_connect ((gpointer) ok_button2, "clicked", + G_CALLBACK (xs_cfg_sldb_fs_ok), + NULL); + g_signal_connect ((gpointer) cancel_button2, "clicked", + G_CALLBACK (xs_cfg_sldb_fs_cancel), + NULL); + + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (xs_sldbfileselector, xs_sldbfileselector, "xs_sldbfileselector"); + GLADE_HOOKUP_OBJECT_NO_REF (xs_sldbfileselector, ok_button2, "ok_button2"); + GLADE_HOOKUP_OBJECT_NO_REF (xs_sldbfileselector, cancel_button2, "cancel_button2"); return xs_sldbfileselector; } @@ -1976,31 +1983,33 @@ GtkWidget *ok_button3; GtkWidget *cancel_button3; - xs_stilfileselector = gtk_file_selection_new ("Select STIL-database "); + xs_stilfileselector = gtk_file_selection_new (_("Select STIL-database ")); gtk_widget_set_name (xs_stilfileselector, "xs_stilfileselector"); - g_object_set_data (G_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)); + gtk_window_set_type_hint (GTK_WINDOW (xs_stilfileselector), GDK_WINDOW_TYPE_HINT_DIALOG); ok_button3 = GTK_FILE_SELECTION (xs_stilfileselector)->ok_button; gtk_widget_set_name (ok_button3, "ok_button3"); - g_object_set_data (G_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"); - g_object_set_data (G_OBJECT (xs_stilfileselector), "cancel_button3", cancel_button3); gtk_widget_show (cancel_button3); GTK_WIDGET_SET_FLAGS (cancel_button3, GTK_CAN_DEFAULT); - g_signal_connect (G_OBJECT (ok_button3), "clicked", - G_CALLBACK (xs_cfg_stil_fs_ok), - NULL); - g_signal_connect (G_OBJECT (cancel_button3), "clicked", - G_CALLBACK (xs_cfg_stil_fs_cancel), - NULL); + g_signal_connect ((gpointer) ok_button3, "clicked", + G_CALLBACK (xs_cfg_stil_fs_ok), + NULL); + g_signal_connect ((gpointer) cancel_button3, "clicked", + G_CALLBACK (xs_cfg_stil_fs_cancel), + NULL); + + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (xs_stilfileselector, xs_stilfileselector, "xs_stilfileselector"); + GLADE_HOOKUP_OBJECT_NO_REF (xs_stilfileselector, ok_button3, "ok_button3"); + GLADE_HOOKUP_OBJECT_NO_REF (xs_stilfileselector, cancel_button3, "cancel_button3"); return xs_stilfileselector; } @@ -2012,31 +2021,33 @@ GtkWidget *ok_button4; GtkWidget *cancel_button4; - xs_hvscpathselector = gtk_file_selection_new ("Select HVSC location prefix"); + xs_hvscpathselector = gtk_file_selection_new (_("Select HVSC location prefix")); gtk_widget_set_name (xs_hvscpathselector, "xs_hvscpathselector"); - g_object_set_data (G_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)); + gtk_window_set_type_hint (GTK_WINDOW (xs_hvscpathselector), GDK_WINDOW_TYPE_HINT_DIALOG); ok_button4 = GTK_FILE_SELECTION (xs_hvscpathselector)->ok_button; gtk_widget_set_name (ok_button4, "ok_button4"); - g_object_set_data (G_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"); - g_object_set_data (G_OBJECT (xs_hvscpathselector), "cancel_button4", cancel_button4); gtk_widget_show (cancel_button4); GTK_WIDGET_SET_FLAGS (cancel_button4, GTK_CAN_DEFAULT); - g_signal_connect (G_OBJECT (ok_button4), "clicked", - G_CALLBACK (xs_cfg_hvsc_fs_ok), - NULL); - g_signal_connect (G_OBJECT (cancel_button4), "clicked", - G_CALLBACK (xs_cfg_hvsc_fs_cancel), - NULL); + g_signal_connect ((gpointer) ok_button4, "clicked", + G_CALLBACK (xs_cfg_hvsc_fs_ok), + NULL); + g_signal_connect ((gpointer) cancel_button4, "clicked", + G_CALLBACK (xs_cfg_hvsc_fs_cancel), + NULL); + + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (xs_hvscpathselector, xs_hvscpathselector, "xs_hvscpathselector"); + GLADE_HOOKUP_OBJECT_NO_REF (xs_hvscpathselector, ok_button4, "ok_button4"); + GLADE_HOOKUP_OBJECT_NO_REF (xs_hvscpathselector, cancel_button4, "cancel_button4"); return xs_hvscpathselector; }