diff src/sid/xs_interface.c @ 1574:e566e18e9e3d

Huge cleanup and some bugfixes. Temporarily breaks / removes sub-tune changing.
author Matti Hamalainen <ccr@tnsp.org>
date Mon, 03 Sep 2007 06:28:17 +0300
parents da1aa3c38cda
children 2b5768cdca7a
line wrap: on
line diff
--- a/src/sid/xs_interface.c	Mon Sep 03 06:25:55 2007 +0300
+++ b/src/sid/xs_interface.c	Mon Sep 03 06:28:17 2007 +0300
@@ -135,10 +135,11 @@
   GList *cfg_sp2_filter_combo_items = NULL;
   GtkWidget *cfg_sp2_filter_combo_entry;
   GtkWidget *table3;
+  GtkWidget *cfg_sp2_filter_export;
   GtkWidget *cfg_sp2_filter_load;
   GtkWidget *cfg_sp2_filter_save;
   GtkWidget *cfg_sp2_filter_import;
-  GtkWidget *cfg_sp2_filter_export;
+  GtkWidget *cfg_sp2_filter_delete;
   GtkWidget *cfg_sp2_filter_frame;
   GtkWidget *label14;
   GtkWidget *w_label56;
@@ -172,7 +173,17 @@
   GtkWidget *cfg_sld_dbbrowse;
   GtkWidget *label17;
   GtkWidget *w_label26;
-  GtkWidget *w_vbox33;
+  GtkWidget *w_vbox19;
+  GtkWidget *w_frame31;
+  GtkWidget *w_vbox35;
+  GtkWidget *cfg_subauto_enable;
+  GtkWidget *cfg_subauto_min_only;
+  GtkWidget *cfg_subauto_box;
+  GtkWidget *w_label52;
+  GtkObject *cfg_subauto_mintime_adj;
+  GtkWidget *cfg_subauto_mintime;
+  GtkWidget *w_label53;
+  GtkWidget *label21;
   GtkWidget *w_frame7;
   GtkWidget *w_vbox8;
   GtkWidget *cfg_stil_enable;
@@ -189,39 +200,6 @@
   GtkWidget *w_alignment7;
   GtkWidget *cfg_hvsc_browse;
   GtkWidget *label18;
-  GtkWidget *w_frame16;
-  GtkWidget *vbox1;
-  GtkWidget *cfg_ftitle_override;
-  GtkWidget *cfg_ftitle_box;
-  GtkWidget *cfg_ftitle_format;
-  GtkWidget *w_hbox9;
-  GtkWidget *cfg_ftitle_desc1;
-  GtkWidget *cfg_ftitle_desc2;
-  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 *label20;
-  GtkWidget *w_frame31;
-  GtkWidget *w_vbox35;
-  GtkWidget *cfg_subauto_enable;
-  GtkWidget *cfg_subauto_min_only;
-  GtkWidget *cfg_subauto_box;
-  GtkWidget *w_label52;
-  GtkObject *cfg_subauto_mintime_adj;
-  GtkWidget *cfg_subauto_mintime;
-  GtkWidget *w_label53;
-  GtkWidget *label21;
-  GtkWidget *w_frame22;
-  GtkWidget *w_vbox22;
-  GtkWidget *cfg_detectmagic;
-  GtkWidget *label22;
   GtkWidget *w_label3;
   GtkWidget *hbuttonbox1;
   GtkWidget *cfg_ok;
@@ -231,108 +209,90 @@
   tooltips = gtk_tooltips_new ();
 
   xs_configwin = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_widget_set_name (xs_configwin, "xs_configwin");
-  gtk_window_set_title (GTK_WINDOW (xs_configwin), _("Audacious-SID Configuration"));
+  gtk_window_set_title (GTK_WINDOW (xs_configwin), _("Audacious-SID configuration"));
 
   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_show (cfg_notebook);
   gtk_box_pack_start (GTK_BOX (w_vbox1), cfg_notebook, TRUE, TRUE, 0);
   gtk_notebook_set_show_border (GTK_NOTEBOOK (cfg_notebook), FALSE);
 
   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);
 
   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);
 
   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);
 
   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_mnemonic (NULL, _("8-bit"));
-  gtk_widget_set_name (cfg_res_8bit, "cfg_res_8bit");
   gtk_widget_show (cfg_res_8bit);
   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_mnemonic (NULL, _("16-bit"));
-  gtk_widget_set_name (cfg_res_16bit, "cfg_res_16bit");
   gtk_widget_show (cfg_res_16bit);
   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));
 
   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);
 
   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);
 
   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_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_show (cfg_chn_stereo);
   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_mnemonic (NULL, _("Autopanning"));
-  gtk_widget_set_name (cfg_chn_autopan, "cfg_chn_autopan");
   gtk_widget_show (cfg_chn_autopan);
   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));
 
   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);
 
   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);
@@ -340,123 +300,97 @@
   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);
 
   cfg_samplerate = GTK_COMBO (cfg_samplerate_combo)->entry;
-  gtk_widget_set_name (cfg_samplerate, "cfg_samplerate");
   gtk_widget_show (cfg_samplerate);
+  gtk_entry_set_invisible_char (GTK_ENTRY (cfg_samplerate), 9679);
 
   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);
 
   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);
 
   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_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);
 
   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_mnemonic (_("Use oversampling"));
-  gtk_widget_set_name (cfg_oversample, "cfg_oversample");
   gtk_widget_show (cfg_oversample);
   gtk_box_pack_start (GTK_BOX (w_vbox27), cfg_oversample, FALSE, FALSE, 0);
 
   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:"));
-  gtk_widget_set_name (cfg_oversample_label1, "cfg_oversample_label1");
   gtk_widget_show (cfg_oversample_label1);
   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_show (cfg_oversample_factor);
   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"));
