9e232f2c0f837b1f37be62c226e0e081f1d1e3e4
[terminatorX.git] / src / tX_glade_interface.cc
1 /*
2  * DO NOT EDIT THIS FILE - it is generated by Glade.
3  */
4
5 #ifdef HAVE_CONFIG_H
6 #  include <config.h>
7 #endif
8
9 #include <sys/types.h>
10 #include <sys/stat.h>
11 #include <unistd.h>
12 #include <string.h>
13 #include <stdio.h>
14
15 #include <gdk/gdkkeysyms.h>
16 #include <gtk/gtk.h>
17
18 #include "tX_glade_callbacks.h"
19 #include "tX_glade_interface.h"
20 #include "tX_glade_support.h"
21
22 #define GLADE_HOOKUP_OBJECT(component,widget,name) \
23   g_object_set_data_full (G_OBJECT (component), name, \
24     gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref)
25
26 #define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \
27   g_object_set_data (G_OBJECT (component), name, widget)
28
29 GtkWidget*
30 create_tx_adjust (void)
31 {
32   GtkWidget *tx_adjust;
33   GtkWidget *dialog_vbox2;
34   GtkWidget *vbox1;
35   GtkWidget *label34;
36   GtkWidget *table7;
37   GtkObject *master_cycles_adj;
38   GtkWidget *master_cycles;
39   GtkWidget *label36;
40   GtkWidget *label35;
41   GtkObject *cycles_adj;
42   GtkWidget *cycles;
43   GtkWidget *create_event;
44   GtkWidget *dialog_action_area2;
45   GtkWidget *cancel;
46   GtkWidget *ok;
47   GtkTooltips *tooltips;
48
49   tooltips = gtk_tooltips_new ();
50
51   tx_adjust = gtk_dialog_new ();
52   gtk_window_set_title (GTK_WINDOW (tx_adjust), "Compute Pitch");
53
54   dialog_vbox2 = GTK_DIALOG (tx_adjust)->vbox;
55   gtk_widget_show (dialog_vbox2);
56
57   vbox1 = gtk_vbox_new (FALSE, 4);
58   gtk_widget_show (vbox1);
59   gtk_box_pack_start (GTK_BOX (dialog_vbox2), vbox1, TRUE, TRUE, 0);
60   gtk_container_set_border_width (GTK_CONTAINER (vbox1), 4);
61
62   label34 = gtk_label_new ("In order to compute the optimum pitch value, please specify how many loops of this turntable should play as fast as how many loops of the masterturntable:");
63   gtk_widget_show (label34);
64   gtk_box_pack_start (GTK_BOX (vbox1), label34, FALSE, FALSE, 0);
65   gtk_label_set_justify (GTK_LABEL (label34), GTK_JUSTIFY_LEFT);
66   gtk_label_set_line_wrap (GTK_LABEL (label34), TRUE);
67
68   table7 = gtk_table_new (2, 2, FALSE);
69   gtk_widget_show (table7);
70   gtk_box_pack_start (GTK_BOX (vbox1), table7, TRUE, TRUE, 0);
71   gtk_table_set_col_spacings (GTK_TABLE (table7), 3);
72
73   master_cycles_adj = gtk_adjustment_new (1, 1, 100, 1, 10, 10);
74   master_cycles = gtk_spin_button_new (GTK_ADJUSTMENT (master_cycles_adj), 1, 0);
75   gtk_widget_show (master_cycles);
76   gtk_table_attach (GTK_TABLE (table7), master_cycles, 1, 2, 1, 2,
77                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
78                     (GtkAttachOptions) (0), 0, 0);
79   gtk_tooltips_set_tip (tooltips, master_cycles, "Specify the number of loops for the master turntable.", NULL);
80
81   label36 = gtk_label_new ("Loops of the master turntable:");
82   gtk_widget_show (label36);
83   gtk_table_attach (GTK_TABLE (table7), label36, 0, 1, 1, 2,
84                     (GtkAttachOptions) (GTK_FILL),
85                     (GtkAttachOptions) (0), 0, 0);
86   gtk_label_set_justify (GTK_LABEL (label36), GTK_JUSTIFY_LEFT);
87
88   label35 = gtk_label_new ("Loops of this turntable turntable:");
89   gtk_widget_show (label35);
90   gtk_table_attach (GTK_TABLE (table7), label35, 0, 1, 0, 1,
91                     (GtkAttachOptions) (GTK_FILL),
92                     (GtkAttachOptions) (0), 0, 0);
93   gtk_label_set_justify (GTK_LABEL (label35), GTK_JUSTIFY_LEFT);
94
95   cycles_adj = gtk_adjustment_new (1, 1, 100, 1, 10, 10);
96   cycles = gtk_spin_button_new (GTK_ADJUSTMENT (cycles_adj), 1, 0);
97   gtk_widget_show (cycles);
98   gtk_table_attach (GTK_TABLE (table7), cycles, 1, 2, 0, 1,
99                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
100                     (GtkAttachOptions) (0), 0, 0);
101   gtk_tooltips_set_tip (tooltips, cycles, "Specify the number of loops of _this_ turntable.", NULL);
102
103   create_event = gtk_check_button_new_with_mnemonic ("Record a sequencer event");
104   gtk_widget_show (create_event);
105   gtk_box_pack_start (GTK_BOX (vbox1), create_event, FALSE, FALSE, 0);
106   gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (create_event), TRUE);
107
108   dialog_action_area2 = GTK_DIALOG (tx_adjust)->action_area;
109   gtk_widget_show (dialog_action_area2);
110   gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area2), GTK_BUTTONBOX_END);
111
112   cancel = gtk_button_new_from_stock ("gtk-cancel");
113   gtk_widget_show (cancel);
114   gtk_dialog_add_action_widget (GTK_DIALOG (tx_adjust), cancel, GTK_RESPONSE_CANCEL);
115   GTK_WIDGET_SET_FLAGS (cancel, GTK_CAN_DEFAULT);
116
117   ok = gtk_button_new_from_stock ("gtk-ok");
118   gtk_widget_show (ok);
119   gtk_dialog_add_action_widget (GTK_DIALOG (tx_adjust), ok, GTK_RESPONSE_OK);
120   GTK_WIDGET_SET_FLAGS (ok, GTK_CAN_DEFAULT);
121
122   /* Store pointers to all widgets, for use by lookup_widget(). */
123   GLADE_HOOKUP_OBJECT_NO_REF (tx_adjust, tx_adjust, "tx_adjust");
124   GLADE_HOOKUP_OBJECT_NO_REF (tx_adjust, dialog_vbox2, "dialog_vbox2");
125   GLADE_HOOKUP_OBJECT (tx_adjust, vbox1, "vbox1");
126   GLADE_HOOKUP_OBJECT (tx_adjust, label34, "label34");
127   GLADE_HOOKUP_OBJECT (tx_adjust, table7, "table7");
128   GLADE_HOOKUP_OBJECT (tx_adjust, master_cycles, "master_cycles");
129   GLADE_HOOKUP_OBJECT (tx_adjust, label36, "label36");
130   GLADE_HOOKUP_OBJECT (tx_adjust, label35, "label35");
131   GLADE_HOOKUP_OBJECT (tx_adjust, cycles, "cycles");
132   GLADE_HOOKUP_OBJECT (tx_adjust, create_event, "create_event");
133   GLADE_HOOKUP_OBJECT_NO_REF (tx_adjust, dialog_action_area2, "dialog_action_area2");
134   GLADE_HOOKUP_OBJECT (tx_adjust, cancel, "cancel");
135   GLADE_HOOKUP_OBJECT (tx_adjust, ok, "ok");
136   GLADE_HOOKUP_OBJECT_NO_REF (tx_adjust, tooltips, "tooltips");
137
138   return tx_adjust;
139 }
140
141 GtkWidget*
142 create_tx_options (void)
143 {
144   GtkWidget *tx_options;
145   GtkWidget *dialog_vbox3;
146   GtkWidget *notebook1;
147   GtkWidget *table4;
148   GtkWidget *label18;
149   GtkWidget *hbox2;
150   GtkWidget *oss_driver;
151   GSList *oss_driver_group = NULL;
152   GtkWidget *alsa_driver;
153   GtkWidget *jack_driver;
154   GtkWidget *label1;
155   GtkWidget *table5;
156   GtkWidget *label21;
157   GtkWidget *label22;
158   GtkWidget *label23;
159   GtkWidget *label24;
160   GtkWidget *oss_audio_device;
161   GtkWidget *combo_entry2;
162   GtkObject *oss_buffers_adj;
163   GtkWidget *oss_buffers;
164   GtkWidget *oss_buffersize;
165   GtkWidget *oss_samplerate;
166   GtkWidget *combo_entry3;
167   GtkWidget *label15;
168   GtkWidget *table6;
169   GtkWidget *label27;
170   GtkWidget *label29;
171   GtkWidget *label30;
172   GtkWidget *alsa_audio_device;
173   GtkWidget *combo_entry4;
174   GtkWidget *alsa_samplerate;
175   GtkWidget *combo_entry5;
176   GtkWidget *alsa_period_time;
177   GtkWidget *label32;
178   GtkWidget *alsa_buffer_time;
179   GtkWidget *label39;
180   GtkWidget *alsa_free_hwstats;
181   GtkWidget *label16;
182   GtkWidget *table1;
183   GtkWidget *label5;
184   GtkWidget *label6;
185   GtkWidget *label7;
186   GtkWidget *xinput_device;
187   GtkWidget *combo_entry1;
188   GtkWidget *mouse_speed;
189   GtkWidget *stop_sense_cycles;
190   GtkWidget *label25;
191   GtkWidget *xinput_enable;
192   GtkWidget *label37;
193   GtkWidget *vtt_inertia;
194   GtkWidget *label4;
195   GtkWidget *table2;
196   GtkWidget *label8;
197   GtkWidget *label9;
198   GtkWidget *label10;
199   GtkWidget *label11;
200   GtkWidget *mainwin_tooltips;
201   GtkWidget *update_idle;
202   GtkWidget *update_delay;
203   GtkWidget *vumeter_decay;
204   GtkWidget *label14;
205   GtkWidget *startup_nagbox;
206   GtkWidget *label12;
207   GtkWidget *hbox1;
208   GtkWidget *buttons_text_and_icon;
209   GSList *buttons_text_and_icon_group = NULL;
210   GtkWidget *buttons_icon_only;
211   GtkWidget *buttons_text_only;
212   GtkWidget *label38;
213   GtkObject *filename_length_adj;
214   GtkWidget *filename_length;
215   GtkWidget *label2;
216   GtkWidget *table3;
217   GtkWidget *label13;
218   GtkWidget *soundfile_editor;
219   GtkWidget *label26;
220   GtkWidget *prelisten_enabled;
221   GtkWidget *label31;
222   GtkWidget *ladspa_rdf_path;
223   GtkWidget *label33;
224   GtkWidget *compress_set_files;
225   GtkWidget *label40;
226   GtkWidget *reconnect_enabled;
227   GtkWidget *label3;
228   GtkWidget *dialog_action_area3;
229   GtkWidget *pref_reset;
230   GtkWidget *pref_cancel;
231   GtkWidget *pref_apply;
232   GtkWidget *pref_ok;
233   GtkTooltips *tooltips;
234
235   tooltips = gtk_tooltips_new ();
236
237   tx_options = gtk_dialog_new ();
238   gtk_window_set_title (GTK_WINDOW (tx_options), "terminatorX Preferences");
239
240   dialog_vbox3 = GTK_DIALOG (tx_options)->vbox;
241   gtk_widget_show (dialog_vbox3);
242
243   notebook1 = gtk_notebook_new ();
244   gtk_widget_show (notebook1);
245   gtk_box_pack_start (GTK_BOX (dialog_vbox3), notebook1, TRUE, TRUE, 0);
246
247   table4 = gtk_table_new (1, 2, FALSE);
248   gtk_widget_show (table4);
249   gtk_container_add (GTK_CONTAINER (notebook1), table4);
250   gtk_container_set_border_width (GTK_CONTAINER (table4), 4);
251   gtk_table_set_row_spacings (GTK_TABLE (table4), 2);
252   gtk_table_set_col_spacings (GTK_TABLE (table4), 2);
253
254   label18 = gtk_label_new ("Use Driver:");
255   gtk_widget_show (label18);
256   gtk_table_attach (GTK_TABLE (table4), label18, 0, 1, 0, 1,
257                     (GtkAttachOptions) (GTK_FILL),
258                     (GtkAttachOptions) (0), 0, 0);
259   gtk_label_set_justify (GTK_LABEL (label18), GTK_JUSTIFY_LEFT);
260   gtk_misc_set_alignment (GTK_MISC (label18), 0, 0.5);
261
262   hbox2 = gtk_hbox_new (FALSE, 5);
263   gtk_widget_show (hbox2);
264   gtk_table_attach (GTK_TABLE (table4), hbox2, 1, 2, 0, 1,
265                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
266                     (GtkAttachOptions) (GTK_FILL), 0, 0);
267
268   oss_driver = gtk_radio_button_new_with_mnemonic (NULL, "OSS");
269   gtk_widget_show (oss_driver);
270   gtk_box_pack_start (GTK_BOX (hbox2), oss_driver, FALSE, FALSE, 0);
271   gtk_tooltips_set_tip (tooltips, oss_driver, "Use the OSS (Open Sound System) driver for audio output.", NULL);
272   gtk_radio_button_set_group (GTK_RADIO_BUTTON (oss_driver), oss_driver_group);
273   oss_driver_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (oss_driver));
274
275   alsa_driver = gtk_radio_button_new_with_mnemonic (NULL, "ALSA");
276   gtk_widget_show (alsa_driver);
277   gtk_box_pack_start (GTK_BOX (hbox2), alsa_driver, FALSE, FALSE, 0);
278   gtk_tooltips_set_tip (tooltips, alsa_driver, "Use the ALSA (Advanced Linux Sound System) driver for audio output.", NULL);
279   gtk_radio_button_set_group (GTK_RADIO_BUTTON (alsa_driver), oss_driver_group);
280   oss_driver_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (alsa_driver));
281
282   jack_driver = gtk_radio_button_new_with_mnemonic (NULL, "JACK");
283   gtk_widget_show (jack_driver);
284   gtk_box_pack_start (GTK_BOX (hbox2), jack_driver, FALSE, FALSE, 0);
285   gtk_tooltips_set_tip (tooltips, jack_driver, "Use the JACK (JACK Audio Connection Kit) driver for audio output.", NULL);
286   gtk_radio_button_set_group (GTK_RADIO_BUTTON (jack_driver), oss_driver_group);
287   oss_driver_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (jack_driver));
288
289   label1 = gtk_label_new ("Audio");
290   gtk_widget_show (label1);
291   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 0), label1);
292   gtk_label_set_justify (GTK_LABEL (label1), GTK_JUSTIFY_LEFT);
293
294   table5 = gtk_table_new (4, 2, FALSE);
295   gtk_widget_show (table5);
296   gtk_container_add (GTK_CONTAINER (notebook1), table5);
297   gtk_container_set_border_width (GTK_CONTAINER (table5), 4);
298   gtk_table_set_row_spacings (GTK_TABLE (table5), 2);
299   gtk_table_set_col_spacings (GTK_TABLE (table5), 2);
300
301   label21 = gtk_label_new ("Audio Device:");
302   gtk_widget_show (label21);
303   gtk_table_attach (GTK_TABLE (table5), label21, 0, 1, 0, 1,
304                     (GtkAttachOptions) (GTK_FILL),
305                     (GtkAttachOptions) (0), 0, 0);
306   gtk_label_set_justify (GTK_LABEL (label21), GTK_JUSTIFY_LEFT);
307   gtk_misc_set_alignment (GTK_MISC (label21), 0, 0.5);
308
309   label22 = gtk_label_new ("No. of Buffers:");
310   gtk_widget_show (label22);
311   gtk_table_attach (GTK_TABLE (table5), label22, 0, 1, 1, 2,
312                     (GtkAttachOptions) (GTK_FILL),
313                     (GtkAttachOptions) (0), 0, 0);
314   gtk_label_set_justify (GTK_LABEL (label22), GTK_JUSTIFY_LEFT);
315   gtk_misc_set_alignment (GTK_MISC (label22), 0, 0.5);
316
317   label23 = gtk_label_new ("Buffersize (2^x):");
318   gtk_widget_show (label23);
319   gtk_table_attach (GTK_TABLE (table5), label23, 0, 1, 2, 3,
320                     (GtkAttachOptions) (GTK_FILL),
321                     (GtkAttachOptions) (0), 0, 0);
322   gtk_label_set_justify (GTK_LABEL (label23), GTK_JUSTIFY_LEFT);
323   gtk_misc_set_alignment (GTK_MISC (label23), 0, 0.5);
324
325   label24 = gtk_label_new ("Samplerate (Hz):");
326   gtk_widget_show (label24);
327   gtk_table_attach (GTK_TABLE (table5), label24, 0, 1, 3, 4,
328                     (GtkAttachOptions) (GTK_FILL),
329                     (GtkAttachOptions) (0), 0, 0);
330   gtk_label_set_justify (GTK_LABEL (label24), GTK_JUSTIFY_LEFT);
331   gtk_misc_set_alignment (GTK_MISC (label24), 0, 0.5);
332
333   oss_audio_device = gtk_combo_new ();
334   g_object_set_data (G_OBJECT (GTK_COMBO (oss_audio_device)->popwin),
335                      "GladeParentKey", oss_audio_device);
336   gtk_widget_show (oss_audio_device);
337   gtk_table_attach (GTK_TABLE (table5), oss_audio_device, 1, 2, 0, 1,
338                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
339                     (GtkAttachOptions) (0), 0, 0);
340
341   combo_entry2 = GTK_COMBO (oss_audio_device)->entry;
342   gtk_widget_show (combo_entry2);
343   gtk_tooltips_set_tip (tooltips, combo_entry2, "Select the audiodevice you want terminatorX to send its output to.", NULL);
344
345   oss_buffers_adj = gtk_adjustment_new (2, 2, 5, 1, 10, 10);
346   oss_buffers = gtk_spin_button_new (GTK_ADJUSTMENT (oss_buffers_adj), 1, 0);
347   gtk_widget_show (oss_buffers);
348   gtk_table_attach (GTK_TABLE (table5), oss_buffers, 1, 2, 1, 2,
349                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
350                     (GtkAttachOptions) (0), 0, 0);
351   gtk_tooltips_set_tip (tooltips, oss_buffers, "Sets the number of kernel level audio buffers. Actually most systems should run just fine with two.", NULL);
352
353   oss_buffersize = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (9, 8, 16, 1, 1, 1)));
354   gtk_widget_show (oss_buffersize);
355   gtk_table_attach (GTK_TABLE (table5), oss_buffersize, 1, 2, 2, 3,
356                     (GtkAttachOptions) (GTK_FILL),
357                     (GtkAttachOptions) (GTK_FILL), 0, 0);
358   gtk_scale_set_digits (GTK_SCALE (oss_buffersize), 0);
359
360   oss_samplerate = gtk_combo_new ();
361   g_object_set_data (G_OBJECT (GTK_COMBO (oss_samplerate)->popwin),
362                      "GladeParentKey", oss_samplerate);
363   gtk_widget_show (oss_samplerate);
364   gtk_table_attach (GTK_TABLE (table5), oss_samplerate, 1, 2, 3, 4,
365                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
366                     (GtkAttachOptions) (0), 0, 0);
367
368   combo_entry3 = GTK_COMBO (oss_samplerate)->entry;
369   gtk_widget_show (combo_entry3);
370   gtk_tooltips_set_tip (tooltips, combo_entry3, "Select the sampling to use for this audio device - the higher the better quality. Note that not all sampling rates are supported by all audio devices.", NULL);
371
372   label15 = gtk_label_new ("Audio: OSS");
373   gtk_widget_show (label15);
374   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 1), label15);
375   gtk_label_set_justify (GTK_LABEL (label15), GTK_JUSTIFY_LEFT);
376
377   table6 = gtk_table_new (5, 2, FALSE);
378   gtk_widget_show (table6);
379   gtk_container_add (GTK_CONTAINER (notebook1), table6);
380   gtk_container_set_border_width (GTK_CONTAINER (table6), 4);
381   gtk_table_set_row_spacings (GTK_TABLE (table6), 2);
382   gtk_table_set_col_spacings (GTK_TABLE (table6), 2);
383
384   label27 = gtk_label_new ("Audio Device:");
385   gtk_widget_show (label27);
386   gtk_table_attach (GTK_TABLE (table6), label27, 0, 1, 0, 1,
387                     (GtkAttachOptions) (GTK_FILL),
388                     (GtkAttachOptions) (0), 0, 0);
389   gtk_label_set_justify (GTK_LABEL (label27), GTK_JUSTIFY_LEFT);
390   gtk_misc_set_alignment (GTK_MISC (label27), 0, 0.5);
391
392   label29 = gtk_label_new ("Period Time (ms):");
393   gtk_widget_show (label29);
394   gtk_table_attach (GTK_TABLE (table6), label29, 0, 1, 2, 3,
395                     (GtkAttachOptions) (GTK_FILL),
396                     (GtkAttachOptions) (0), 0, 0);
397   gtk_label_set_justify (GTK_LABEL (label29), GTK_JUSTIFY_LEFT);
398   gtk_misc_set_alignment (GTK_MISC (label29), 0, 0.5);
399
400   label30 = gtk_label_new ("Samplerate (Hz):");
401   gtk_widget_show (label30);
402   gtk_table_attach (GTK_TABLE (table6), label30, 0, 1, 3, 4,
403                     (GtkAttachOptions) (GTK_FILL),
404                     (GtkAttachOptions) (0), 0, 0);
405   gtk_label_set_justify (GTK_LABEL (label30), GTK_JUSTIFY_LEFT);
406   gtk_misc_set_alignment (GTK_MISC (label30), 0, 0.5);
407
408   alsa_audio_device = gtk_combo_new ();
409   g_object_set_data (G_OBJECT (GTK_COMBO (alsa_audio_device)->popwin),
410                      "GladeParentKey", alsa_audio_device);
411   gtk_widget_show (alsa_audio_device);
412   gtk_table_attach (GTK_TABLE (table6), alsa_audio_device, 1, 2, 0, 1,
413                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
414                     (GtkAttachOptions) (0), 0, 0);
415
416   combo_entry4 = GTK_COMBO (alsa_audio_device)->entry;
417   gtk_widget_show (combo_entry4);
418
419   alsa_samplerate = gtk_combo_new ();
420   g_object_set_data (G_OBJECT (GTK_COMBO (alsa_samplerate)->popwin),
421                      "GladeParentKey", alsa_samplerate);
422   gtk_widget_show (alsa_samplerate);
423   gtk_table_attach (GTK_TABLE (table6), alsa_samplerate, 1, 2, 3, 4,
424                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
425                     (GtkAttachOptions) (0), 0, 0);
426
427   combo_entry5 = GTK_COMBO (alsa_samplerate)->entry;
428   gtk_widget_show (combo_entry5);
429
430   alsa_period_time = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (29, 10, 500, 1, 10, 10)));
431   gtk_widget_show (alsa_period_time);
432   gtk_table_attach (GTK_TABLE (table6), alsa_period_time, 1, 2, 2, 3,
433                     (GtkAttachOptions) (GTK_FILL),
434                     (GtkAttachOptions) (GTK_FILL), 0, 0);
435   gtk_scale_set_digits (GTK_SCALE (alsa_period_time), 0);
436
437   label32 = gtk_label_new ("Buffer Time (ms):");
438   gtk_widget_show (label32);
439   gtk_table_attach (GTK_TABLE (table6), label32, 0, 1, 1, 2,
440                     (GtkAttachOptions) (GTK_FILL),
441                     (GtkAttachOptions) (0), 0, 0);
442   gtk_label_set_justify (GTK_LABEL (label32), GTK_JUSTIFY_LEFT);
443   gtk_misc_set_alignment (GTK_MISC (label32), 0, 0.5);
444
445   alsa_buffer_time = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (50, 10, 500, 1, 10, 10)));
446   gtk_widget_show (alsa_buffer_time);
447   gtk_table_attach (GTK_TABLE (table6), alsa_buffer_time, 1, 2, 1, 2,
448                     (GtkAttachOptions) (GTK_FILL),
449                     (GtkAttachOptions) (GTK_FILL), 0, 0);
450   gtk_scale_set_digits (GTK_SCALE (alsa_buffer_time), 0);
451
452   label39 = gtk_label_new ("Free HWstats:");
453   gtk_widget_show (label39);
454   gtk_table_attach (GTK_TABLE (table6), label39, 0, 1, 4, 5,
455                     (GtkAttachOptions) (GTK_FILL),
456                     (GtkAttachOptions) (0), 0, 0);
457   gtk_label_set_justify (GTK_LABEL (label39), GTK_JUSTIFY_LEFT);
458   gtk_misc_set_alignment (GTK_MISC (label39), 0, 0.5);
459
460   alsa_free_hwstats = gtk_check_button_new_with_mnemonic ("Enabled");
461   gtk_widget_show (alsa_free_hwstats);
462   gtk_table_attach (GTK_TABLE (table6), alsa_free_hwstats, 1, 2, 4, 5,
463                     (GtkAttachOptions) (GTK_FILL),
464                     (GtkAttachOptions) (0), 0, 0);
465   gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (alsa_free_hwstats), TRUE);
466
467   label16 = gtk_label_new ("Audio: ALSA");
468   gtk_widget_show (label16);
469   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 2), label16);
470   gtk_label_set_justify (GTK_LABEL (label16), GTK_JUSTIFY_LEFT);
471
472   table1 = gtk_table_new (5, 2, FALSE);
473   gtk_widget_show (table1);
474   gtk_container_add (GTK_CONTAINER (notebook1), table1);
475   gtk_container_set_border_width (GTK_CONTAINER (table1), 4);
476   gtk_table_set_row_spacings (GTK_TABLE (table1), 2);
477   gtk_table_set_col_spacings (GTK_TABLE (table1), 2);
478
479   label5 = gtk_label_new ("XInput Device:");
480   gtk_widget_show (label5);
481   gtk_table_attach (GTK_TABLE (table1), label5, 0, 1, 1, 2,
482                     (GtkAttachOptions) (GTK_FILL),
483                     (GtkAttachOptions) (0), 0, 0);
484   gtk_label_set_justify (GTK_LABEL (label5), GTK_JUSTIFY_LEFT);
485   gtk_misc_set_alignment (GTK_MISC (label5), 0, 0.5);
486
487   label6 = gtk_label_new ("Mouse Speed:");
488   gtk_widget_show (label6);
489   gtk_table_attach (GTK_TABLE (table1), label6, 0, 1, 2, 3,
490                     (GtkAttachOptions) (GTK_FILL),
491                     (GtkAttachOptions) (0), 0, 0);
492   gtk_label_set_justify (GTK_LABEL (label6), GTK_JUSTIFY_LEFT);
493   gtk_misc_set_alignment (GTK_MISC (label6), 0, 0.5);
494
495   label7 = gtk_label_new ("Stop-Sense-Cycles:");
496   gtk_widget_show (label7);
497   gtk_table_attach (GTK_TABLE (table1), label7, 0, 1, 3, 4,
498                     (GtkAttachOptions) (GTK_FILL),
499                     (GtkAttachOptions) (0), 0, 0);
500   gtk_label_set_justify (GTK_LABEL (label7), GTK_JUSTIFY_LEFT);
501   gtk_misc_set_alignment (GTK_MISC (label7), 0, 0.5);
502
503   xinput_device = gtk_combo_new ();
504   g_object_set_data (G_OBJECT (GTK_COMBO (xinput_device)->popwin),
505                      "GladeParentKey", xinput_device);
506   gtk_widget_show (xinput_device);
507   gtk_table_attach (GTK_TABLE (table1), xinput_device, 1, 2, 1, 2,
508                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
509                     (GtkAttachOptions) (0), 0, 0);
510
511   combo_entry1 = GTK_COMBO (xinput_device)->entry;
512   gtk_widget_show (combo_entry1);
513   gtk_tooltips_set_tip (tooltips, combo_entry1, "Select the input device to use when XInput is enabled. Note: do not use this option if you plan on using your default device (standard mouse).", NULL);
514
515   mouse_speed = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, -10, 10, 0.5, 0.1, 0.1)));
516   gtk_widget_show (mouse_speed);
517   gtk_table_attach (GTK_TABLE (table1), mouse_speed, 1, 2, 2, 3,
518                     (GtkAttachOptions) (GTK_FILL),
519                     (GtkAttachOptions) (GTK_FILL), 0, 0);
520
521   stop_sense_cycles = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (80, 30, 250, 5, 1, 1)));
522   gtk_widget_show (stop_sense_cycles);
523   gtk_table_attach (GTK_TABLE (table1), stop_sense_cycles, 1, 2, 3, 4,
524                     (GtkAttachOptions) (GTK_FILL),
525                     (GtkAttachOptions) (GTK_FILL), 0, 0);
526   gtk_scale_set_digits (GTK_SCALE (stop_sense_cycles), 0);
527
528   label25 = gtk_label_new ("XInput:");
529   gtk_widget_show (label25);
530   gtk_table_attach (GTK_TABLE (table1), label25, 0, 1, 0, 1,
531                     (GtkAttachOptions) (GTK_FILL),
532                     (GtkAttachOptions) (0), 0, 0);
533   gtk_label_set_justify (GTK_LABEL (label25), GTK_JUSTIFY_LEFT);
534   gtk_misc_set_alignment (GTK_MISC (label25), 0, 0.5);
535
536   xinput_enable = gtk_check_button_new_with_mnemonic ("Enabled");
537   gtk_widget_show (xinput_enable);
538   gtk_table_attach (GTK_TABLE (table1), xinput_enable, 1, 2, 0, 1,
539                     (GtkAttachOptions) (GTK_FILL),
540                     (GtkAttachOptions) (0), 0, 0);
541   gtk_tooltips_set_tip (tooltips, xinput_enable, "CAREFUL! Enable this *only* if you want to use an input device than your default X-Pointer (yes, your mouse ;). You have to select your desired device as well. Selecting the default mouse pointer will crash terminatorX so if you want to use that keep this option disabled.", NULL);
542
543   label37 = gtk_label_new ("Turntable Inertia:");
544   gtk_widget_show (label37);
545   gtk_table_attach (GTK_TABLE (table1), label37, 0, 1, 4, 5,
546                     (GtkAttachOptions) (GTK_FILL),
547                     (GtkAttachOptions) (0), 0, 0);
548   gtk_label_set_justify (GTK_LABEL (label37), GTK_JUSTIFY_LEFT);
549   gtk_misc_set_alignment (GTK_MISC (label37), 0, 0.5);
550
551   vtt_inertia = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (10, 1, 310, 0.01, 1, 10)));
552   gtk_widget_show (vtt_inertia);
553   gtk_table_attach (GTK_TABLE (table1), vtt_inertia, 1, 2, 4, 5,
554                     (GtkAttachOptions) (GTK_FILL),
555                     (GtkAttachOptions) (GTK_FILL), 0, 0);
556
557   label4 = gtk_label_new ("Input");
558   gtk_widget_show (label4);
559   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 3), label4);
560   gtk_label_set_justify (GTK_LABEL (label4), GTK_JUSTIFY_LEFT);
561
562   table2 = gtk_table_new (7, 2, FALSE);
563   gtk_widget_show (table2);
564   gtk_container_add (GTK_CONTAINER (notebook1), table2);
565   gtk_container_set_border_width (GTK_CONTAINER (table2), 4);
566   gtk_table_set_row_spacings (GTK_TABLE (table2), 2);
567   gtk_table_set_col_spacings (GTK_TABLE (table2), 2);
568
569   label8 = gtk_label_new ("Main Window Tooltips:");
570   gtk_widget_show (label8);
571   gtk_table_attach (GTK_TABLE (table2), label8, 0, 1, 1, 2,
572                     (GtkAttachOptions) (GTK_FILL),
573                     (GtkAttachOptions) (0), 0, 0);
574   gtk_label_set_justify (GTK_LABEL (label8), GTK_JUSTIFY_LEFT);
575   gtk_misc_set_alignment (GTK_MISC (label8), 0, 0.5);
576
577   label9 = gtk_label_new ("Update Idle (ms):");
578   gtk_widget_show (label9);
579   gtk_table_attach (GTK_TABLE (table2), label9, 0, 1, 3, 4,
580                     (GtkAttachOptions) (GTK_FILL),
581                     (GtkAttachOptions) (0), 0, 0);
582   gtk_label_set_justify (GTK_LABEL (label9), GTK_JUSTIFY_LEFT);
583   gtk_misc_set_alignment (GTK_MISC (label9), 0, 0.5);
584
585   label10 = gtk_label_new ("Update Delay (cycles):");
586   gtk_widget_show (label10);
587   gtk_table_attach (GTK_TABLE (table2), label10, 0, 1, 4, 5,
588                     (GtkAttachOptions) (GTK_FILL),
589                     (GtkAttachOptions) (0), 0, 0);
590   gtk_label_set_justify (GTK_LABEL (label10), GTK_JUSTIFY_LEFT);
591   gtk_misc_set_alignment (GTK_MISC (label10), 0, 0.5);
592
593   label11 = gtk_label_new ("VU Meter Decay:");
594   gtk_widget_show (label11);
595   gtk_table_attach (GTK_TABLE (table2), label11, 0, 1, 5, 6,
596                     (GtkAttachOptions) (GTK_FILL),
597                     (GtkAttachOptions) (0), 0, 0);
598   gtk_label_set_justify (GTK_LABEL (label11), GTK_JUSTIFY_LEFT);
599   gtk_misc_set_alignment (GTK_MISC (label11), 0, 0.5);
600
601   mainwin_tooltips = gtk_check_button_new_with_mnemonic ("Enabled");
602   gtk_widget_show (mainwin_tooltips);
603   gtk_table_attach (GTK_TABLE (table2), mainwin_tooltips, 1, 2, 1, 2,
604                     (GtkAttachOptions) (GTK_FILL),
605                     (GtkAttachOptions) (0), 0, 0);
606   gtk_tooltips_set_tip (tooltips, mainwin_tooltips, "Enable tooltips for the terminatorX main window.", NULL);
607
608   update_idle = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (11, 2, 100, 1, 10, 10)));
609   gtk_widget_show (update_idle);
610   gtk_table_attach (GTK_TABLE (table2), update_idle, 1, 2, 3, 4,
611                     (GtkAttachOptions) (GTK_FILL),
612                     (GtkAttachOptions) (GTK_FILL), 0, 0);
613   gtk_scale_set_digits (GTK_SCALE (update_idle), 0);
614
615   update_delay = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 15, 1, 10, 10)));
616   gtk_widget_show (update_delay);
617   gtk_table_attach (GTK_TABLE (table2), update_delay, 1, 2, 4, 5,
618                     (GtkAttachOptions) (GTK_FILL),
619                     (GtkAttachOptions) (GTK_FILL), 0, 0);
620   gtk_scale_set_digits (GTK_SCALE (update_delay), 0);
621
622   vumeter_decay = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.8, 0.8, 0.99, 0.01, 0.01, 0.001)));
623   gtk_widget_show (vumeter_decay);
624   gtk_table_attach (GTK_TABLE (table2), vumeter_decay, 1, 2, 5, 6,
625                     (GtkAttachOptions) (GTK_FILL),
626                     (GtkAttachOptions) (GTK_FILL), 0, 0);
627
628   label14 = gtk_label_new ("Startup-Nagbox:");
629   gtk_widget_show (label14);
630   gtk_table_attach (GTK_TABLE (table2), label14, 0, 1, 0, 1,
631                     (GtkAttachOptions) (GTK_FILL),
632                     (GtkAttachOptions) (0), 0, 0);
633   gtk_label_set_justify (GTK_LABEL (label14), GTK_JUSTIFY_LEFT);
634   gtk_misc_set_alignment (GTK_MISC (label14), 0, 0.5);
635
636   startup_nagbox = gtk_check_button_new_with_mnemonic ("Enabled");
637   gtk_widget_show (startup_nagbox);
638   gtk_table_attach (GTK_TABLE (table2), startup_nagbox, 1, 2, 0, 1,
639                     (GtkAttachOptions) (GTK_FILL),
640                     (GtkAttachOptions) (0), 0, 0);
641   gtk_tooltips_set_tip (tooltips, startup_nagbox, "Display nagbox on startup while loading data.", NULL);
642
643   label12 = gtk_label_new ("Buttons:");
644   gtk_widget_show (label12);
645   gtk_table_attach (GTK_TABLE (table2), label12, 0, 1, 2, 3,
646                     (GtkAttachOptions) (GTK_FILL),
647                     (GtkAttachOptions) (0), 0, 0);
648   gtk_label_set_justify (GTK_LABEL (label12), GTK_JUSTIFY_LEFT);
649   gtk_misc_set_alignment (GTK_MISC (label12), 0, 0.5);
650
651   hbox1 = gtk_hbox_new (FALSE, 5);
652   gtk_widget_show (hbox1);
653   gtk_table_attach (GTK_TABLE (table2), hbox1, 1, 2, 2, 3,
654                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
655                     (GtkAttachOptions) (GTK_FILL), 0, 0);
656
657   buttons_text_and_icon = gtk_radio_button_new_with_mnemonic (NULL, "Text + Icon");
658   gtk_widget_show (buttons_text_and_icon);
659   gtk_box_pack_start (GTK_BOX (hbox1), buttons_text_and_icon, FALSE, FALSE, 0);
660   gtk_radio_button_set_group (GTK_RADIO_BUTTON (buttons_text_and_icon), buttons_text_and_icon_group);
661   buttons_text_and_icon_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (buttons_text_and_icon));
662
663   buttons_icon_only = gtk_radio_button_new_with_mnemonic (NULL, "Icon Only");
664   gtk_widget_show (buttons_icon_only);
665   gtk_box_pack_start (GTK_BOX (hbox1), buttons_icon_only, FALSE, FALSE, 0);
666   gtk_radio_button_set_group (GTK_RADIO_BUTTON (buttons_icon_only), buttons_text_and_icon_group);
667   buttons_text_and_icon_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (buttons_icon_only));
668
669   buttons_text_only = gtk_radio_button_new_with_mnemonic (NULL, "Text Only");
670   gtk_widget_show (buttons_text_only);
671   gtk_box_pack_start (GTK_BOX (hbox1), buttons_text_only, FALSE, FALSE, 0);
672   gtk_radio_button_set_group (GTK_RADIO_BUTTON (buttons_text_only), buttons_text_and_icon_group);
673   buttons_text_and_icon_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (buttons_text_only));
674
675   label38 = gtk_label_new ("Filename Length:");
676   gtk_widget_show (label38);
677   gtk_table_attach (GTK_TABLE (table2), label38, 0, 1, 6, 7,
678                     (GtkAttachOptions) (GTK_FILL),
679                     (GtkAttachOptions) (0), 0, 0);
680   gtk_label_set_justify (GTK_LABEL (label38), GTK_JUSTIFY_LEFT);
681   gtk_misc_set_alignment (GTK_MISC (label38), 0, 0.5);
682
683   filename_length_adj = gtk_adjustment_new (8, 3, 255, 1, 10, 10);
684   filename_length = gtk_spin_button_new (GTK_ADJUSTMENT (filename_length_adj), 1, 0);
685   gtk_widget_show (filename_length);
686   gtk_table_attach (GTK_TABLE (table2), filename_length, 1, 2, 6, 7,
687                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
688                     (GtkAttachOptions) (0), 0, 0);
689
690   label2 = gtk_label_new ("User Interface");
691   gtk_widget_show (label2);
692   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 4), label2);
693   gtk_label_set_justify (GTK_LABEL (label2), GTK_JUSTIFY_LEFT);
694
695   table3 = gtk_table_new (5, 2, FALSE);
696   gtk_widget_show (table3);
697   gtk_container_add (GTK_CONTAINER (notebook1), table3);
698   gtk_container_set_border_width (GTK_CONTAINER (table3), 4);
699   gtk_table_set_row_spacings (GTK_TABLE (table3), 2);
700   gtk_table_set_col_spacings (GTK_TABLE (table3), 2);
701
702   label13 = gtk_label_new ("Soundfile Editor:");
703   gtk_widget_show (label13);
704   gtk_table_attach (GTK_TABLE (table3), label13, 0, 1, 0, 1,
705                     (GtkAttachOptions) (GTK_FILL),
706                     (GtkAttachOptions) (0), 0, 0);
707   gtk_label_set_justify (GTK_LABEL (label13), GTK_JUSTIFY_LEFT);
708   gtk_misc_set_alignment (GTK_MISC (label13), 0, 0.5);
709
710   soundfile_editor = gtk_entry_new ();
711   gtk_widget_show (soundfile_editor);
712   gtk_table_attach (GTK_TABLE (table3), soundfile_editor, 1, 2, 0, 1,
713                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
714                     (GtkAttachOptions) (0), 0, 0);
715   gtk_tooltips_set_tip (tooltips, soundfile_editor, "Enter the command to run your favourite soundfile editor. It will be started when you choose \"Edit File\" from the turntable's file menu.", NULL);
716
717   label26 = gtk_label_new ("\"Pre-Listen\" to soundfiles:");
718   gtk_widget_show (label26);
719   gtk_table_attach (GTK_TABLE (table3), label26, 0, 1, 3, 4,
720                     (GtkAttachOptions) (GTK_FILL),
721                     (GtkAttachOptions) (0), 0, 0);
722   gtk_label_set_justify (GTK_LABEL (label26), GTK_JUSTIFY_LEFT);
723   gtk_misc_set_alignment (GTK_MISC (label26), 0, 0.5);
724
725   prelisten_enabled = gtk_check_button_new_with_mnemonic ("Enabled");
726   gtk_widget_show (prelisten_enabled);
727   gtk_table_attach (GTK_TABLE (table3), prelisten_enabled, 1, 2, 3, 4,
728                     (GtkAttachOptions) (GTK_FILL),
729                     (GtkAttachOptions) (0), 0, 0);
730   gtk_tooltips_set_tip (tooltips, prelisten_enabled, "When enabled soundfiles will be playedback when selected in a file dialog (before loading them).", NULL);
731
732   label31 = gtk_label_new ("LADSPA RDF Path:");
733   gtk_widget_show (label31);
734   gtk_table_attach (GTK_TABLE (table3), label31, 0, 1, 1, 2,
735                     (GtkAttachOptions) (GTK_FILL),
736                     (GtkAttachOptions) (0), 0, 0);
737   gtk_label_set_justify (GTK_LABEL (label31), GTK_JUSTIFY_LEFT);
738   gtk_misc_set_alignment (GTK_MISC (label31), 0, 0.5);
739
740   ladspa_rdf_path = gtk_entry_new ();
741   gtk_widget_show (ladspa_rdf_path);
742   gtk_table_attach (GTK_TABLE (table3), ladspa_rdf_path, 1, 2, 1, 2,
743                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
744                     (GtkAttachOptions) (0), 0, 0);
745
746   label33 = gtk_label_new ("Compress set files:");
747   gtk_widget_show (label33);
748   gtk_table_attach (GTK_TABLE (table3), label33, 0, 1, 2, 3,
749                     (GtkAttachOptions) (GTK_FILL),
750                     (GtkAttachOptions) (0), 0, 0);
751   gtk_label_set_justify (GTK_LABEL (label33), GTK_JUSTIFY_LEFT);
752   gtk_misc_set_alignment (GTK_MISC (label33), 0, 0.5);
753
754   compress_set_files = gtk_check_button_new_with_mnemonic ("Enabled");
755   gtk_widget_show (compress_set_files);
756   gtk_table_attach (GTK_TABLE (table3), compress_set_files, 1, 2, 2, 3,
757                     (GtkAttachOptions) (GTK_FILL),
758                     (GtkAttachOptions) (0), 0, 0);
759
760   label40 = gtk_label_new ("Restore MIDI connections:");
761   gtk_widget_show (label40);
762   gtk_table_attach (GTK_TABLE (table3), label40, 0, 1, 4, 5,
763                     (GtkAttachOptions) (GTK_FILL),
764                     (GtkAttachOptions) (0), 0, 0);
765   gtk_label_set_justify (GTK_LABEL (label40), GTK_JUSTIFY_LEFT);
766   gtk_misc_set_alignment (GTK_MISC (label40), 0, 0.5);
767
768   reconnect_enabled = gtk_check_button_new_with_mnemonic ("Enabled");
769   gtk_widget_show (reconnect_enabled);
770   gtk_table_attach (GTK_TABLE (table3), reconnect_enabled, 1, 2, 4, 5,
771                     (GtkAttachOptions) (GTK_FILL),
772                     (GtkAttachOptions) (0), 0, 0);
773   gtk_tooltips_set_tip (tooltips, reconnect_enabled, "When enabled soundfiles will be playedback when selected in a file dialog (before loading them).", NULL);
774
775   label3 = gtk_label_new ("Misc");
776   gtk_widget_show (label3);
777   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 5), label3);
778   gtk_label_set_justify (GTK_LABEL (label3), GTK_JUSTIFY_LEFT);
779
780   dialog_action_area3 = GTK_DIALOG (tx_options)->action_area;
781   gtk_widget_show (dialog_action_area3);
782   gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area3), GTK_BUTTONBOX_END);
783
784   pref_reset = gtk_button_new_from_stock ("gtk-revert-to-saved");
785   gtk_widget_show (pref_reset);
786   gtk_dialog_add_action_widget (GTK_DIALOG (tx_options), pref_reset, 0);
787   GTK_WIDGET_SET_FLAGS (pref_reset, GTK_CAN_DEFAULT);
788
789   pref_cancel = gtk_button_new_from_stock ("gtk-cancel");
790   gtk_widget_show (pref_cancel);
791   gtk_dialog_add_action_widget (GTK_DIALOG (tx_options), pref_cancel, GTK_RESPONSE_CANCEL);
792   GTK_WIDGET_SET_FLAGS (pref_cancel, GTK_CAN_DEFAULT);
793
794   pref_apply = gtk_button_new_from_stock ("gtk-apply");
795   gtk_widget_show (pref_apply);
796   gtk_dialog_add_action_widget (GTK_DIALOG (tx_options), pref_apply, GTK_RESPONSE_APPLY);
797   GTK_WIDGET_SET_FLAGS (pref_apply, GTK_CAN_DEFAULT);
798
799   pref_ok = gtk_button_new_from_stock ("gtk-ok");
800   gtk_widget_show (pref_ok);
801   gtk_dialog_add_action_widget (GTK_DIALOG (tx_options), pref_ok, GTK_RESPONSE_OK);
802   GTK_WIDGET_SET_FLAGS (pref_ok, GTK_CAN_DEFAULT);
803
804   g_signal_connect ((gpointer) tx_options, "destroy",
805                     G_CALLBACK (on_tx_options_destroy),
806                     NULL);
807   g_signal_connect_swapped ((gpointer) alsa_buffer_time, "value_changed",
808                             G_CALLBACK (on_alsa_buffer_time_value_changed),
809                             GTK_OBJECT (alsa_period_time));
810   g_signal_connect ((gpointer) pref_reset, "clicked",
811                     G_CALLBACK (on_pref_reset_clicked),
812                     NULL);
813   g_signal_connect ((gpointer) pref_cancel, "clicked",
814                     G_CALLBACK (on_pref_cancel_clicked),
815                     NULL);
816   g_signal_connect ((gpointer) pref_apply, "clicked",
817                     G_CALLBACK (on_pref_apply_clicked),
818                     NULL);
819   g_signal_connect ((gpointer) pref_ok, "clicked",
820                     G_CALLBACK (on_pref_ok_clicked),
821                     NULL);
822
823   /* Store pointers to all widgets, for use by lookup_widget(). */
824   GLADE_HOOKUP_OBJECT_NO_REF (tx_options, tx_options, "tx_options");
825   GLADE_HOOKUP_OBJECT_NO_REF (tx_options, dialog_vbox3, "dialog_vbox3");
826   GLADE_HOOKUP_OBJECT (tx_options, notebook1, "notebook1");
827   GLADE_HOOKUP_OBJECT (tx_options, table4, "table4");
828   GLADE_HOOKUP_OBJECT (tx_options, label18, "label18");
829   GLADE_HOOKUP_OBJECT (tx_options, hbox2, "hbox2");
830   GLADE_HOOKUP_OBJECT (tx_options, oss_driver, "oss_driver");
831   GLADE_HOOKUP_OBJECT (tx_options, alsa_driver, "alsa_driver");
832   GLADE_HOOKUP_OBJECT (tx_options, jack_driver, "jack_driver");
833   GLADE_HOOKUP_OBJECT (tx_options, label1, "label1");
834   GLADE_HOOKUP_OBJECT (tx_options, table5, "table5");
835   GLADE_HOOKUP_OBJECT (tx_options, label21, "label21");
836   GLADE_HOOKUP_OBJECT (tx_options, label22, "label22");
837   GLADE_HOOKUP_OBJECT (tx_options, label23, "label23");
838   GLADE_HOOKUP_OBJECT (tx_options, label24, "label24");
839   GLADE_HOOKUP_OBJECT (tx_options, oss_audio_device, "oss_audio_device");
840   GLADE_HOOKUP_OBJECT (tx_options, combo_entry2, "combo_entry2");
841   GLADE_HOOKUP_OBJECT (tx_options, oss_buffers, "oss_buffers");
842   GLADE_HOOKUP_OBJECT (tx_options, oss_buffersize, "oss_buffersize");
843   GLADE_HOOKUP_OBJECT (tx_options, oss_samplerate, "oss_samplerate");
844   GLADE_HOOKUP_OBJECT (tx_options, combo_entry3, "combo_entry3");
845   GLADE_HOOKUP_OBJECT (tx_options, label15, "label15");
846   GLADE_HOOKUP_OBJECT (tx_options, table6, "table6");
847   GLADE_HOOKUP_OBJECT (tx_options, label27, "label27");
848   GLADE_HOOKUP_OBJECT (tx_options, label29, "label29");
849   GLADE_HOOKUP_OBJECT (tx_options, label30, "label30");
850   GLADE_HOOKUP_OBJECT (tx_options, alsa_audio_device, "alsa_audio_device");
851   GLADE_HOOKUP_OBJECT (tx_options, combo_entry4, "combo_entry4");
852   GLADE_HOOKUP_OBJECT (tx_options, alsa_samplerate, "alsa_samplerate");
853   GLADE_HOOKUP_OBJECT (tx_options, combo_entry5, "combo_entry5");
854   GLADE_HOOKUP_OBJECT (tx_options, alsa_period_time, "alsa_period_time");
855   GLADE_HOOKUP_OBJECT (tx_options, label32, "label32");
856   GLADE_HOOKUP_OBJECT (tx_options, alsa_buffer_time, "alsa_buffer_time");
857   GLADE_HOOKUP_OBJECT (tx_options, label39, "label39");
858   GLADE_HOOKUP_OBJECT (tx_options, alsa_free_hwstats, "alsa_free_hwstats");
859   GLADE_HOOKUP_OBJECT (tx_options, label16, "label16");
860   GLADE_HOOKUP_OBJECT (tx_options, table1, "table1");
861   GLADE_HOOKUP_OBJECT (tx_options, label5, "label5");
862   GLADE_HOOKUP_OBJECT (tx_options, label6, "label6");
863   GLADE_HOOKUP_OBJECT (tx_options, label7, "label7");
864   GLADE_HOOKUP_OBJECT (tx_options, xinput_device, "xinput_device");
865   GLADE_HOOKUP_OBJECT (tx_options, combo_entry1, "combo_entry1");
866   GLADE_HOOKUP_OBJECT (tx_options, mouse_speed, "mouse_speed");
867   GLADE_HOOKUP_OBJECT (tx_options, stop_sense_cycles, "stop_sense_cycles");
868   GLADE_HOOKUP_OBJECT (tx_options, label25, "label25");
869   GLADE_HOOKUP_OBJECT (tx_options, xinput_enable, "xinput_enable");
870   GLADE_HOOKUP_OBJECT (tx_options, label37, "label37");
871   GLADE_HOOKUP_OBJECT (tx_options, vtt_inertia, "vtt_inertia");
872   GLADE_HOOKUP_OBJECT (tx_options, label4, "label4");
873   GLADE_HOOKUP_OBJECT (tx_options, table2, "table2");
874   GLADE_HOOKUP_OBJECT (tx_options, label8, "label8");
875   GLADE_HOOKUP_OBJECT (tx_options, label9, "label9");
876   GLADE_HOOKUP_OBJECT (tx_options, label10, "label10");
877   GLADE_HOOKUP_OBJECT (tx_options, label11, "label11");
878   GLADE_HOOKUP_OBJECT (tx_options, mainwin_tooltips, "mainwin_tooltips");
879   GLADE_HOOKUP_OBJECT (tx_options, update_idle, "update_idle");
880   GLADE_HOOKUP_OBJECT (tx_options, update_delay, "update_delay");
881   GLADE_HOOKUP_OBJECT (tx_options, vumeter_decay, "vumeter_decay");
882   GLADE_HOOKUP_OBJECT (tx_options, label14, "label14");
883   GLADE_HOOKUP_OBJECT (tx_options, startup_nagbox, "startup_nagbox");
884   GLADE_HOOKUP_OBJECT (tx_options, label12, "label12");
885   GLADE_HOOKUP_OBJECT (tx_options, hbox1, "hbox1");
886   GLADE_HOOKUP_OBJECT (tx_options, buttons_text_and_icon, "buttons_text_and_icon");
887   GLADE_HOOKUP_OBJECT (tx_options, buttons_icon_only, "buttons_icon_only");
888   GLADE_HOOKUP_OBJECT (tx_options, buttons_text_only, "buttons_text_only");
889   GLADE_HOOKUP_OBJECT (tx_options, label38, "label38");
890   GLADE_HOOKUP_OBJECT (tx_options, filename_length, "filename_length");
891   GLADE_HOOKUP_OBJECT (tx_options, label2, "label2");
892   GLADE_HOOKUP_OBJECT (tx_options, table3, "table3");
893   GLADE_HOOKUP_OBJECT (tx_options, label13, "label13");
894   GLADE_HOOKUP_OBJECT (tx_options, soundfile_editor, "soundfile_editor");
895   GLADE_HOOKUP_OBJECT (tx_options, label26, "label26");
896   GLADE_HOOKUP_OBJECT (tx_options, prelisten_enabled, "prelisten_enabled");
897   GLADE_HOOKUP_OBJECT (tx_options, label31, "label31");
898   GLADE_HOOKUP_OBJECT (tx_options, ladspa_rdf_path, "ladspa_rdf_path");
899   GLADE_HOOKUP_OBJECT (tx_options, label33, "label33");
900   GLADE_HOOKUP_OBJECT (tx_options, compress_set_files, "compress_set_files");
901   GLADE_HOOKUP_OBJECT (tx_options, label40, "label40");
902   GLADE_HOOKUP_OBJECT (tx_options, reconnect_enabled, "reconnect_enabled");
903   GLADE_HOOKUP_OBJECT (tx_options, label3, "label3");
904   GLADE_HOOKUP_OBJECT_NO_REF (tx_options, dialog_action_area3, "dialog_action_area3");
905   GLADE_HOOKUP_OBJECT (tx_options, pref_reset, "pref_reset");
906   GLADE_HOOKUP_OBJECT (tx_options, pref_cancel, "pref_cancel");
907   GLADE_HOOKUP_OBJECT (tx_options, pref_apply, "pref_apply");
908   GLADE_HOOKUP_OBJECT (tx_options, pref_ok, "pref_ok");
909   GLADE_HOOKUP_OBJECT_NO_REF (tx_options, tooltips, "tooltips");
910
911   return tx_options;
912 }
913
914 GtkWidget*
915 create_tx_del_mode (void)
916 {
917   GtkWidget *tx_del_mode;
918   GtkWidget *dialog_vbox4;
919   GtkWidget *vbox2;
920   GtkWidget *delmode_label;
921   GtkWidget *hbox3;
922   GtkWidget *vbox3;
923   GtkWidget *all_events;
924   GSList *all_events_group = NULL;
925   GtkWidget *upto_current;
926   GtkWidget *from_current;
927   GtkWidget *dialog_action_area4;
928   GtkWidget *cancelbutton1;
929   GtkWidget *okbutton1;
930
931   tx_del_mode = gtk_dialog_new ();
932   gtk_window_set_title (GTK_WINDOW (tx_del_mode), "Choose Events to Delete");
933
934   dialog_vbox4 = GTK_DIALOG (tx_del_mode)->vbox;
935   gtk_widget_show (dialog_vbox4);
936
937   vbox2 = gtk_vbox_new (FALSE, 2);
938   gtk_widget_show (vbox2);
939   gtk_box_pack_start (GTK_BOX (dialog_vbox4), vbox2, TRUE, TRUE, 0);
940   gtk_container_set_border_width (GTK_CONTAINER (vbox2), 4);
941
942   delmode_label = gtk_label_new ("Select which events to delete.");
943   gtk_widget_show (delmode_label);
944   gtk_box_pack_start (GTK_BOX (vbox2), delmode_label, TRUE, FALSE, 0);
945   gtk_label_set_justify (GTK_LABEL (delmode_label), GTK_JUSTIFY_LEFT);
946
947   hbox3 = gtk_hbox_new (FALSE, 0);
948   gtk_widget_show (hbox3);
949   gtk_box_pack_start (GTK_BOX (vbox2), hbox3, TRUE, FALSE, 0);
950
951   vbox3 = gtk_vbox_new (FALSE, 0);
952   gtk_widget_show (vbox3);
953   gtk_box_pack_start (GTK_BOX (hbox3), vbox3, TRUE, FALSE, 0);
954
955   all_events = gtk_radio_button_new_with_mnemonic (NULL, "Complete song");
956   gtk_widget_show (all_events);
957   gtk_box_pack_start (GTK_BOX (vbox3), all_events, FALSE, FALSE, 0);
958   gtk_radio_button_set_group (GTK_RADIO_BUTTON (all_events), all_events_group);
959   all_events_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (all_events));
960
961   upto_current = gtk_radio_button_new_with_mnemonic (NULL, "Upto the current song position");
962   gtk_widget_show (upto_current);
963   gtk_box_pack_start (GTK_BOX (vbox3), upto_current, FALSE, FALSE, 0);
964   gtk_radio_button_set_group (GTK_RADIO_BUTTON (upto_current), all_events_group);
965   all_events_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (upto_current));
966
967   from_current = gtk_radio_button_new_with_mnemonic (NULL, "From the current song position");
968   gtk_widget_show (from_current);
969   gtk_box_pack_start (GTK_BOX (vbox3), from_current, FALSE, FALSE, 0);
970   gtk_radio_button_set_group (GTK_RADIO_BUTTON (from_current), all_events_group);
971   all_events_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (from_current));
972
973   dialog_action_area4 = GTK_DIALOG (tx_del_mode)->action_area;
974   gtk_widget_show (dialog_action_area4);
975   gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area4), GTK_BUTTONBOX_END);
976
977   cancelbutton1 = gtk_button_new_from_stock ("gtk-cancel");
978   gtk_widget_show (cancelbutton1);
979   gtk_dialog_add_action_widget (GTK_DIALOG (tx_del_mode), cancelbutton1, GTK_RESPONSE_CANCEL);
980   GTK_WIDGET_SET_FLAGS (cancelbutton1, GTK_CAN_DEFAULT);
981
982   okbutton1 = gtk_button_new_from_stock ("gtk-ok");
983   gtk_widget_show (okbutton1);
984   gtk_dialog_add_action_widget (GTK_DIALOG (tx_del_mode), okbutton1, GTK_RESPONSE_OK);
985   GTK_WIDGET_SET_FLAGS (okbutton1, GTK_CAN_DEFAULT);
986
987   g_signal_connect ((gpointer) cancelbutton1, "clicked",
988                     G_CALLBACK (on_del_mode_cancel_clicked),
989                     NULL);
990   g_signal_connect ((gpointer) okbutton1, "clicked",
991                     G_CALLBACK (on_del_mode_ok_clicked),
992                     NULL);
993
994   /* Store pointers to all widgets, for use by lookup_widget(). */
995   GLADE_HOOKUP_OBJECT_NO_REF (tx_del_mode, tx_del_mode, "tx_del_mode");
996   GLADE_HOOKUP_OBJECT_NO_REF (tx_del_mode, dialog_vbox4, "dialog_vbox4");
997   GLADE_HOOKUP_OBJECT (tx_del_mode, vbox2, "vbox2");
998   GLADE_HOOKUP_OBJECT (tx_del_mode, delmode_label, "delmode_label");
999   GLADE_HOOKUP_OBJECT (tx_del_mode, hbox3, "hbox3");
1000   GLADE_HOOKUP_OBJECT (tx_del_mode, vbox3, "vbox3");
1001   GLADE_HOOKUP_OBJECT (tx_del_mode, all_events, "all_events");
1002   GLADE_HOOKUP_OBJECT (tx_del_mode, upto_current, "upto_current");
1003   GLADE_HOOKUP_OBJECT (tx_del_mode, from_current, "from_current");
1004   GLADE_HOOKUP_OBJECT_NO_REF (tx_del_mode, dialog_action_area4, "dialog_action_area4");
1005   GLADE_HOOKUP_OBJECT (tx_del_mode, cancelbutton1, "cancelbutton1");
1006   GLADE_HOOKUP_OBJECT (tx_del_mode, okbutton1, "okbutton1");
1007
1008   return tx_del_mode;
1009 }
1010
1011 GtkWidget*
1012 create_tX_midilearn (void)
1013 {
1014   GtkWidget *tX_midilearn;
1015   GtkWidget *dialog_vbox5;
1016   GtkWidget *vbox4;
1017   GtkWidget *midilabel;
1018   GtkWidget *dialog_action_area5;
1019   GtkWidget *cancel;
1020
1021   tX_midilearn = gtk_dialog_new ();
1022   gtk_window_set_title (GTK_WINDOW (tX_midilearn), "MIDI Learn");
1023
1024   dialog_vbox5 = GTK_DIALOG (tX_midilearn)->vbox;
1025   gtk_widget_show (dialog_vbox5);
1026
1027   vbox4 = gtk_vbox_new (FALSE, 0);
1028   gtk_widget_show (vbox4);
1029   gtk_box_pack_start (GTK_BOX (dialog_vbox5), vbox4, TRUE, TRUE, 0);
1030   gtk_container_set_border_width (GTK_CONTAINER (vbox4), 4);
1031
1032   midilabel = gtk_label_new ("Waiting for MIDI event....");
1033   gtk_widget_show (midilabel);
1034   gtk_box_pack_start (GTK_BOX (vbox4), midilabel, TRUE, TRUE, 0);
1035   gtk_label_set_justify (GTK_LABEL (midilabel), GTK_JUSTIFY_LEFT);
1036
1037   dialog_action_area5 = GTK_DIALOG (tX_midilearn)->action_area;
1038   gtk_widget_show (dialog_action_area5);
1039   gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area5), GTK_BUTTONBOX_END);
1040
1041   cancel = gtk_button_new_from_stock ("gtk-cancel");
1042   gtk_widget_show (cancel);
1043   gtk_dialog_add_action_widget (GTK_DIALOG (tX_midilearn), cancel, GTK_RESPONSE_CANCEL);
1044   GTK_WIDGET_SET_FLAGS (cancel, GTK_CAN_DEFAULT);
1045
1046   /* Store pointers to all widgets, for use by lookup_widget(). */
1047   GLADE_HOOKUP_OBJECT_NO_REF (tX_midilearn, tX_midilearn, "tX_midilearn");
1048   GLADE_HOOKUP_OBJECT_NO_REF (tX_midilearn, dialog_vbox5, "dialog_vbox5");
1049   GLADE_HOOKUP_OBJECT (tX_midilearn, vbox4, "vbox4");
1050   GLADE_HOOKUP_OBJECT (tX_midilearn, midilabel, "midilabel");
1051   GLADE_HOOKUP_OBJECT_NO_REF (tX_midilearn, dialog_action_area5, "dialog_action_area5");
1052   GLADE_HOOKUP_OBJECT (tX_midilearn, cancel, "cancel");
1053
1054   return tX_midilearn;
1055 }
1056