-  gtk_widget_set_name (cfg_oversample_label2, "cfg_oversample_label2");
   gtk_widget_show (cfg_oversample_label2);
   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);
 
   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);
 
   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);
+  gtk_box_pack_start (GTK_BOX (w_vbox2), w_hbox1, FALSE, TRUE, 0);
 
   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);
 
   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_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);
@@ -464,7 +398,6 @@
   cfg_emu_clock_pal_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_emu_clock_pal));
 
   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);
@@ -472,30 +405,25 @@
   cfg_emu_clock_pal_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_emu_clock_ntsc));
 
   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);
 
   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);
 
   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_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);
@@ -503,31 +431,26 @@
   cfg_emu_mos6581_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_emu_mos6581));
 
   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_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);
 
   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);
 
   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);
@@ -535,7 +458,6 @@
   cfg_emu_sidplay1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_emu_sidplay1));
 
   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);
@@ -543,86 +465,72 @@
   cfg_emu_sidplay1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_emu_sidplay2));
 
   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);
 
   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_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_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));
 
   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);
 
   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);
 
   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_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_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);
@@ -630,7 +538,6 @@
   cfg_emu_sp2_resid_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_emu_sp2_resid));
 
   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);
@@ -638,24 +545,20 @@
   cfg_emu_sp2_resid_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_emu_sp2_hardsid));
 
   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);
 
   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);
 
   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);
@@ -663,7 +566,6 @@
   cfg_emu_resid_fast_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_emu_resid_fast));
 
   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);
@@ -671,128 +573,106 @@
   cfg_emu_resid_fast_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_emu_resid_int));
 
   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));
 
   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);
 
   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_mnemonic (_("Emulate filters"));
-  gtk_widget_set_name (cfg_emu_filters, "cfg_emu_filters");
   gtk_widget_show (cfg_emu_filters);
   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_show (cfg_filters_notebook);
   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_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);
 
   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_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);
 
   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_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_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);
 
   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);
 
   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_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_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);
@@ -800,32 +680,32 @@
   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_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);
+  gtk_entry_set_invisible_char (GTK_ENTRY (cfg_sp2_filter_combo_entry), 9679);
 
-  table3 = gtk_table_new (2, 2, TRUE);
-  gtk_widget_set_name (table3, "table3");
+  table3 = gtk_table_new (2, 3, TRUE);
   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");
+  cfg_sp2_filter_export = gtk_button_new_with_mnemonic (_("Export"));
+  gtk_widget_show (cfg_sp2_filter_export);
+  gtk_table_attach (GTK_TABLE (table3), cfg_sp2_filter_export, 2, 3, 1, 2,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+  GTK_WIDGET_SET_FLAGS (cfg_sp2_filter_export, GTK_CAN_DEFAULT);
+
+  cfg_sp2_filter_load = gtk_button_new_with_mnemonic (_("Use"));
   gtk_widget_show (cfg_sp2_filter_load);
   gtk_table_attach (GTK_TABLE (table3), cfg_sp2_filter_load, 0, 1, 0, 1,
                     (GtkAttachOptions) (GTK_FILL),
@@ -833,7 +713,6 @@
   GTK_WIDGET_SET_FLAGS (cfg_sp2_filter_load, GTK_CAN_DEFAULT);
 
   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),
@@ -841,74 +720,62 @@
   GTK_WIDGET_SET_FLAGS (cfg_sp2_filter_save, GTK_CAN_DEFAULT);
 
   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,
+  gtk_table_attach (GTK_TABLE (table3), cfg_sp2_filter_import, 1, 2, 1, 2,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
   GTK_WIDGET_SET_FLAGS (cfg_sp2_filter_import, GTK_CAN_DEFAULT);
 
-  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,
+  cfg_sp2_filter_delete = gtk_button_new_with_mnemonic (_("Delete"));
+  gtk_widget_show (cfg_sp2_filter_delete);
+  gtk_table_attach (GTK_TABLE (table3), cfg_sp2_filter_delete, 2, 3, 0, 1,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  GTK_WIDGET_SET_FLAGS (cfg_sp2_filter_export, GTK_CAN_DEFAULT);
+  GTK_WIDGET_SET_FLAGS (cfg_sp2_filter_delete, 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);
 
   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);
 
   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);
 
   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);
 
   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_show (cfg_mintime_enable);
   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);
 
   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:"));
-  gtk_widget_set_name (cfg_mintime_label1, "cfg_mintime_label1");
   gtk_widget_show (cfg_mintime_label1);
   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);
@@ -916,53 +783,44 @@
 
   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_show (cfg_mintime);
   gtk_box_pack_start (GTK_BOX (cfg_mintime_box), cfg_mintime, FALSE, TRUE, 0);
 
   cfg_mintime_label2 = gtk_label_new (_("seconds"));
-  gtk_widget_set_name (cfg_mintime_label2, "cfg_mintime_label2");
   gtk_widget_show (cfg_mintime_label2);
   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);
 
   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);
 
   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);
 
   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_show (cfg_maxtime_enable);
   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_mnemonic (_("Only when song length is unknown"));
-  gtk_widget_set_name (cfg_maxtime_unknown, "cfg_maxtime_unknown");
   gtk_widget_show (cfg_maxtime_unknown);
   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);
 
   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:"));
-  gtk_widget_set_name (cfg_maxtime_label1, "cfg_maxtime_label1");
   gtk_widget_show (cfg_maxtime_label1);
   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);
@@ -970,311 +828,90 @@
 
   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_show (cfg_maxtime);
   gtk_box_pack_start (GTK_BOX (cfg_maxtime_box), cfg_maxtime, FALSE, TRUE, 0);
 
   cfg_maxtime_label2 = gtk_label_new (_("seconds"));
-  gtk_widget_set_name (cfg_maxtime_label2, "cfg_maxtime_label2");
   gtk_widget_show (cfg_maxtime_label2);
   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);
 
   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);
 
   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);
 
   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_show (cfg_sld_enable);
   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);
 
   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:"));
-  gtk_widget_set_name (cfg_sld_label1, "cfg_sld_label1");
   gtk_widget_show (cfg_sld_label1);
   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_show (cfg_sld_dbpath);
   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);
+  gtk_entry_set_invisible_char (GTK_ENTRY (cfg_sld_dbpath), 9679);
 
   cfg_sld_dbbrowse = gtk_button_new_with_mnemonic (_("Browse"));
-  gtk_widget_set_name (cfg_sld_dbbrowse, "cfg_sld_dbbrowse");
   gtk_widget_show (cfg_sld_dbbrowse);
   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);
 
   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);
 
   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);
-
-  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);
-
-  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_mnemonic (_("Use STIL database"));
-  gtk_widget_set_name (cfg_stil_enable, "cfg_stil_enable");
-  gtk_widget_show (cfg_stil_enable);
-  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);
-
-  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:"));
-  gtk_widget_set_name (cfg_stil_label1, "cfg_stil_label1");
-  gtk_widget_show (cfg_stil_label1);
-  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);
-
-  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_show (cfg_stil_dbpath);
-  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);
-
-  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_mnemonic (_("Browse"));
-  gtk_widget_set_name (cfg_stil_browse, "cfg_stil_browse");
-  gtk_widget_show (cfg_stil_browse);
-  gtk_container_add (GTK_CONTAINER (w_alignment1), cfg_stil_browse);
-  gtk_tooltips_set_tip (tooltips, cfg_stil_browse, _("Browse for STIL-database file"), NULL);
-
-  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:"));
-  gtk_widget_set_name (cfg_hvsc_label1, "cfg_hvsc_label1");
-  gtk_widget_show (cfg_hvsc_label1);
-  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);
-
-  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_show (cfg_hvsc_path);
-  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);
-
-  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);
-
-  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);
-
-  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);
-
-  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_mnemonic (_("Override generic XMMS titles"));
-  gtk_widget_set_name (cfg_ftitle_override, "cfg_ftitle_override");
-  gtk_widget_show (cfg_ftitle_override);
-  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_show (cfg_ftitle_format);
-  gtk_box_pack_start (GTK_BOX (cfg_ftitle_box), cfg_ftitle_format, 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 (_("%% - '%' 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_show (cfg_ftitle_desc1);
-  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 (_("%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_show (cfg_ftitle_desc2);
-  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);
-
-  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);
-
   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);
 
-  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);
-
-  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_mnemonic (NULL, _("Disabled"));
-  gtk_widget_set_name (cfg_subctrl_none, "cfg_subctrl_none");
-  gtk_widget_show (cfg_subctrl_none);
-  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_mnemonic (NULL, _("Seek back/forward changes sub-tune"));
-  gtk_widget_set_name (cfg_subctrl_seek, "cfg_subctrl_seek");
-  gtk_widget_show (cfg_subctrl_seek);
-  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_mnemonic (NULL, _("Pop-up via seekbar (UADE-style)"));
-  gtk_widget_set_name (cfg_subctrl_popup, "cfg_subctrl_popup");
-  gtk_widget_show (cfg_subctrl_popup);
-  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));
-
-  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));
-
-  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);
 
   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_enable = gtk_check_button_new_with_mnemonic (_("Go through all sub-tunes in file"));
-  gtk_widget_set_name (cfg_subauto_enable, "cfg_subauto_enable");
+  cfg_subauto_enable = gtk_check_button_new_with_mnemonic (_("Add all sub-tunes to playlist"));
   gtk_widget_show (cfg_subauto_enable);
   gtk_box_pack_start (GTK_BOX (w_vbox35), cfg_subauto_enable, FALSE, FALSE, 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);
 
   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);
@@ -1282,73 +919,125 @@
 
   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_show (cfg_subauto_mintime);
   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");
+  label21 = gtk_label_new (_("Sub-tune handling:"));
   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);
+  w_frame7 = gtk_frame_new (NULL);
+  gtk_widget_show (w_frame7);
+  gtk_box_pack_start (GTK_BOX (w_vbox19), w_frame7, FALSE, FALSE, 0);
+  gtk_container_set_border_width (GTK_CONTAINER (w_frame7), 4);
+
+  w_vbox8 = gtk_vbox_new (FALSE, 2);
+  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_mnemonic (_("Use STIL database"));
+  gtk_widget_show (cfg_stil_enable);
+  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);
+
+  cfg_stil_box1 = gtk_hbox_new (FALSE, 0);
+  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:"));
+  gtk_widget_show (cfg_stil_label1);
+  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);
+
+  w_alignment2 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  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_show (cfg_stil_dbpath);
+  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);
+  gtk_entry_set_invisible_char (GTK_ENTRY (cfg_stil_dbpath), 9679);
 
-  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);
+  w_alignment1 = gtk_alignment_new (0.5, 0.5, 1, 0.300001);
+  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_mnemonic (_("Browse"));
+  gtk_widget_show (cfg_stil_browse);
+  gtk_container_add (GTK_CONTAINER (w_alignment1), cfg_stil_browse);
+  gtk_tooltips_set_tip (tooltips, cfg_stil_browse, _("Browse for STIL-database file"), NULL);
+
+  cfg_stil_box2 = gtk_hbox_new (FALSE, 0);
+  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:"));
+  gtk_widget_show (cfg_hvsc_label1);
+  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);
 
-  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);
+  w_alignment6 = gtk_alignment_new (0.5, 0.5, 1, 1);
+  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_show (cfg_hvsc_path);
+  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);
+  gtk_entry_set_invisible_char (GTK_ENTRY (cfg_hvsc_path), 9679);
 
-  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_alignment7 = gtk_alignment_new (0.5, 0.5, 1, 0.300001);
+  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);
+
+  cfg_hvsc_browse = gtk_button_new_with_mnemonic (_("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);
+
+  label18 = gtk_label_new (_("SID Tune Information List (STIL) database:"));
+  gtk_widget_show (label18);
+  gtk_frame_set_label_widget (GTK_FRAME (w_frame7), label18);
 
   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_notebook_set_tab_label (GTK_NOTEBOOK (cfg_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (cfg_notebook), 5), 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_show (hbuttonbox1);
   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_box_set_spacing (GTK_BOX (hbuttonbox1), 15);
+  gtk_box_set_spacing (GTK_BOX (hbuttonbox1), 8);
 
   cfg_ok = gtk_button_new_with_mnemonic (_("OK"));
-  gtk_widget_set_name (cfg_ok, "cfg_ok");
   gtk_widget_show (cfg_ok);
   gtk_container_add (GTK_CONTAINER (hbuttonbox1), cfg_ok);
   GTK_WIDGET_SET_FLAGS (cfg_ok, GTK_CAN_DEFAULT);
   gtk_tooltips_set_tip (tooltips, cfg_ok, _("Accept and update changes"), NULL);
 
   cfg_cancel = gtk_button_new_with_mnemonic (_("Cancel"));
-  gtk_widget_set_name (cfg_cancel, "cfg_cancel");
   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);
 
+  g_signal_connect ((gpointer) xs_configwin, "delete_event",
+                    G_CALLBACK (xs_configwin_delete),
+                    NULL);
   g_signal_connect ((gpointer) cfg_oversample, "toggled",
                     G_CALLBACK (xs_cfg_oversample_toggled),
                     NULL);
@@ -1364,6 +1053,9 @@
   g_signal_connect ((gpointer) cfg_sp1_filter_reset, "clicked",
                     G_CALLBACK (xs_cfg_sp1_filter_reset),
                     NULL);
+  g_signal_connect ((gpointer) cfg_sp2_filter_export, "clicked",
+                    G_CALLBACK (xs_cfg_sp2_filter_export),
+                    NULL);
   g_signal_connect ((gpointer) cfg_sp2_filter_load, "clicked",
                     G_CALLBACK (xs_cfg_sp2_filter_load),
                     NULL);
@@ -1373,8 +1065,8 @@
   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),
+  g_signal_connect ((gpointer) cfg_sp2_filter_delete, "clicked",
+                    G_CALLBACK (xs_cfg_sp2_filter_delete),
                     NULL);
   g_signal_connect ((gpointer) cfg_mintime_enable, "toggled",
                     G_CALLBACK (xs_cfg_mintime_enable_toggled),
@@ -1389,10 +1081,16 @@
                     G_CALLBACK (xs_cfg_maxtime_changed),
                     NULL);
   g_signal_connect ((gpointer) cfg_sld_enable, "toggled",
-                    G_CALLBACK (xs_cfg_sld_enable_toggled),
+                    G_CALLBACK (xs_cfg_sldb_enable_toggled),
                     NULL);
   g_signal_connect ((gpointer) cfg_sld_dbbrowse, "clicked",
-                    G_CALLBACK (xs_cfg_sld_dbbrowse),
+                    G_CALLBACK (xs_cfg_sldb_browse),
+                    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_stil_enable, "toggled",
                     G_CALLBACK (xs_cfg_stil_enable_toggled),
@@ -1403,15 +1101,6 @@
   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);
@@ -1515,10 +1204,11 @@
   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_export, "cfg_sp2_filter_export");
   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_delete, "cfg_sp2_filter_delete");
   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");
@@ -1550,7 +1240,16 @@
   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_vbox19, "w_vbox19");
+  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_frame7, "w_frame7");
   GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox8, "w_vbox8");
   GLADE_HOOKUP_OBJECT (xs_configwin, cfg_stil_enable, "cfg_stil_enable");
@@ -1567,37 +1266,6 @@
   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");
@@ -1612,12 +1280,6 @@
 {
   GtkWidget *xs_fileinfowin;
   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 *w_frame14;
   GtkWidget *table1;
   GtkWidget *w_label16;
@@ -1632,8 +1294,8 @@
   GtkWidget *w_frame15;
   GtkWidget *w_vbox15;
   GtkWidget *fileinfo_sub_tune;
-  GtkWidget *convertwidget29;
-  GtkWidget *convertwidget30;
+  GtkWidget *convertwidget7;
+  GtkWidget *convertwidget8;
   GtkWidget *table2;
   GtkWidget *w_label41;
   GtkWidget *fileinfo_sub_author;
@@ -1647,58 +1309,19 @@
   GtkWidget *button2;
 
   xs_fileinfowin = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_widget_set_name (xs_fileinfowin, "xs_fileinfowin");
+  gtk_widget_set_size_request (xs_fileinfowin, 400, -1);
   gtk_window_set_title (GTK_WINDOW (xs_fileinfowin), _("Audacious-SID Fileinfo"));
-  gtk_window_set_default_size (GTK_WINDOW (xs_fileinfowin), 400, -1);
 
   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);
 
-  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);
-
-  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);
-
-  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_mnemonic (_(" < "));
-  gtk_widget_set_name (fileinfo_subctrl_prev, "fileinfo_subctrl_prev");
-  gtk_widget_show (fileinfo_subctrl_prev);
-  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_show (fileinfo_subctrl_adj);
-  gtk_box_pack_start (GTK_BOX (w_hbox19), fileinfo_subctrl_adj, TRUE, TRUE, 0);
-  gtk_widget_set_size_request (fileinfo_subctrl_adj, 80, -1);
-  gtk_scale_set_digits (GTK_SCALE (fileinfo_subctrl_adj), 0);
-
-  fileinfo_subctrl_next = gtk_button_new_with_mnemonic (_(" > "));
-  gtk_widget_set_name (fileinfo_subctrl_next, "fileinfo_subctrl_next");
-  gtk_widget_show (fileinfo_subctrl_next);
-  gtk_box_pack_start (GTK_BOX (w_hbox19), fileinfo_subctrl_next, FALSE, FALSE, 0);
-
   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_show (table1);
   gtk_container_add (GTK_CONTAINER (w_frame14), table1);
   gtk_container_set_border_width (GTK_CONTAINER (table1), 4);
@@ -1706,7 +1329,6 @@
   gtk_table_set_col_spacings (GTK_TABLE (table1), 4);
 
   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),
@@ -1714,7 +1336,6 @@
   gtk_label_set_justify (GTK_LABEL (w_label16), GTK_JUSTIFY_CENTER);
 
   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),
@@ -1722,7 +1343,6 @@
   gtk_label_set_justify (GTK_LABEL (w_label17), GTK_JUSTIFY_CENTER);
 
   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),
@@ -1730,7 +1350,6 @@
   gtk_label_set_justify (GTK_LABEL (w_label18), GTK_JUSTIFY_CENTER);
 
   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),
@@ -1738,71 +1357,64 @@
   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_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_editable_set_editable (GTK_EDITABLE (fileinfo_filename), FALSE);
+  gtk_entry_set_invisible_char (GTK_ENTRY (fileinfo_filename), 9679);
 
   fileinfo_songname = gtk_entry_new ();
-  gtk_widget_set_name (fileinfo_songname, "fileinfo_songname");
   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_editable_set_editable (GTK_EDITABLE (fileinfo_songname), FALSE);
+  gtk_entry_set_invisible_char (GTK_ENTRY (fileinfo_songname), 9679);
 
   fileinfo_composer = gtk_entry_new ();
-  gtk_widget_set_name (fileinfo_composer, "fileinfo_composer");
   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_editable_set_editable (GTK_EDITABLE (fileinfo_composer), FALSE);
+  gtk_entry_set_invisible_char (GTK_ENTRY (fileinfo_composer), 9679);
 
   fileinfo_copyright = gtk_entry_new ();
-  gtk_widget_set_name (fileinfo_copyright, "fileinfo_copyright");
   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_editable_set_editable (GTK_EDITABLE (fileinfo_copyright), FALSE);
+  gtk_entry_set_invisible_char (GTK_ENTRY (fileinfo_copyright), 9679);
 
   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);
 
   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);
 
   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_show (fileinfo_sub_tune);
-  gtk_box_pack_start (GTK_BOX (w_vbox15), fileinfo_sub_tune, TRUE, TRUE, 0);
+  gtk_box_pack_start (GTK_BOX (w_vbox15), fileinfo_sub_tune, FALSE, FALSE, 0);
   gtk_container_set_border_width (GTK_CONTAINER (fileinfo_sub_tune), 2);
 
-  convertwidget29 = gtk_menu_new ();
-  gtk_widget_set_name (convertwidget29, "convertwidget29");
+  convertwidget7 = gtk_menu_new ();
 
-  convertwidget30 = gtk_menu_item_new_with_mnemonic (_(" "));
-  gtk_widget_set_name (convertwidget30, "convertwidget30");
-  gtk_widget_show (convertwidget30);
-  gtk_container_add (GTK_CONTAINER (convertwidget29), convertwidget30);
+  convertwidget8 = gtk_menu_item_new_with_mnemonic (_(" "));
+  gtk_widget_show (convertwidget8);
+  gtk_container_add (GTK_CONTAINER (convertwidget7), convertwidget8);
 
-  gtk_option_menu_set_menu (GTK_OPTION_MENU (fileinfo_sub_tune), convertwidget29);
+  gtk_option_menu_set_menu (GTK_OPTION_MENU (fileinfo_sub_tune), convertwidget7);
 
   table2 = gtk_table_new (3, 2, FALSE);
-  gtk_widget_set_name (table2, "table2");
   gtk_widget_show (table2);
   gtk_box_pack_start (GTK_BOX (w_vbox15), table2, FALSE, FALSE, 0);
   gtk_container_set_border_width (GTK_CONTAINER (table2), 4);
@@ -1810,7 +1422,6 @@
   gtk_table_set_col_spacings (GTK_TABLE (table2), 4);
 
   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),
@@ -1818,15 +1429,14 @@
   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_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_editable_set_editable (GTK_EDITABLE (fileinfo_sub_author), FALSE);
+  gtk_entry_set_invisible_char (GTK_ENTRY (fileinfo_sub_author), 9679);
 
   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),
@@ -1834,15 +1444,14 @@
   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_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_editable_set_editable (GTK_EDITABLE (fileinfo_sub_name), FALSE);
+  gtk_entry_set_invisible_char (GTK_ENTRY (fileinfo_sub_name), 9679);
 
   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),
@@ -1851,15 +1460,14 @@
   gtk_misc_set_alignment (GTK_MISC (w_label51), 0, 0.5);
 
   entry1 = gtk_entry_new ();
-  gtk_widget_set_name (entry1, "entry1");
   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_editable_set_editable (GTK_EDITABLE (entry1), FALSE);
+  gtk_entry_set_invisible_char (GTK_ENTRY (entry1), 9679);
 
   scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL);
-  gtk_widget_set_name (scrolledwindow2, "scrolledwindow2");
   gtk_widget_show (scrolledwindow2);
   gtk_box_pack_start (GTK_BOX (w_vbox15), scrolledwindow2, TRUE, TRUE, 0);
   gtk_container_set_border_width (GTK_CONTAINER (scrolledwindow2), 4);
@@ -1868,33 +1476,24 @@
   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_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);
 
   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_show (button2);
   gtk_box_pack_start (GTK_BOX (w_vbox14), button2, FALSE, FALSE, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (button2), 6);
+  gtk_container_set_border_width (GTK_CONTAINER (button2), 4);
   GTK_WIDGET_SET_FLAGS (button2, GTK_CAN_DEFAULT);
 
   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);
@@ -1902,12 +1501,6 @@
   /* 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");
@@ -1922,8 +1515,8 @@
   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, convertwidget7, "convertwidget7");
+  GLADE_HOOKUP_OBJECT (xs_fileinfowin, convertwidget8, "convertwidget8");
   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");
@@ -1942,116 +1535,257 @@
 }
 
 GtkWidget*
-create_xs_sldbfileselector (void)
+create_xs_sldb_fs (void)
 {
-  GtkWidget *xs_sldbfileselector;
+  GtkWidget *xs_sldb_fs;
   GtkWidget *ok_button2;
   GtkWidget *cancel_button2;
 
-  xs_sldbfileselector = gtk_file_selection_new (_("Select HVSC song length database"));
-  gtk_widget_set_name (xs_sldbfileselector, "xs_sldbfileselector");
-  gtk_container_set_border_width (GTK_CONTAINER (xs_sldbfileselector), 10);
-  gtk_window_set_modal (GTK_WINDOW (xs_sldbfileselector), TRUE);
-  gtk_window_set_type_hint (GTK_WINDOW (xs_sldbfileselector), GDK_WINDOW_TYPE_HINT_DIALOG);
+  xs_sldb_fs = gtk_file_selection_new (_("Select HVSC song length database"));
+  gtk_container_set_border_width (GTK_CONTAINER (xs_sldb_fs), 10);
+  gtk_window_set_modal (GTK_WINDOW (xs_sldb_fs), TRUE);
+  gtk_window_set_type_hint (GTK_WINDOW (xs_sldb_fs), GDK_WINDOW_TYPE_HINT_DIALOG);
 
-  ok_button2 = GTK_FILE_SELECTION (xs_sldbfileselector)->ok_button;
-  gtk_widget_set_name (ok_button2, "ok_button2");
+  ok_button2 = GTK_FILE_SELECTION (xs_sldb_fs)->ok_button;
   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");
+  cancel_button2 = GTK_FILE_SELECTION (xs_sldb_fs)->cancel_button;
   gtk_widget_show (cancel_button2);
   GTK_WIDGET_SET_FLAGS (cancel_button2, GTK_CAN_DEFAULT);
 
+  g_signal_connect ((gpointer) xs_sldb_fs, "delete_event",
+                    G_CALLBACK (xs_sldb_fs_delete),
+                    NULL);
   g_signal_connect ((gpointer) ok_button2, "clicked",
-                    G_CALLBACK (xs_cfg_sldb_fs_ok),
+                    G_CALLBACK (xs_sldb_fs_ok),
                     NULL);
   g_signal_connect ((gpointer) cancel_button2, "clicked",
-                    G_CALLBACK (xs_cfg_sldb_fs_cancel),
+                    G_CALLBACK (xs_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");
+  GLADE_HOOKUP_OBJECT_NO_REF (xs_sldb_fs, xs_sldb_fs, "xs_sldb_fs");
+  GLADE_HOOKUP_OBJECT_NO_REF (xs_sldb_fs, ok_button2, "ok_button2");
+  GLADE_HOOKUP_OBJECT_NO_REF (xs_sldb_fs, cancel_button2, "cancel_button2");
 
-  return xs_sldbfileselector;
+  return xs_sldb_fs;
 }
 
 GtkWidget*
-create_xs_stilfileselector (void)
+create_xs_stil_fs (void)
 {
-  GtkWidget *xs_stilfileselector;
+  GtkWidget *xs_stil_fs;
   GtkWidget *ok_button3;
   GtkWidget *cancel_button3;
 
-  xs_stilfileselector = gtk_file_selection_new (_("Select STIL-database "));
-  gtk_widget_set_name (xs_stilfileselector, "xs_stilfileselector");
-  gtk_container_set_border_width (GTK_CONTAINER (xs_stilfileselector), 10);
-  gtk_window_set_modal (GTK_WINDOW (xs_stilfileselector), TRUE);
-  gtk_window_set_type_hint (GTK_WINDOW (xs_stilfileselector), GDK_WINDOW_TYPE_HINT_DIALOG);
+  xs_stil_fs = gtk_file_selection_new (_("Select STIL-database "));
+  gtk_container_set_border_width (GTK_CONTAINER (xs_stil_fs), 10);
+  gtk_window_set_modal (GTK_WINDOW (xs_stil_fs), TRUE);
+  gtk_window_set_type_hint (GTK_WINDOW (xs_stil_fs), GDK_WINDOW_TYPE_HINT_DIALOG);
 
-  ok_button3 = GTK_FILE_SELECTION (xs_stilfileselector)->ok_button;
-  gtk_widget_set_name (ok_button3, "ok_button3");
+  ok_button3 = GTK_FILE_SELECTION (xs_stil_fs)->ok_button;
   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");
+  cancel_button3 = GTK_FILE_SELECTION (xs_stil_fs)->cancel_button;
   gtk_widget_show (cancel_button3);
   GTK_WIDGET_SET_FLAGS (cancel_button3, GTK_CAN_DEFAULT);
 
+  g_signal_connect ((gpointer) xs_stil_fs, "delete_event",
+                    G_CALLBACK (xs_stil_fs_delete),
+                    NULL);
   g_signal_connect ((gpointer) ok_button3, "clicked",
-                    G_CALLBACK (xs_cfg_stil_fs_ok),
+                    G_CALLBACK (xs_stil_fs_ok),
                     NULL);
   g_signal_connect ((gpointer) cancel_button3, "clicked",
-                    G_CALLBACK (xs_cfg_stil_fs_cancel),
+                    G_CALLBACK (xs_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");
+  GLADE_HOOKUP_OBJECT_NO_REF (xs_stil_fs, xs_stil_fs, "xs_stil_fs");
+  GLADE_HOOKUP_OBJECT_NO_REF (xs_stil_fs, ok_button3, "ok_button3");
+  GLADE_HOOKUP_OBJECT_NO_REF (xs_stil_fs, cancel_button3, "cancel_button3");
 
-  return xs_stilfileselector;
+  return xs_stil_fs;
 }
 
 GtkWidget*
-create_xs_hvscpathselector (void)
+create_xs_hvsc_fs (void)
 {
-  GtkWidget *xs_hvscpathselector;
+  GtkWidget *xs_hvsc_fs;
   GtkWidget *ok_button4;
   GtkWidget *cancel_button4;
 
-  xs_hvscpathselector = gtk_file_selection_new (_("Select HVSC location prefix"));
-  gtk_widget_set_name (xs_hvscpathselector, "xs_hvscpathselector");
-  gtk_container_set_border_width (GTK_CONTAINER (xs_hvscpathselector), 10);
-  gtk_window_set_modal (GTK_WINDOW (xs_hvscpathselector), TRUE);
-  gtk_window_set_type_hint (GTK_WINDOW (xs_hvscpathselector), GDK_WINDOW_TYPE_HINT_DIALOG);
+  xs_hvsc_fs = gtk_file_selection_new (_("Select HVSC location prefix"));
+  gtk_container_set_border_width (GTK_CONTAINER (xs_hvsc_fs), 10);
+  gtk_window_set_modal (GTK_WINDOW (xs_hvsc_fs), TRUE);
+  gtk_window_set_type_hint (GTK_WINDOW (xs_hvsc_fs), GDK_WINDOW_TYPE_HINT_DIALOG);
 
-  ok_button4 = GTK_FILE_SELECTION (xs_hvscpathselector)->ok_button;
-  gtk_widget_set_name (ok_button4, "ok_button4");
+  ok_button4 = GTK_FILE_SELECTION (xs_hvsc_fs)->ok_button;
   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");
+  cancel_button4 = GTK_FILE_SELECTION (xs_hvsc_fs)->cancel_button;
   gtk_widget_show (cancel_button4);
   GTK_WIDGET_SET_FLAGS (cancel_button4, GTK_CAN_DEFAULT);
 
+  g_signal_connect ((gpointer) xs_hvsc_fs, "delete_event",
+                    G_CALLBACK (xs_hvsc_fs_delete),
+                    NULL);
   g_signal_connect ((gpointer) ok_button4, "clicked",
-                    G_CALLBACK (xs_cfg_hvsc_fs_ok),
+                    G_CALLBACK (xs_hvsc_fs_ok),
                     NULL);
   g_signal_connect ((gpointer) cancel_button4, "clicked",
-                    G_CALLBACK (xs_cfg_hvsc_fs_cancel),
+                    G_CALLBACK (xs_hvsc_fs_cancel),
+                    NULL);
+
+  /* Store pointers to all widgets, for use by lookup_widget(). */
+  GLADE_HOOKUP_OBJECT_NO_REF (xs_hvsc_fs, xs_hvsc_fs, "xs_hvsc_fs");
+  GLADE_HOOKUP_OBJECT_NO_REF (xs_hvsc_fs, ok_button4, "ok_button4");
+  GLADE_HOOKUP_OBJECT_NO_REF (xs_hvsc_fs, cancel_button4, "cancel_button4");
+
+  return xs_hvsc_fs;
+}
+
+GtkWidget*
+create_xs_filter_import_fs (void)
+{
+  GtkWidget *xs_filter_import_fs;
+  GtkWidget *ok_button64;
+  GtkWidget *cancel_button64;
+
+  xs_filter_import_fs = gtk_file_selection_new (_("Select SIDPlay2 filters file for importing"));
+  gtk_container_set_border_width (GTK_CONTAINER (xs_filter_import_fs), 10);
+  gtk_window_set_modal (GTK_WINDOW (xs_filter_import_fs), TRUE);
+  gtk_window_set_type_hint (GTK_WINDOW (xs_filter_import_fs), GDK_WINDOW_TYPE_HINT_DIALOG);
+
+  ok_button64 = GTK_FILE_SELECTION (xs_filter_import_fs)->ok_button;
+  gtk_widget_show (ok_button64);
+  GTK_WIDGET_SET_FLAGS (ok_button64, GTK_CAN_DEFAULT);
+
+  cancel_button64 = GTK_FILE_SELECTION (xs_filter_import_fs)->cancel_button;
+  gtk_widget_show (cancel_button64);
+  GTK_WIDGET_SET_FLAGS (cancel_button64, GTK_CAN_DEFAULT);
+
+  g_signal_connect ((gpointer) xs_filter_import_fs, "delete_event",
+                    G_CALLBACK (xs_filter_import_fs_delete),
+                    NULL);
+  g_signal_connect ((gpointer) ok_button64, "clicked",
+                    G_CALLBACK (xs_filter_import_fs_ok),
+                    NULL);
+  g_signal_connect ((gpointer) cancel_button64, "clicked",
+                    G_CALLBACK (xs_filter_import_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");
+  GLADE_HOOKUP_OBJECT_NO_REF (xs_filter_import_fs, xs_filter_import_fs, "xs_filter_import_fs");
+  GLADE_HOOKUP_OBJECT_NO_REF (xs_filter_import_fs, ok_button64, "ok_button64");
+  GLADE_HOOKUP_OBJECT_NO_REF (xs_filter_import_fs, cancel_button64, "cancel_button64");
+
+  return xs_filter_import_fs;
+}
+
+GtkWidget*
+create_xs_filter_export_fs (void)
+{
+  GtkWidget *xs_filter_export_fs;
+  GtkWidget *ok_button64;
+  GtkWidget *cancel_button64;
+
+  xs_filter_export_fs = gtk_file_selection_new (_("Select SIDPlay2 filters file for exporting"));
+  gtk_container_set_border_width (GTK_CONTAINER (xs_filter_export_fs), 10);
+  gtk_window_set_modal (GTK_WINDOW (xs_filter_export_fs), TRUE);
+  gtk_window_set_type_hint (GTK_WINDOW (xs_filter_export_fs), GDK_WINDOW_TYPE_HINT_DIALOG);
 
-  return xs_hvscpathselector;
+  ok_button64 = GTK_FILE_SELECTION (xs_filter_export_fs)->ok_button;
+  gtk_widget_show (ok_button64);
+  GTK_WIDGET_SET_FLAGS (ok_button64, GTK_CAN_DEFAULT);
+
+  cancel_button64 = GTK_FILE_SELECTION (xs_filter_export_fs)->cancel_button;
+  gtk_widget_show (cancel_button64);
+  GTK_WIDGET_SET_FLAGS (cancel_button64, GTK_CAN_DEFAULT);
+
+  g_signal_connect ((gpointer) xs_filter_export_fs, "delete_event",
+                    G_CALLBACK (xs_filter_export_fs_delete),
+                    NULL);
+  g_signal_connect ((gpointer) ok_button64, "clicked",
+                    G_CALLBACK (xs_filter_export_fs_ok),
+                    NULL);
+  g_signal_connect ((gpointer) cancel_button64, "clicked",
+                    G_CALLBACK (xs_filter_export_fs_cancel),
+                    NULL);
+
+  /* Store pointers to all widgets, for use by lookup_widget(). */
+  GLADE_HOOKUP_OBJECT_NO_REF (xs_filter_export_fs, xs_filter_export_fs, "xs_filter_export_fs");
+  GLADE_HOOKUP_OBJECT_NO_REF (xs_filter_export_fs, ok_button64, "ok_button64");
+  GLADE_HOOKUP_OBJECT_NO_REF (xs_filter_export_fs, cancel_button64, "cancel_button64");
+
+  return xs_filter_export_fs;
 }
 
+GtkWidget*
+create_xs_confirmwin (void)
+{
+  GtkWidget *xs_confirmwin;
+  GtkWidget *dialog_vbox1;
+  GtkWidget *xs_confirm_frame;
+  GtkWidget *label25;
+  GtkWidget *dialog_action_area1;
+  GtkWidget *hbuttonbox2;
+  GtkWidget *xs_confirm_yes;
+  GtkWidget *xs_confirm_no;
+
+  xs_confirmwin = gtk_dialog_new ();
+  gtk_window_set_title (GTK_WINDOW (xs_confirmwin), _("Confirm selected action"));
+  gtk_window_set_type_hint (GTK_WINDOW (xs_confirmwin), GDK_WINDOW_TYPE_HINT_DIALOG);
+
+  dialog_vbox1 = GTK_DIALOG (xs_confirmwin)->vbox;
+  gtk_widget_show (dialog_vbox1);
+
+  xs_confirm_frame = gtk_frame_new (NULL);
+  gtk_widget_show (xs_confirm_frame);
+  gtk_box_pack_start (GTK_BOX (dialog_vbox1), xs_confirm_frame, TRUE, TRUE, 0);
+  gtk_container_set_border_width (GTK_CONTAINER (xs_confirm_frame), 6);
+
+  label25 = gtk_label_new (_("Confirm selected action"));
+  gtk_widget_show (label25);
+  gtk_frame_set_label_widget (GTK_FRAME (xs_confirm_frame), label25);
+
+  dialog_action_area1 = GTK_DIALOG (xs_confirmwin)->action_area;
+  gtk_widget_show (dialog_action_area1);
+  gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END);
+
+  hbuttonbox2 = gtk_hbutton_box_new ();
+  gtk_widget_show (hbuttonbox2);
+  gtk_container_add (GTK_CONTAINER (dialog_action_area1), hbuttonbox2);
+  gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox2), GTK_BUTTONBOX_END);
+  gtk_box_set_spacing (GTK_BOX (hbuttonbox2), 8);
+
+  xs_confirm_yes = gtk_button_new_with_mnemonic (_("Yes"));
+  gtk_widget_show (xs_confirm_yes);
+  gtk_container_add (GTK_CONTAINER (hbuttonbox2), xs_confirm_yes);
+  GTK_WIDGET_SET_FLAGS (xs_confirm_yes, GTK_CAN_DEFAULT);
+
+  xs_confirm_no = gtk_button_new_with_mnemonic (_("No"));
+  gtk_widget_show (xs_confirm_no);
+  gtk_container_add (GTK_CONTAINER (hbuttonbox2), xs_confirm_no);
+  GTK_WIDGET_SET_FLAGS (xs_confirm_no, GTK_CAN_DEFAULT);
+
+  g_signal_connect ((gpointer) xs_confirmwin, "delete_event",
+                    G_CALLBACK (xs_confirmwin_delete),
+                    NULL);
+
+  /* Store pointers to all widgets, for use by lookup_widget(). */
+  GLADE_HOOKUP_OBJECT_NO_REF (xs_confirmwin, xs_confirmwin, "xs_confirmwin");
+  GLADE_HOOKUP_OBJECT_NO_REF (xs_confirmwin, dialog_vbox1, "dialog_vbox1");
+  GLADE_HOOKUP_OBJECT (xs_confirmwin, xs_confirm_frame, "xs_confirm_frame");
+  GLADE_HOOKUP_OBJECT (xs_confirmwin, label25, "label25");
+  GLADE_HOOKUP_OBJECT_NO_REF (xs_confirmwin, dialog_action_area1, "dialog_action_area1");
+  GLADE_HOOKUP_OBJECT (xs_confirmwin, hbuttonbox2, "hbuttonbox2");
+  GLADE_HOOKUP_OBJECT (xs_confirmwin, xs_confirm_yes, "xs_confirm_yes");
+  GLADE_HOOKUP_OBJECT (xs_confirmwin, xs_confirm_no, "xs_confirm_no");
+
+  return xs_confirmwin;
+}
+