d091108a231033827e3fc98c4bded8b5a0e5c64a
[terminatorX.git] / src / tX_ui_interface.cc
1 /*
2  * This file is no longer being generated by Glade and contains hand 
3  * crafted code.
4  */
5
6
7 #ifdef HAVE_CONFIG_H
8 #  include <config.h>
9 #endif
10
11 #include <sys/types.h>
12 #include <sys/stat.h>
13 #include <unistd.h>
14 #include <string.h>
15 #include <stdio.h>
16
17 #include <gtk/gtk.h>
18
19 #include "tX_ui_callbacks.h"
20 #include "tX_ui_interface.h"
21 #include "tX_ui_support.h"
22
23 #define TX_UI_HOOKUP_OBJECT(component,widget,name) \
24   g_object_set_data_full (G_OBJECT (component), name, \
25     g_object_ref (widget), (GDestroyNotify) g_object_unref)
26
27 #define TX_UI_HOOKUP_OBJECT_NO_REF(component,widget,name) \
28   g_object_set_data (G_OBJECT (component), name, widget)
29
30 GtkWidget*
31 create_tx_adjust (void)
32 {
33   GtkWidget *tx_adjust;
34   GtkWidget *dialog_vbox2;
35   GtkWidget *vbox1;
36   GtkWidget *label34;
37   GtkWidget *grid7;
38   GtkAdjustment *master_cycles_adj;
39   GtkWidget *master_cycles;
40   GtkWidget *label36;
41   GtkWidget *label35;
42   GtkAdjustment *cycles_adj;
43   GtkWidget *cycles;
44   GtkWidget *create_event;
45   GtkWidget *dialog_action_area2;
46   GtkWidget *cancel;
47   GtkWidget *ok;
48   
49   tx_adjust = gtk_dialog_new ();
50   gtk_window_set_title (GTK_WINDOW (tx_adjust), "Compute Pitch");
51
52   dialog_vbox2 = gtk_dialog_get_content_area(GTK_DIALOG (tx_adjust));
53   gtk_widget_show (dialog_vbox2);
54
55   vbox1 = gtk_box_new(GTK_ORIENTATION_VERTICAL, 4);
56   gtk_widget_show (vbox1);
57   gtk_box_pack_start (GTK_BOX (dialog_vbox2), vbox1, TRUE, TRUE, 0);
58   gtk_container_set_border_width (GTK_CONTAINER (vbox1), 4);
59
60   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:");
61   gtk_widget_show (label34);
62   gtk_box_pack_start (GTK_BOX (vbox1), label34, FALSE, FALSE, 0);
63   gtk_label_set_line_wrap (GTK_LABEL (label34), TRUE);
64
65   grid7 = gtk_grid_new ();
66   gtk_widget_show (grid7);
67   gtk_box_pack_start (GTK_BOX (vbox1), grid7, TRUE, TRUE, 0);
68   gtk_grid_set_column_spacing (GTK_GRID (grid7), 3);
69
70   master_cycles_adj = gtk_adjustment_new (1, 1, 100, 1, 10, 0);
71   master_cycles = gtk_spin_button_new (GTK_ADJUSTMENT (master_cycles_adj), 1, 0);
72   gtk_widget_set_hexpand(master_cycles, TRUE);
73   gtk_widget_show (master_cycles);
74   gtk_grid_attach (GTK_GRID (grid7), master_cycles, 1, 1, 1, 1);
75   gtk_widget_set_tooltip_text(master_cycles, "Specify the number of loops for the master turntable.");
76
77   label36 = gtk_label_new ("Loops of the master turntable:");
78   gtk_widget_show (label36);
79   gtk_grid_attach (GTK_GRID (grid7), label36, 0, 1, 1, 1);
80
81   label35 = gtk_label_new ("Loops of this turntable turntable:");
82   gtk_widget_show (label35);
83   gtk_grid_attach (GTK_GRID (grid7), label35, 0, 0, 1, 1);
84
85   cycles_adj = gtk_adjustment_new (1, 1, 100, 1, 10, 0);
86   cycles = gtk_spin_button_new (GTK_ADJUSTMENT (cycles_adj), 1, 0);
87   gtk_widget_set_hexpand(cycles, TRUE);
88   gtk_widget_show (cycles);
89   gtk_grid_attach (GTK_GRID (grid7), cycles, 1, 0, 1, 1);
90   gtk_widget_set_tooltip_text(cycles, "Specify the number of loops of _this_ turntable.");
91
92   create_event = gtk_check_button_new_with_mnemonic ("Record a sequencer event");
93   gtk_widget_show (create_event);
94   gtk_box_pack_start (GTK_BOX (vbox1), create_event, FALSE, FALSE, 0);
95   gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (create_event), TRUE);
96
97   dialog_action_area2 = gtk_dialog_get_action_area(GTK_DIALOG (tx_adjust));
98   gtk_widget_show (dialog_action_area2);
99
100   cancel = gtk_button_new_from_stock ("gtk-cancel");
101   gtk_widget_show (cancel);
102   gtk_dialog_add_action_widget (GTK_DIALOG (tx_adjust), cancel, GTK_RESPONSE_CANCEL);
103   gtk_widget_set_can_default(cancel, TRUE);
104
105   ok = gtk_button_new_from_stock ("gtk-ok");
106   gtk_widget_show (ok);
107   gtk_dialog_add_action_widget (GTK_DIALOG (tx_adjust), ok, GTK_RESPONSE_OK);
108   gtk_widget_set_can_default(ok, TRUE);
109
110   /* Store pointers to all widgets, for use by lookup_widget(). */
111   TX_UI_HOOKUP_OBJECT_NO_REF (tx_adjust, tx_adjust, "tx_adjust");
112   TX_UI_HOOKUP_OBJECT_NO_REF (tx_adjust, dialog_vbox2, "dialog_vbox2");
113   TX_UI_HOOKUP_OBJECT (tx_adjust, vbox1, "vbox1");
114   TX_UI_HOOKUP_OBJECT (tx_adjust, label34, "label34");
115   TX_UI_HOOKUP_OBJECT (tx_adjust, grid7, "grid7");
116   TX_UI_HOOKUP_OBJECT (tx_adjust, master_cycles, "master_cycles");
117   TX_UI_HOOKUP_OBJECT (tx_adjust, label36, "label36");
118   TX_UI_HOOKUP_OBJECT (tx_adjust, label35, "label35");
119   TX_UI_HOOKUP_OBJECT (tx_adjust, cycles, "cycles");
120   TX_UI_HOOKUP_OBJECT (tx_adjust, create_event, "create_event");
121   TX_UI_HOOKUP_OBJECT_NO_REF (tx_adjust, dialog_action_area2, "dialog_action_area2");
122   TX_UI_HOOKUP_OBJECT (tx_adjust, cancel, "cancel");
123   TX_UI_HOOKUP_OBJECT (tx_adjust, ok, "ok");
124
125   return tx_adjust;
126 }
127
128 GtkWidget*
129 create_tx_options (void)
130 {
131   GtkWidget *tx_options;
132   GtkWidget *dialog_vbox3;
133   GtkWidget *notebook1;
134   GtkWidget *grid4;
135   GtkWidget *label18;
136   GtkWidget *hbox2;
137   GtkWidget *oss_driver;
138   GSList *oss_driver_group = NULL;
139   GtkWidget *alsa_driver;
140   GtkWidget *jack_driver;
141   GtkWidget *pulse_driver;
142   GtkWidget *use_realtime_label;
143   GtkWidget *use_realtime;
144   GtkWidget *label1;
145   GtkWidget *grid5;
146   GtkWidget *label21;
147   GtkWidget *label22;
148   GtkWidget *label23;
149   GtkWidget *label24;
150   GtkWidget *oss_audio_device;
151   GtkAdjustment *oss_buffers_adj;
152   GtkWidget *oss_buffers;
153   GtkWidget *oss_buffersize;
154   GtkWidget *oss_samplerate;
155   GtkWidget *label15;
156   GtkWidget *grid6;
157   GtkWidget *label27;
158   GtkWidget *label29;
159   GtkWidget *label30;
160   GtkWidget *alsa_audio_device;
161   GtkWidget *alsa_samplerate;
162   GtkWidget *alsa_period_time;
163   GtkWidget *label32;
164   GtkWidget *alsa_buffer_time;
165   GtkWidget *label39;
166   GtkWidget *alsa_free_hwstats;
167   GtkWidget *label16;
168   GtkWidget *grid1;
169   GtkWidget *label5;
170   GtkWidget *label6;
171   GtkWidget *label7;
172   GtkWidget *xinput_device;
173   GtkWidget *mouse_speed;
174   GtkWidget *stop_sense_cycles;
175   GtkWidget *label25;
176   GtkWidget *xinput_enable;
177   GtkWidget *label37;
178   GtkWidget *vtt_inertia;
179   GtkWidget *label4;
180   GtkWidget *grid2;
181   GtkWidget *label8;
182   GtkWidget *label9;
183   GtkWidget *label10;
184   GtkWidget *label11;
185   GtkWidget *mainwin_tooltips;
186   GtkWidget *update_idle;
187   GtkWidget *update_delay;
188   GtkWidget *vumeter_decay;
189   GtkWidget *label14;
190   GtkWidget *startup_nagbox;
191   GtkWidget *label12;
192   GtkWidget *hbox1;
193   GtkWidget *buttons_text_and_icon;
194   GSList *buttons_text_and_icon_group = NULL;
195   GtkWidget *buttons_icon_only;
196   GtkWidget *buttons_text_only;
197   GtkWidget *label38;
198   GtkAdjustment *filename_length_adj;
199   GtkWidget *filename_length;
200   GtkWidget *label2;
201   GtkWidget *grid8;
202   GtkWidget *label42;
203   GtkWidget *label43;
204   GtkWidget *label44;
205   GtkWidget *label45;
206   GtkWidget *label46;
207   GtkWidget *label47;
208   GtkWidget *wav_display_bg_focus;
209   GtkWidget *wav_display_bg_no_focus;
210   GtkWidget *wav_display_fg_focus;
211   GtkWidget *wav_display_fg_no_focus;
212   GtkWidget *wav_display_cursor;
213   GtkWidget *wav_display_cursor_mute;
214   GtkWidget *label41;
215   GtkWidget *grid9;
216   GtkWidget *label53;
217   GtkWidget *label54;
218   GtkWidget *label55;
219   GtkWidget *label56;
220   GtkWidget *vu_meter_border_intensity;
221   GtkWidget *vu_meter_bg;
222   GtkWidget *vu_meter_normal;
223   GtkWidget *vu_meter_loud;
224   GtkWidget *label52;
225   GtkWidget *grid3;
226   GtkWidget *label13;
227   GtkWidget *soundfile_editor;
228   GtkWidget *label26;
229   GtkWidget *prelisten_enabled;
230   GtkWidget *label31;
231   GtkWidget *ladspa_rdf_path;
232   GtkWidget *label33;
233   GtkWidget *compress_set_files;
234   GtkWidget *label40;
235   GtkWidget *reconnect_enabled;
236   GtkWidget *label57;
237   GtkWidget *quit_confirm;
238   GtkWidget *label58;
239   GtkWidget *label59;
240   GtkWidget *verbose_plugin_loading;
241   GtkWidget *force_nonrt_plugins;
242   GtkWidget *label3;
243   GtkWidget *dialog_action_area3;
244   GtkWidget *pref_reset;
245   GtkWidget *pref_cancel;
246   GtkWidget *pref_apply;
247   GtkWidget *pref_ok;
248   
249   tx_options = gtk_dialog_new ();
250   gtk_window_set_title (GTK_WINDOW (tx_options), "terminatorX Preferences");
251
252   dialog_vbox3 = gtk_dialog_get_content_area(GTK_DIALOG(tx_options));
253   gtk_widget_show (dialog_vbox3);
254
255   notebook1 = gtk_notebook_new ();
256   gtk_widget_show (notebook1);
257   gtk_box_pack_start (GTK_BOX (dialog_vbox3), notebook1, TRUE, TRUE, 0);
258
259   grid4 = gtk_grid_new ();
260   gtk_widget_show (grid4);
261   gtk_container_add (GTK_CONTAINER (notebook1), grid4);
262   gtk_container_set_border_width (GTK_CONTAINER (grid4), 4);
263   gtk_grid_set_row_spacing (GTK_GRID (grid4), 2);
264   gtk_grid_set_column_spacing (GTK_GRID (grid4), 2);
265
266   label18 = gtk_label_new ("Driver:");
267   gtk_widget_show (label18);
268   gtk_grid_attach (GTK_GRID (grid4), label18, 0, 0, 1, 1);
269   gtk_misc_set_alignment (GTK_MISC (label18), 0, 0.5);
270
271   hbox2 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5);
272   gtk_widget_show (hbox2);
273   gtk_grid_attach (GTK_GRID (grid4), hbox2, 1, 0, 1, 1);
274   gtk_widget_set_hexpand(hbox2, TRUE);
275   
276   oss_driver = gtk_radio_button_new_with_mnemonic (NULL, "OSS");
277   gtk_widget_show (oss_driver);
278   gtk_box_pack_start (GTK_BOX (hbox2), oss_driver, FALSE, FALSE, 0);
279   gtk_widget_set_tooltip_text(oss_driver, "Use the OSS (Open Sound System) driver for audio output.");
280   gtk_radio_button_set_group (GTK_RADIO_BUTTON (oss_driver), oss_driver_group);
281   oss_driver_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (oss_driver));
282
283   alsa_driver = gtk_radio_button_new_with_mnemonic (NULL, "ALSA");
284   gtk_widget_show (alsa_driver);
285   gtk_box_pack_start (GTK_BOX (hbox2), alsa_driver, FALSE, FALSE, 0);
286   gtk_widget_set_tooltip_text(alsa_driver, "Use the ALSA (Advanced Linux Sound System) driver for audio output.");
287   gtk_radio_button_set_group (GTK_RADIO_BUTTON (alsa_driver), oss_driver_group);
288   oss_driver_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (alsa_driver));
289
290   jack_driver = gtk_radio_button_new_with_mnemonic (NULL, "JACK");
291   gtk_widget_show (jack_driver);
292   gtk_box_pack_start (GTK_BOX (hbox2), jack_driver, FALSE, FALSE, 0);
293   gtk_widget_set_tooltip_text(jack_driver, "Use the JACK (JACK Audio Connection Kit) driver for audio output.");
294   gtk_radio_button_set_group (GTK_RADIO_BUTTON (jack_driver), oss_driver_group);
295   oss_driver_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (jack_driver));
296  
297   pulse_driver = gtk_radio_button_new_with_mnemonic (NULL, "PULSE");
298   gtk_widget_show (pulse_driver);
299   gtk_box_pack_start (GTK_BOX (hbox2), pulse_driver, FALSE, FALSE, 0);
300   gtk_widget_set_tooltip_text(pulse_driver, "Use the PULSE (PulseAudio) driver for audio output.");
301   gtk_radio_button_set_group (GTK_RADIO_BUTTON (pulse_driver), oss_driver_group);
302   oss_driver_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (pulse_driver));
303
304   use_realtime_label = gtk_label_new ("Scheduling:");
305   gtk_widget_show (use_realtime_label);
306   gtk_grid_attach (GTK_GRID (grid4), use_realtime_label, 0, 1, 1, 1);
307   gtk_misc_set_alignment (GTK_MISC (use_realtime_label), 0, 0.5);
308
309   use_realtime = gtk_check_button_new_with_mnemonic ("Use realtime scheduling where available");
310   gtk_widget_show (use_realtime);
311   gtk_grid_attach (GTK_GRID (grid4), use_realtime, 1, 1, 1, 1);
312   
313   label1 = gtk_label_new ("Audio");
314   gtk_widget_show (label1);
315   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 0), label1);
316
317   grid5 = gtk_grid_new ();
318   gtk_widget_show (grid5);
319   gtk_container_add (GTK_CONTAINER (notebook1), grid5);
320   gtk_container_set_border_width (GTK_CONTAINER (grid5), 4);
321   gtk_grid_set_row_spacing (GTK_GRID (grid5), 2);
322   gtk_grid_set_column_spacing (GTK_GRID (grid5), 2);
323
324   label21 = gtk_label_new ("Audio device:");
325   gtk_widget_show (label21);
326   gtk_grid_attach (GTK_GRID (grid5), label21, 0, 0, 1, 1);
327   gtk_misc_set_alignment (GTK_MISC (label21), 0, 0.5);
328
329   label22 = gtk_label_new ("No. of buffers:");
330   gtk_widget_show (label22);
331   gtk_grid_attach (GTK_GRID (grid5), label22, 0, 1, 1, 1);
332   gtk_misc_set_alignment (GTK_MISC (label22), 0, 0.5);
333
334   label23 = gtk_label_new ("Buffersize (2^x):");
335   gtk_widget_show (label23);
336   gtk_grid_attach (GTK_GRID (grid5), label23, 0, 2, 1, 1);
337   gtk_misc_set_alignment (GTK_MISC (label23), 0, 0.5);
338
339   label24 = gtk_label_new ("Samplerate (Hz):");
340   gtk_widget_show (label24);
341   gtk_grid_attach (GTK_GRID (grid5), label24, 0, 3, 1, 1);
342   gtk_misc_set_alignment (GTK_MISC (label24), 0, 0.5);
343
344   oss_audio_device = gtk_combo_box_text_new ();
345 //  g_object_set_data (G_OBJECT (GTK_COMBO_BOX (oss_audio_device)->popwin),
346 //                     "tXUiParentKey", oss_audio_device);
347   gtk_widget_show (oss_audio_device);
348   gtk_grid_attach (GTK_GRID (grid5), oss_audio_device, 1, 0, 1, 1);
349
350   //combo_entry2 = GTK_COMBO (oss_audio_device)->entry;
351   //gtk_widget_show (combo_entry2);
352   gtk_widget_set_tooltip_text(oss_audio_device, "Select the audiodevice you want terminatorX to send its output to.");
353
354   oss_buffers_adj = gtk_adjustment_new (2, 2, 5, 1, 10, 0);
355   oss_buffers = gtk_spin_button_new (GTK_ADJUSTMENT (oss_buffers_adj), 1, 0);
356   gtk_widget_set_hexpand(oss_buffers, TRUE);
357   gtk_widget_show (oss_buffers);
358   gtk_grid_attach (GTK_GRID (grid5), oss_buffers, 1, 1, 1, 1);
359   gtk_widget_set_tooltip_text(oss_buffers, "Sets the number of kernel level audio buffers. Actually most systems should run just fine with two.");
360
361   oss_buffersize = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, GTK_ADJUSTMENT (gtk_adjustment_new (9, 8, 16, 1, 1, 1)));
362   gtk_widget_show (oss_buffersize);
363   gtk_grid_attach (GTK_GRID (grid5), oss_buffersize, 1, 2, 1, 1);
364   gtk_scale_set_value_pos (GTK_SCALE (oss_buffersize), GTK_POS_LEFT);
365   gtk_scale_set_digits (GTK_SCALE (oss_buffersize), 0);
366
367   oss_samplerate = gtk_combo_box_text_new ();
368   //g_object_set_data (G_OBJECT (GTK_COMBO (oss_samplerate)->popwin),
369                      //"tXUiParentKey", oss_samplerate);
370   gtk_widget_set_hexpand(oss_samplerate, TRUE);
371   gtk_widget_show (oss_samplerate);
372   gtk_grid_attach (GTK_GRID (grid5), oss_samplerate, 1, 3, 1, 1);
373
374 //  combo_entry3 = GTK_COMBO (oss_samplerate)->entry;
375 //  gtk_widget_show (combo_entry3);
376   gtk_widget_set_tooltip_text(oss_samplerate, "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.");
377
378   label15 = gtk_label_new ("Audio: OSS");
379   gtk_widget_show (label15);
380   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 1), label15);
381
382   grid6 = gtk_grid_new ();
383   gtk_widget_show (grid6);
384   gtk_container_add (GTK_CONTAINER (notebook1), grid6);
385   gtk_container_set_border_width (GTK_CONTAINER (grid6), 4);
386   gtk_grid_set_row_spacing (GTK_GRID (grid6), 2);
387   gtk_grid_set_column_spacing (GTK_GRID (grid6), 2);
388
389   label27 = gtk_label_new ("Audio Device:");
390   gtk_widget_show (label27);
391   gtk_grid_attach (GTK_GRID (grid6), label27, 0, 0, 1, 1);
392   gtk_misc_set_alignment (GTK_MISC (label27), 0, 0.5);
393
394   label29 = gtk_label_new ("Period Time (ms):");
395   gtk_widget_show (label29);
396   gtk_grid_attach (GTK_GRID (grid6), label29, 0, 2, 1, 1);
397   gtk_misc_set_alignment (GTK_MISC (label29), 0, 0.5);
398
399   label30 = gtk_label_new ("Samplerate (Hz):");
400   gtk_widget_show (label30);
401   gtk_grid_attach (GTK_GRID (grid6), label30, 0, 3, 1, 1);
402   gtk_misc_set_alignment (GTK_MISC (label30), 0, 0.5);
403
404   alsa_audio_device = gtk_combo_box_text_new ();
405 //  g_object_set_data (G_OBJECT (GTK_COMBO (alsa_audio_device)->popwin),
406 //                     "tXUiParentKey", alsa_audio_device);
407   gtk_widget_set_hexpand(alsa_audio_device, TRUE);
408   gtk_widget_show (alsa_audio_device);
409   gtk_grid_attach (GTK_GRID (grid6), alsa_audio_device, 1, 0, 1, 1);
410
411 //  combo_entry4 = GTK_COMBO (alsa_audio_device)->entry;
412 //  gtk_widget_show (combo_entry4);
413
414   alsa_samplerate = gtk_combo_box_text_new ();
415 //  g_object_set_data (G_OBJECT (GTK_COMBO (alsa_samplerate)->popwin),
416 //                     "tXUiParentKey", alsa_samplerate);
417   gtk_widget_set_hexpand(alsa_samplerate, TRUE);
418   gtk_widget_show (alsa_samplerate);
419   gtk_grid_attach (GTK_GRID (grid6), alsa_samplerate, 1, 3, 1, 1);
420
421 //  combo_entry5 = GTK_COMBO (alsa_samplerate)->entry;
422 //  gtk_widget_show (combo_entry5);
423
424   alsa_period_time = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, GTK_ADJUSTMENT (gtk_adjustment_new (29, 10, 500, 1, 10, 10)));
425   gtk_widget_show (alsa_period_time);
426   gtk_grid_attach (GTK_GRID (grid6), alsa_period_time, 1, 2, 1, 1);
427   gtk_scale_set_value_pos (GTK_SCALE (alsa_period_time), GTK_POS_LEFT);
428   gtk_scale_set_digits (GTK_SCALE (alsa_period_time), 0);
429
430   label32 = gtk_label_new ("Buffer Time (ms):");
431   gtk_widget_show (label32);
432   gtk_grid_attach (GTK_GRID (grid6), label32, 0, 1, 1, 1);
433   gtk_misc_set_alignment (GTK_MISC (label32), 0, 0.5);
434
435   alsa_buffer_time = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, GTK_ADJUSTMENT (gtk_adjustment_new (69, 10, 500, 1, 10, 10)));
436   gtk_widget_show (alsa_buffer_time);
437   gtk_grid_attach (GTK_GRID (grid6), alsa_buffer_time, 1, 1, 1, 1);
438   gtk_scale_set_value_pos (GTK_SCALE (alsa_buffer_time), GTK_POS_LEFT);
439   gtk_scale_set_digits (GTK_SCALE (alsa_buffer_time), 0);
440
441   label39 = gtk_label_new ("Free HWstats:");
442   gtk_widget_show (label39);
443   gtk_grid_attach (GTK_GRID (grid6), label39, 0, 4, 1, 1);
444   gtk_misc_set_alignment (GTK_MISC (label39), 0, 0.5);
445
446   alsa_free_hwstats = gtk_check_button_new_with_mnemonic ("Enabled");
447   gtk_widget_show (alsa_free_hwstats);
448   gtk_grid_attach (GTK_GRID (grid6), alsa_free_hwstats, 1, 4, 1, 1);
449   gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (alsa_free_hwstats), TRUE);
450
451   label16 = gtk_label_new ("Audio: ALSA");
452   gtk_widget_show (label16);
453   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 2), label16);
454
455   grid1 = gtk_grid_new ();
456   gtk_widget_show (grid1);
457   gtk_container_add (GTK_CONTAINER (notebook1), grid1);
458   gtk_container_set_border_width (GTK_CONTAINER (grid1), 4);
459   gtk_grid_set_row_spacing (GTK_GRID (grid1), 2);
460   gtk_grid_set_column_spacing (GTK_GRID (grid1), 2);
461
462   label5 = gtk_label_new ("XInput device:");
463   gtk_widget_show (label5);
464   gtk_grid_attach (GTK_GRID (grid1), label5, 0, 1, 1, 1);
465   gtk_misc_set_alignment (GTK_MISC (label5), 0, 0.5);
466
467   label6 = gtk_label_new ("Mouse speed:");
468   gtk_widget_show (label6);
469   gtk_grid_attach (GTK_GRID (grid1), label6, 0, 2, 1, 1);
470   gtk_misc_set_alignment (GTK_MISC (label6), 0, 0.5);
471
472   label7 = gtk_label_new ("Stop-sense-cycles:");
473   gtk_widget_show (label7);
474   gtk_grid_attach (GTK_GRID (grid1), label7, 0, 3, 1, 1);
475   gtk_misc_set_alignment (GTK_MISC (label7), 0, 0.5);
476
477   xinput_device = gtk_combo_box_text_new ();
478 //  g_object_set_data (G_OBJECT (GTK_COMBO (xinput_device)->popwin),
479 //                     "tXUiParentKey", xinput_device);
480   gtk_widget_set_hexpand(xinput_device, TRUE);
481   gtk_widget_show (xinput_device);
482   gtk_grid_attach (GTK_GRID (grid1), xinput_device, 1, 1, 1, 1);
483
484 //  combo_entry1 = GTK_COMBO (xinput_device)->entry;
485 //  gtk_widget_show (combo_entry1);
486   gtk_widget_set_tooltip_text(xinput_device, "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).");
487
488   mouse_speed = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, GTK_ADJUSTMENT (gtk_adjustment_new (0, -10, 10, 0.5, 0.1, 0.1)));
489   gtk_widget_show (mouse_speed);
490   gtk_grid_attach (GTK_GRID (grid1), mouse_speed, 1, 2, 1, 1);
491   gtk_scale_set_value_pos (GTK_SCALE (mouse_speed), GTK_POS_LEFT);
492
493   stop_sense_cycles = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, GTK_ADJUSTMENT (gtk_adjustment_new (80, 30, 250, 5, 1, 1)));
494   gtk_widget_show (stop_sense_cycles);
495   gtk_grid_attach (GTK_GRID (grid1), stop_sense_cycles, 1, 3, 1, 1);
496   gtk_scale_set_value_pos (GTK_SCALE (stop_sense_cycles), GTK_POS_LEFT);
497
498   label25 = gtk_label_new ("XInput:");
499   gtk_widget_show (label25);
500   gtk_grid_attach (GTK_GRID (grid1), label25, 0, 0, 1, 1);
501   gtk_misc_set_alignment (GTK_MISC (label25), 0, 0.5);
502
503   xinput_enable = gtk_check_button_new_with_mnemonic ("Activate XInput support");
504   gtk_widget_show (xinput_enable);
505   gtk_grid_attach (GTK_GRID (grid1), xinput_enable, 1, 0, 1, 1);
506   gtk_widget_set_tooltip_text(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.");
507
508   label37 = gtk_label_new ("Turntable inertia:");
509   gtk_widget_show (label37);
510   gtk_grid_attach (GTK_GRID (grid1), label37, 0, 4, 1, 1);
511   gtk_misc_set_alignment (GTK_MISC (label37), 0, 0.5);
512
513   vtt_inertia = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, GTK_ADJUSTMENT (gtk_adjustment_new (11, 1, 310, 0.01, 1, 10)));
514   gtk_widget_show (vtt_inertia);
515   gtk_grid_attach (GTK_GRID (grid1), vtt_inertia, 1, 4, 1, 1);
516   gtk_scale_set_value_pos (GTK_SCALE (vtt_inertia), GTK_POS_LEFT);
517
518   label4 = gtk_label_new ("Input");
519   gtk_widget_show (label4);
520   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 3), label4);
521
522   grid2 = gtk_grid_new ();
523   gtk_widget_show (grid2);
524   gtk_container_add (GTK_CONTAINER (notebook1), grid2);
525   gtk_container_set_border_width (GTK_CONTAINER (grid2), 4);
526   gtk_grid_set_row_spacing (GTK_GRID (grid2), 2);
527   gtk_grid_set_column_spacing (GTK_GRID (grid2), 2);
528
529   label8 = gtk_label_new ("Tooltips:");
530   gtk_widget_show (label8);
531   gtk_grid_attach (GTK_GRID (grid2), label8, 0, 1, 1, 1);
532   gtk_misc_set_alignment (GTK_MISC (label8), 0, 0.5);
533
534   label9 = gtk_label_new ("Update idle (ms):");
535   gtk_widget_show (label9);
536   gtk_grid_attach (GTK_GRID (grid2), label9, 0, 3, 1, 1);
537   gtk_misc_set_alignment (GTK_MISC (label9), 0, 0.5);
538
539   label10 = gtk_label_new ("Update delay (cycles):");
540   gtk_widget_show (label10);
541   gtk_grid_attach (GTK_GRID (grid2), label10, 0, 4, 1, 1);
542   gtk_misc_set_alignment (GTK_MISC (label10), 0, 0.5);
543
544   label11 = gtk_label_new ("VU meter decay:");
545   gtk_widget_show (label11);
546   gtk_grid_attach (GTK_GRID (grid2), label11, 0, 5, 1, 1);
547   gtk_misc_set_alignment (GTK_MISC (label11), 0, 0.49);
548
549   mainwin_tooltips = gtk_check_button_new_with_mnemonic ("Activate tooltips for the main wnidow");
550   gtk_widget_show (mainwin_tooltips);
551   gtk_grid_attach (GTK_GRID (grid2), mainwin_tooltips, 1, 1, 1, 1);
552   gtk_widget_set_tooltip_text(mainwin_tooltips, "Enable tooltips for the terminatorX main window.");
553
554   update_idle = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, GTK_ADJUSTMENT (gtk_adjustment_new (11, 6, 100, 1, 10, 10)));
555   gtk_widget_show (update_idle);
556   gtk_grid_attach (GTK_GRID (grid2), update_idle, 1, 3, 1, 1);
557   gtk_scale_set_value_pos (GTK_SCALE (update_idle), GTK_POS_LEFT);
558   gtk_scale_set_digits (GTK_SCALE (update_idle), 0);
559
560   update_delay = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 15, 1, 10, 10)));
561   gtk_widget_show (update_delay);
562   gtk_grid_attach (GTK_GRID (grid2), update_delay, 1, 4, 1, 1);
563   gtk_scale_set_value_pos (GTK_SCALE (update_delay), GTK_POS_LEFT);
564
565   vumeter_decay = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, GTK_ADJUSTMENT (gtk_adjustment_new (0.8, 0.8, 0.99, 0.01, 0.01, 0.001)));
566   gtk_widget_show (vumeter_decay);
567   gtk_grid_attach (GTK_GRID (grid2), vumeter_decay, 1, 5, 1, 1);
568   gtk_scale_set_value_pos (GTK_SCALE (vumeter_decay), GTK_POS_LEFT);
569   gtk_scale_set_digits (GTK_SCALE (vumeter_decay), 2);
570
571   label14 = gtk_label_new ("Nagbox:");
572   gtk_widget_show (label14);
573   gtk_grid_attach (GTK_GRID (grid2), label14, 0, 0, 1, 1);
574   gtk_misc_set_alignment (GTK_MISC (label14), 0, 0.5);
575
576   startup_nagbox = gtk_check_button_new_with_mnemonic ("Display nagbox on startup");
577   gtk_widget_show (startup_nagbox);
578   gtk_grid_attach (GTK_GRID (grid2), startup_nagbox, 1, 0, 1, 1);
579   gtk_widget_set_tooltip_text(startup_nagbox, "Display nagbox on startup while loading data.");
580
581   label12 = gtk_label_new ("Buttons:");
582   gtk_widget_show (label12);
583   gtk_grid_attach (GTK_GRID (grid2), label12, 0, 2, 1, 1);
584   gtk_misc_set_alignment (GTK_MISC (label12), 0, 0.5);
585
586   hbox1 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5);
587   gtk_widget_set_hexpand(hbox1, TRUE);
588   gtk_widget_show (hbox1);
589   gtk_grid_attach (GTK_GRID (grid2), hbox1, 1, 2, 1, 1);
590
591   buttons_text_and_icon = gtk_radio_button_new_with_mnemonic (NULL, "Text + Icon");
592   gtk_widget_show (buttons_text_and_icon);
593   gtk_box_pack_start (GTK_BOX (hbox1), buttons_text_and_icon, FALSE, FALSE, 0);
594   gtk_radio_button_set_group (GTK_RADIO_BUTTON (buttons_text_and_icon), buttons_text_and_icon_group);
595   buttons_text_and_icon_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (buttons_text_and_icon));
596
597   buttons_icon_only = gtk_radio_button_new_with_mnemonic (NULL, "Icon Only");
598   gtk_widget_show (buttons_icon_only);
599   gtk_box_pack_start (GTK_BOX (hbox1), buttons_icon_only, FALSE, FALSE, 0);
600   gtk_radio_button_set_group (GTK_RADIO_BUTTON (buttons_icon_only), buttons_text_and_icon_group);
601   buttons_text_and_icon_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (buttons_icon_only));
602
603   buttons_text_only = gtk_radio_button_new_with_mnemonic (NULL, "Text Only");
604   gtk_widget_show (buttons_text_only);
605   gtk_box_pack_start (GTK_BOX (hbox1), buttons_text_only, FALSE, FALSE, 0);
606   gtk_radio_button_set_group (GTK_RADIO_BUTTON (buttons_text_only), buttons_text_and_icon_group);
607   buttons_text_and_icon_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (buttons_text_only));
608
609   label38 = gtk_label_new ("Filename length:");
610   gtk_widget_show (label38);
611   gtk_grid_attach (GTK_GRID (grid2), label38, 0, 6, 1, 1);
612   gtk_misc_set_alignment (GTK_MISC (label38), 0, 0.5);
613
614   filename_length_adj = gtk_adjustment_new (8, 3, 255, 1, 10, 0);
615   filename_length = gtk_spin_button_new (GTK_ADJUSTMENT (filename_length_adj), 1, 0);
616   gtk_widget_set_hexpand(filename_length, TRUE);
617   gtk_widget_show (filename_length);
618   gtk_grid_attach (GTK_GRID (grid2), filename_length, 1, 6, 1, 1);
619
620   label2 = gtk_label_new ("User Interface");
621   gtk_widget_show (label2);
622   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 4), label2);
623
624   grid8 = gtk_grid_new ();
625   gtk_widget_show (grid8);
626   gtk_container_add (GTK_CONTAINER (notebook1), grid8);
627   gtk_grid_set_row_spacing (GTK_GRID (grid8), 2);
628   gtk_grid_set_column_spacing (GTK_GRID (grid8), 2);
629
630   label42 = gtk_label_new ("Background (focus):");
631   gtk_widget_show (label42);
632   gtk_grid_attach (GTK_GRID (grid8), label42, 0, 0, 1, 1);
633   gtk_misc_set_alignment (GTK_MISC (label42), 0, 0.5);
634
635   label43 = gtk_label_new ("Background (no focus):");
636   gtk_widget_show (label43);
637   gtk_grid_attach (GTK_GRID (grid8), label43, 0, 1, 1, 1);
638   gtk_misc_set_alignment (GTK_MISC (label43), 0, 0.5);
639
640   label44 = gtk_label_new ("Signal (focus):");
641   gtk_widget_show (label44);
642   gtk_grid_attach (GTK_GRID (grid8), label44, 0, 2, 1, 1);
643   gtk_misc_set_alignment (GTK_MISC (label44), 0, 0.5);
644
645   label45 = gtk_label_new ("Signal (no focus):");
646   gtk_widget_show (label45);
647   gtk_grid_attach (GTK_GRID (grid8), label45, 0, 3, 1, 1);
648   gtk_misc_set_alignment (GTK_MISC (label45), 0, 0.5);
649
650   label46 = gtk_label_new ("Cursor:");
651   gtk_widget_show (label46);
652   gtk_grid_attach (GTK_GRID (grid8), label46, 0, 4, 1, 1);
653   gtk_misc_set_alignment (GTK_MISC (label46), 0, 0.5);
654
655   label47 = gtk_label_new ("Cursor (mute):");
656   gtk_widget_show (label47);
657   gtk_grid_attach (GTK_GRID (grid8), label47, 0, 5, 1, 1);
658   gtk_misc_set_alignment (GTK_MISC (label47), 0, 0.5);
659
660   wav_display_bg_focus = gtk_button_new_with_mnemonic ("button1");
661   gtk_widget_set_hexpand(wav_display_bg_focus , TRUE);
662   gtk_widget_show (wav_display_bg_focus);
663   gtk_grid_attach (GTK_GRID (grid8), wav_display_bg_focus, 1, 0, 1, 1);
664
665   wav_display_bg_no_focus = gtk_button_new_with_mnemonic ("button2");
666   gtk_widget_set_hexpand(wav_display_bg_no_focus , TRUE);
667   gtk_widget_show (wav_display_bg_no_focus);
668   gtk_grid_attach (GTK_GRID (grid8), wav_display_bg_no_focus, 1, 1, 1, 1);
669
670   wav_display_fg_focus = gtk_button_new_with_mnemonic ("button3");
671   gtk_widget_set_hexpand(wav_display_fg_focus , TRUE);
672   gtk_widget_show (wav_display_fg_focus);
673   gtk_grid_attach (GTK_GRID (grid8), wav_display_fg_focus, 1, 2, 1, 1);
674
675   wav_display_fg_no_focus = gtk_button_new_with_mnemonic ("button4");
676   gtk_widget_set_hexpand(wav_display_fg_no_focus , TRUE);
677   gtk_widget_show (wav_display_fg_no_focus);
678   gtk_grid_attach (GTK_GRID (grid8), wav_display_fg_no_focus, 1, 3, 1, 1);
679
680   wav_display_cursor = gtk_button_new_with_mnemonic ("button5");
681   gtk_widget_set_hexpand(wav_display_cursor , TRUE);
682   gtk_widget_show (wav_display_cursor);
683   gtk_grid_attach (GTK_GRID (grid8), wav_display_cursor, 1, 4, 1, 1);
684
685   wav_display_cursor_mute = gtk_button_new_with_mnemonic ("button6");
686   gtk_widget_set_hexpand(wav_display_cursor_mute , TRUE);
687   gtk_widget_show (wav_display_cursor_mute);
688   gtk_grid_attach (GTK_GRID (grid8), wav_display_cursor_mute, 1, 5, 1, 1);
689
690   label41 = gtk_label_new ("Audio Colors");
691   gtk_widget_show (label41);
692   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 5), label41);
693
694   grid9 = gtk_grid_new ();
695   gtk_widget_show (grid9);
696   gtk_container_add (GTK_CONTAINER (notebook1), grid9);
697   gtk_container_set_border_width (GTK_CONTAINER (grid9), 4);
698   gtk_grid_set_row_spacing (GTK_GRID (grid9), 2);
699   gtk_grid_set_column_spacing (GTK_GRID (grid9), 2);
700
701   label53 = gtk_label_new ("Background:");
702   gtk_widget_show (label53);
703   gtk_grid_attach (GTK_GRID (grid9), label53, 0, 0, 1, 1);
704   gtk_misc_set_alignment (GTK_MISC (label53), 0, 0.5);
705
706   label54 = gtk_label_new ("Regular Signal:");
707   gtk_widget_show (label54);
708   gtk_grid_attach (GTK_GRID (grid9), label54, 0, 1, 1, 1);
709   gtk_misc_set_alignment (GTK_MISC (label54), 0, 0.5);
710
711   label55 = gtk_label_new ("Loud Signal:");
712   gtk_widget_show (label55);
713   gtk_grid_attach (GTK_GRID (grid9), label55, 0, 2, 1, 1);
714   gtk_misc_set_alignment (GTK_MISC (label55), 0, 0.5);
715
716   label56 = gtk_label_new ("Scale Opacity:");
717   gtk_widget_show (label56);
718   gtk_grid_attach (GTK_GRID (grid9), label56, 0, 3, 1, 1);
719   gtk_misc_set_alignment (GTK_MISC (label56), 0, 0.5);
720
721   vu_meter_border_intensity = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL,  GTK_ADJUSTMENT (gtk_adjustment_new (0.07, 0, 1, 0.01, 0, 0)));
722   gtk_widget_set_hexpand(vu_meter_border_intensity, TRUE);
723   gtk_widget_show (vu_meter_border_intensity);
724   gtk_grid_attach (GTK_GRID (grid9), vu_meter_border_intensity, 1, 3, 1, 1);
725   gtk_scale_set_value_pos (GTK_SCALE (vu_meter_border_intensity), GTK_POS_LEFT);
726   gtk_scale_set_digits (GTK_SCALE (vu_meter_border_intensity), 2);
727
728   vu_meter_bg = gtk_button_new_with_mnemonic ("button7");
729   gtk_widget_show (vu_meter_bg);
730   gtk_grid_attach (GTK_GRID (grid9), vu_meter_bg, 1, 0, 1, 1);
731
732   vu_meter_normal = gtk_button_new_with_mnemonic ("button8");
733   gtk_widget_show (vu_meter_normal);
734   gtk_grid_attach (GTK_GRID (grid9), vu_meter_normal, 1, 1, 1, 1);
735
736   vu_meter_loud = gtk_button_new_with_mnemonic ("button9");
737   gtk_widget_show (vu_meter_loud);
738   gtk_grid_attach (GTK_GRID (grid9), vu_meter_loud, 1, 2, 1, 1);
739
740   label52 = gtk_label_new ("VU Colors");
741   gtk_widget_show (label52);
742   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 6), label52);
743
744   grid3 = gtk_grid_new ();
745   gtk_widget_show (grid3);
746   gtk_container_add (GTK_CONTAINER (notebook1), grid3);
747   gtk_container_set_border_width (GTK_CONTAINER (grid3), 4);
748   gtk_grid_set_row_spacing (GTK_GRID (grid3), 2);
749   gtk_grid_set_column_spacing (GTK_GRID (grid3), 2);
750
751   label13 = gtk_label_new ("Soundfile editor:");
752   gtk_widget_show (label13);
753   gtk_grid_attach (GTK_GRID (grid3), label13, 0, 0, 1, 1);
754   gtk_misc_set_alignment (GTK_MISC (label13), 0, 0.5);
755
756   soundfile_editor = gtk_entry_new ();
757   gtk_widget_set_hexpand(soundfile_editor, TRUE);
758   gtk_widget_show (soundfile_editor);
759   gtk_grid_attach (GTK_GRID (grid3), soundfile_editor, 1, 0, 1, 1);
760   gtk_widget_set_tooltip_text(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.");
761
762   label26 = gtk_label_new ("Pre-listen:");
763   gtk_widget_show (label26);
764   gtk_grid_attach (GTK_GRID (grid3), label26, 0, 3, 1, 1);
765   gtk_misc_set_alignment (GTK_MISC (label26), 0, 0.5);
766
767   prelisten_enabled = gtk_check_button_new_with_mnemonic ("Play audiofiles in file dialogs");
768   gtk_widget_show (prelisten_enabled);
769   gtk_grid_attach (GTK_GRID (grid3), prelisten_enabled, 1, 3, 1, 1);
770   gtk_widget_set_tooltip_text(prelisten_enabled, "When enabled soundfiles will be playedback when selected in a file dialog (before loading them).");
771
772   label31 = gtk_label_new ("LADSPA RDF path:");
773   gtk_widget_show (label31);
774   gtk_grid_attach (GTK_GRID (grid3), label31, 0, 1, 1, 1);
775   gtk_misc_set_alignment (GTK_MISC (label31), 0, 0.5);
776
777   ladspa_rdf_path = gtk_entry_new ();
778   gtk_widget_show (ladspa_rdf_path);
779   gtk_grid_attach (GTK_GRID (grid3), ladspa_rdf_path, 1, 1, 1, 1);
780
781   label33 = gtk_label_new ("Compression:");
782   gtk_widget_show (label33);
783   gtk_grid_attach (GTK_GRID (grid3), label33, 0, 2, 1, 1);
784   gtk_misc_set_alignment (GTK_MISC (label33), 0, 0.5);
785
786   compress_set_files = gtk_check_button_new_with_mnemonic ("Compress terminatorX set files");
787   gtk_widget_show (compress_set_files);
788   gtk_grid_attach (GTK_GRID (grid3), compress_set_files, 1, 2, 1, 1);
789
790   label40 = gtk_label_new ("MIDI:");
791   gtk_widget_show (label40);
792   gtk_grid_attach (GTK_GRID (grid3), label40, 0, 4, 1, 1);
793   gtk_misc_set_alignment (GTK_MISC (label40), 0, 0.5);
794
795   reconnect_enabled = gtk_check_button_new_with_mnemonic ("Restore MIDI connections on startup");
796   gtk_widget_show (reconnect_enabled);
797   gtk_grid_attach (GTK_GRID (grid3), reconnect_enabled, 1, 4, 1, 1);
798   gtk_widget_set_tooltip_text(reconnect_enabled, "When enabled soundfiles will be playedback when selected in a file dialog (before loading them).");
799
800   label57 = gtk_label_new ("Quit:");
801   gtk_widget_show (label57);
802   gtk_grid_attach (GTK_GRID (grid3), label57, 0, 5, 1, 1);
803   gtk_misc_set_alignment (GTK_MISC (label57), 0, 0.5);
804
805   quit_confirm = gtk_check_button_new_with_mnemonic ("Ask for \"Quit\" confirmation");
806   gtk_widget_show (quit_confirm);
807   gtk_grid_attach (GTK_GRID (grid3), quit_confirm, 1, 5, 1, 1);
808
809   label58 = gtk_label_new ("Plugins:");
810   gtk_widget_show (label58);
811   gtk_grid_attach (GTK_GRID (grid3), label58, 0, 6, 1, 1);
812   gtk_misc_set_alignment (GTK_MISC (label58), 0, 0.5);
813
814   label59 = gtk_label_new ("");
815   gtk_widget_show (label59);
816   gtk_grid_attach (GTK_GRID (grid3), label59, 0, 7, 1, 1);
817   gtk_misc_set_alignment (GTK_MISC (label59), 0, 0.5);
818
819   verbose_plugin_loading = gtk_check_button_new_with_mnemonic ("Verbose plugin loading");
820   gtk_widget_show (verbose_plugin_loading);
821   gtk_grid_attach (GTK_GRID (grid3), verbose_plugin_loading, 1, 6, 1, 1);
822
823   force_nonrt_plugins = gtk_check_button_new_with_mnemonic ("Force loading of \"non-RT\" plugins ");
824   gtk_widget_show (force_nonrt_plugins);
825   gtk_grid_attach (GTK_GRID (grid3), force_nonrt_plugins, 1, 7, 1, 1);
826
827   label3 = gtk_label_new ("Misc");
828   gtk_widget_show (label3);
829   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 7), label3);
830
831   dialog_action_area3 = gtk_dialog_get_content_area(GTK_DIALOG (tx_options));
832   gtk_widget_show (dialog_action_area3);
833
834   pref_reset = gtk_button_new_from_stock ("gtk-revert-to-saved");
835   gtk_widget_show (pref_reset);
836   gtk_dialog_add_action_widget (GTK_DIALOG (tx_options), pref_reset, 0);
837   gtk_widget_set_can_default(pref_reset, TRUE);
838   
839   pref_cancel = gtk_button_new_from_stock ("gtk-cancel");
840   gtk_widget_show (pref_cancel);
841   gtk_dialog_add_action_widget (GTK_DIALOG (tx_options), pref_cancel, GTK_RESPONSE_CANCEL);
842   gtk_widget_set_can_default(pref_cancel, TRUE);
843   
844   pref_apply = gtk_button_new_from_stock ("gtk-apply");
845   gtk_widget_show (pref_apply);
846   gtk_dialog_add_action_widget (GTK_DIALOG (tx_options), pref_apply, GTK_RESPONSE_APPLY);
847   gtk_widget_set_can_default(pref_apply, TRUE);
848
849   pref_ok = gtk_button_new_from_stock ("gtk-ok");
850   gtk_widget_show (pref_ok);
851   gtk_dialog_add_action_widget (GTK_DIALOG (tx_options), pref_ok, GTK_RESPONSE_OK);
852   gtk_widget_set_can_default(pref_ok, TRUE);
853   
854   g_signal_connect ((gpointer) tx_options, "destroy",
855                     G_CALLBACK (on_tx_options_destroy),
856                     NULL);
857   g_signal_connect_swapped ((gpointer) alsa_buffer_time, "value_changed",
858                             G_CALLBACK (on_alsa_buffer_time_value_changed),
859                             G_OBJECT (alsa_period_time));
860   g_signal_connect_swapped ((gpointer) wav_display_bg_focus, "clicked",
861                             G_CALLBACK (color_clicked),
862                             G_OBJECT (wav_display_bg_focus));
863   g_signal_connect_swapped ((gpointer) wav_display_bg_no_focus, "clicked",
864                             G_CALLBACK (color_clicked),
865                             G_OBJECT (wav_display_bg_no_focus));
866   g_signal_connect_swapped ((gpointer) wav_display_fg_focus, "clicked",
867                             G_CALLBACK (color_clicked),
868                             G_OBJECT (wav_display_fg_focus));
869   g_signal_connect_swapped ((gpointer) wav_display_fg_no_focus, "clicked",
870                             G_CALLBACK (color_clicked),
871                             G_OBJECT (wav_display_fg_no_focus));
872   g_signal_connect_swapped ((gpointer) wav_display_cursor, "clicked",
873                             G_CALLBACK (color_clicked),
874                             G_OBJECT (wav_display_cursor));
875   g_signal_connect_swapped ((gpointer) wav_display_cursor_mute, "clicked",
876                             G_CALLBACK (color_clicked),
877                             G_OBJECT (wav_display_cursor_mute));
878   g_signal_connect_swapped ((gpointer) vu_meter_bg, "clicked",
879                             G_CALLBACK (color_clicked),
880                             G_OBJECT (vu_meter_bg));
881   g_signal_connect_swapped ((gpointer) vu_meter_normal, "clicked",
882                             G_CALLBACK (color_clicked),
883                             G_OBJECT (vu_meter_normal));
884   g_signal_connect_swapped ((gpointer) vu_meter_loud, "clicked",
885                             G_CALLBACK (color_clicked),
886                             G_OBJECT (vu_meter_loud));
887   g_signal_connect ((gpointer) pref_reset, "clicked",
888                     G_CALLBACK (on_pref_reset_clicked),
889                     NULL);
890   g_signal_connect ((gpointer) pref_cancel, "clicked",
891                     G_CALLBACK (on_pref_cancel_clicked),
892                     NULL);
893   g_signal_connect ((gpointer) pref_apply, "clicked",
894                     G_CALLBACK (on_pref_apply_clicked),
895                     NULL);
896   g_signal_connect ((gpointer) pref_ok, "clicked",
897                     G_CALLBACK (on_pref_ok_clicked),
898                     NULL);
899
900   /* Store pointers to all widgets, for use by lookup_widget(). */
901   TX_UI_HOOKUP_OBJECT_NO_REF (tx_options, tx_options, "tx_options");
902   TX_UI_HOOKUP_OBJECT_NO_REF (tx_options, dialog_vbox3, "dialog_vbox3");
903   TX_UI_HOOKUP_OBJECT (tx_options, notebook1, "notebook1");
904   TX_UI_HOOKUP_OBJECT (tx_options, grid4, "grid4");
905   TX_UI_HOOKUP_OBJECT (tx_options, label18, "label18");
906   TX_UI_HOOKUP_OBJECT (tx_options, hbox2, "hbox2");
907   TX_UI_HOOKUP_OBJECT (tx_options, oss_driver, "oss_driver");
908   TX_UI_HOOKUP_OBJECT (tx_options, alsa_driver, "alsa_driver");
909   TX_UI_HOOKUP_OBJECT (tx_options, jack_driver, "jack_driver");
910   TX_UI_HOOKUP_OBJECT (tx_options, pulse_driver, "pulse_driver");
911   TX_UI_HOOKUP_OBJECT (tx_options, use_realtime_label, "use_realtime_label");
912   TX_UI_HOOKUP_OBJECT (tx_options, use_realtime, "use_realtime");
913   TX_UI_HOOKUP_OBJECT (tx_options, label1, "label1");
914   TX_UI_HOOKUP_OBJECT (tx_options, grid5, "grid5");
915   TX_UI_HOOKUP_OBJECT (tx_options, label21, "label21");
916   TX_UI_HOOKUP_OBJECT (tx_options, label22, "label22");
917   TX_UI_HOOKUP_OBJECT (tx_options, label23, "label23");
918   TX_UI_HOOKUP_OBJECT (tx_options, label24, "label24");
919   TX_UI_HOOKUP_OBJECT (tx_options, oss_audio_device, "oss_audio_device");
920   TX_UI_HOOKUP_OBJECT (tx_options, oss_buffers, "oss_buffers");
921   TX_UI_HOOKUP_OBJECT (tx_options, oss_buffersize, "oss_buffersize");
922   TX_UI_HOOKUP_OBJECT (tx_options, oss_samplerate, "oss_samplerate");
923   TX_UI_HOOKUP_OBJECT (tx_options, label15, "label15");
924   TX_UI_HOOKUP_OBJECT (tx_options, grid6, "grid6");
925   TX_UI_HOOKUP_OBJECT (tx_options, label27, "label27");
926   TX_UI_HOOKUP_OBJECT (tx_options, label29, "label29");
927   TX_UI_HOOKUP_OBJECT (tx_options, label30, "label30");
928   TX_UI_HOOKUP_OBJECT (tx_options, alsa_audio_device, "alsa_audio_device");
929   TX_UI_HOOKUP_OBJECT (tx_options, alsa_samplerate, "alsa_samplerate");
930   TX_UI_HOOKUP_OBJECT (tx_options, alsa_period_time, "alsa_period_time");
931   TX_UI_HOOKUP_OBJECT (tx_options, label32, "label32");
932   TX_UI_HOOKUP_OBJECT (tx_options, alsa_buffer_time, "alsa_buffer_time");
933   TX_UI_HOOKUP_OBJECT (tx_options, label39, "label39");
934   TX_UI_HOOKUP_OBJECT (tx_options, alsa_free_hwstats, "alsa_free_hwstats");
935   TX_UI_HOOKUP_OBJECT (tx_options, label16, "label16");
936   TX_UI_HOOKUP_OBJECT (tx_options, grid1, "grid1");
937   TX_UI_HOOKUP_OBJECT (tx_options, label5, "label5");
938   TX_UI_HOOKUP_OBJECT (tx_options, label6, "label6");
939   TX_UI_HOOKUP_OBJECT (tx_options, label7, "label7");
940   TX_UI_HOOKUP_OBJECT (tx_options, xinput_device, "xinput_device");
941   TX_UI_HOOKUP_OBJECT (tx_options, mouse_speed, "mouse_speed");
942   TX_UI_HOOKUP_OBJECT (tx_options, stop_sense_cycles, "stop_sense_cycles");
943   TX_UI_HOOKUP_OBJECT (tx_options, label25, "label25");
944   TX_UI_HOOKUP_OBJECT (tx_options, xinput_enable, "xinput_enable");
945   TX_UI_HOOKUP_OBJECT (tx_options, label37, "label37");
946   TX_UI_HOOKUP_OBJECT (tx_options, vtt_inertia, "vtt_inertia");
947   TX_UI_HOOKUP_OBJECT (tx_options, label4, "label4");
948   TX_UI_HOOKUP_OBJECT (tx_options, grid2, "grid2");
949   TX_UI_HOOKUP_OBJECT (tx_options, label8, "label8");
950   TX_UI_HOOKUP_OBJECT (tx_options, label9, "label9");
951   TX_UI_HOOKUP_OBJECT (tx_options, label10, "label10");
952   TX_UI_HOOKUP_OBJECT (tx_options, label11, "label11");
953   TX_UI_HOOKUP_OBJECT (tx_options, mainwin_tooltips, "mainwin_tooltips");
954   TX_UI_HOOKUP_OBJECT (tx_options, update_idle, "update_idle");
955   TX_UI_HOOKUP_OBJECT (tx_options, update_delay, "update_delay");
956   TX_UI_HOOKUP_OBJECT (tx_options, vumeter_decay, "vumeter_decay");
957   TX_UI_HOOKUP_OBJECT (tx_options, label14, "label14");
958   TX_UI_HOOKUP_OBJECT (tx_options, startup_nagbox, "startup_nagbox");
959   TX_UI_HOOKUP_OBJECT (tx_options, label12, "label12");
960   TX_UI_HOOKUP_OBJECT (tx_options, hbox1, "hbox1");
961   TX_UI_HOOKUP_OBJECT (tx_options, buttons_text_and_icon, "buttons_text_and_icon");
962   TX_UI_HOOKUP_OBJECT (tx_options, buttons_icon_only, "buttons_icon_only");
963   TX_UI_HOOKUP_OBJECT (tx_options, buttons_text_only, "buttons_text_only");
964   TX_UI_HOOKUP_OBJECT (tx_options, label38, "label38");
965   TX_UI_HOOKUP_OBJECT (tx_options, filename_length, "filename_length");
966   TX_UI_HOOKUP_OBJECT (tx_options, label2, "label2");
967   TX_UI_HOOKUP_OBJECT (tx_options, grid8, "grid8");
968   TX_UI_HOOKUP_OBJECT (tx_options, label42, "label42");
969   TX_UI_HOOKUP_OBJECT (tx_options, label43, "label43");
970   TX_UI_HOOKUP_OBJECT (tx_options, label44, "label44");
971   TX_UI_HOOKUP_OBJECT (tx_options, label45, "label45");
972   TX_UI_HOOKUP_OBJECT (tx_options, label46, "label46");
973   TX_UI_HOOKUP_OBJECT (tx_options, label47, "label47");
974   TX_UI_HOOKUP_OBJECT (tx_options, wav_display_bg_focus, "wav_display_bg_focus");
975   TX_UI_HOOKUP_OBJECT (tx_options, wav_display_bg_no_focus, "wav_display_bg_no_focus");
976   TX_UI_HOOKUP_OBJECT (tx_options, wav_display_fg_focus, "wav_display_fg_focus");
977   TX_UI_HOOKUP_OBJECT (tx_options, wav_display_fg_no_focus, "wav_display_fg_no_focus");
978   TX_UI_HOOKUP_OBJECT (tx_options, wav_display_cursor, "wav_display_cursor");
979   TX_UI_HOOKUP_OBJECT (tx_options, wav_display_cursor_mute, "wav_display_cursor_mute");
980   TX_UI_HOOKUP_OBJECT (tx_options, label41, "label41");
981   TX_UI_HOOKUP_OBJECT (tx_options, grid9, "grid9");
982   TX_UI_HOOKUP_OBJECT (tx_options, label53, "label53");
983   TX_UI_HOOKUP_OBJECT (tx_options, label54, "label54");
984   TX_UI_HOOKUP_OBJECT (tx_options, label55, "label55");
985   TX_UI_HOOKUP_OBJECT (tx_options, label56, "label56");
986   TX_UI_HOOKUP_OBJECT (tx_options, vu_meter_border_intensity, "vu_meter_border_intensity");
987   TX_UI_HOOKUP_OBJECT (tx_options, vu_meter_bg, "vu_meter_bg");
988   TX_UI_HOOKUP_OBJECT (tx_options, vu_meter_normal, "vu_meter_normal");
989   TX_UI_HOOKUP_OBJECT (tx_options, vu_meter_loud, "vu_meter_loud");
990   TX_UI_HOOKUP_OBJECT (tx_options, label52, "label52");
991   TX_UI_HOOKUP_OBJECT (tx_options, grid3, "grid3");
992   TX_UI_HOOKUP_OBJECT (tx_options, label13, "label13");
993   TX_UI_HOOKUP_OBJECT (tx_options, soundfile_editor, "soundfile_editor");
994   TX_UI_HOOKUP_OBJECT (tx_options, label26, "label26");
995   TX_UI_HOOKUP_OBJECT (tx_options, prelisten_enabled, "prelisten_enabled");
996   TX_UI_HOOKUP_OBJECT (tx_options, label31, "label31");
997   TX_UI_HOOKUP_OBJECT (tx_options, ladspa_rdf_path, "ladspa_rdf_path");
998   TX_UI_HOOKUP_OBJECT (tx_options, label33, "label33");
999   TX_UI_HOOKUP_OBJECT (tx_options, compress_set_files, "compress_set_files");
1000   TX_UI_HOOKUP_OBJECT (tx_options, label40, "label40");
1001   TX_UI_HOOKUP_OBJECT (tx_options, reconnect_enabled, "reconnect_enabled");
1002   TX_UI_HOOKUP_OBJECT (tx_options, label57, "label57");
1003   TX_UI_HOOKUP_OBJECT (tx_options, quit_confirm, "quit_confirm");
1004   TX_UI_HOOKUP_OBJECT (tx_options, label58, "label58");
1005   TX_UI_HOOKUP_OBJECT (tx_options, label59, "label59");
1006   TX_UI_HOOKUP_OBJECT (tx_options, verbose_plugin_loading, "verbose_plugin_loading");
1007   TX_UI_HOOKUP_OBJECT (tx_options, force_nonrt_plugins, "force_nonrt_plugins");
1008   TX_UI_HOOKUP_OBJECT (tx_options, label3, "label3");
1009   TX_UI_HOOKUP_OBJECT_NO_REF (tx_options, dialog_action_area3, "dialog_action_area3");
1010   TX_UI_HOOKUP_OBJECT (tx_options, pref_reset, "pref_reset");
1011   TX_UI_HOOKUP_OBJECT (tx_options, pref_cancel, "pref_cancel");
1012   TX_UI_HOOKUP_OBJECT (tx_options, pref_apply, "pref_apply");
1013   TX_UI_HOOKUP_OBJECT (tx_options, pref_ok, "pref_ok");
1014
1015   return tx_options;
1016 }
1017
1018 GtkWidget*
1019 create_tx_del_mode (void)
1020 {
1021   GtkWidget *tx_del_mode;
1022   GtkWidget *dialog_vbox4;
1023   GtkWidget *vbox2;
1024   GtkWidget *delmode_label;
1025   GtkWidget *hbox3;
1026   GtkWidget *vbox3;
1027   GtkWidget *all_events;
1028   GSList *all_events_group = NULL;
1029   GtkWidget *upto_current;
1030   GtkWidget *from_current;
1031   GtkWidget *dialog_action_area4;
1032   GtkWidget *cancelbutton1;
1033   GtkWidget *okbutton1;
1034
1035   tx_del_mode = gtk_dialog_new ();
1036   gtk_window_set_title (GTK_WINDOW (tx_del_mode), "Choose Events to Delete");
1037
1038   dialog_vbox4 = gtk_dialog_get_content_area(GTK_DIALOG (tx_del_mode));
1039   gtk_widget_show (dialog_vbox4);
1040
1041   vbox2 = gtk_box_new(GTK_ORIENTATION_VERTICAL, 2);
1042   gtk_widget_show (vbox2);
1043   gtk_box_pack_start (GTK_BOX (dialog_vbox4), vbox2, TRUE, TRUE, 0);
1044   gtk_container_set_border_width (GTK_CONTAINER (vbox2), 4);
1045
1046   delmode_label = gtk_label_new ("Select which events to delete.");
1047   gtk_widget_show (delmode_label);
1048   gtk_box_pack_start (GTK_BOX (vbox2), delmode_label, TRUE, FALSE, 0);
1049
1050   hbox3 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
1051   gtk_widget_show (hbox3);
1052   gtk_box_pack_start (GTK_BOX (vbox2), hbox3, TRUE, FALSE, 0);
1053
1054   vbox3 = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
1055   gtk_widget_show (vbox3);
1056   gtk_box_pack_start (GTK_BOX (hbox3), vbox3, TRUE, FALSE, 0);
1057
1058   all_events = gtk_radio_button_new_with_mnemonic (NULL, "Complete song");
1059   gtk_widget_show (all_events);
1060   gtk_box_pack_start (GTK_BOX (vbox3), all_events, FALSE, FALSE, 0);
1061   gtk_radio_button_set_group (GTK_RADIO_BUTTON (all_events), all_events_group);
1062   all_events_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (all_events));
1063
1064   upto_current = gtk_radio_button_new_with_mnemonic (NULL, "Upto the current song position");
1065   gtk_widget_show (upto_current);
1066   gtk_box_pack_start (GTK_BOX (vbox3), upto_current, FALSE, FALSE, 0);
1067   gtk_radio_button_set_group (GTK_RADIO_BUTTON (upto_current), all_events_group);
1068   all_events_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (upto_current));
1069
1070   from_current = gtk_radio_button_new_with_mnemonic (NULL, "From the current song position");
1071   gtk_widget_show (from_current);
1072   gtk_box_pack_start (GTK_BOX (vbox3), from_current, FALSE, FALSE, 0);
1073   gtk_radio_button_set_group (GTK_RADIO_BUTTON (from_current), all_events_group);
1074   all_events_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (from_current));
1075
1076   dialog_action_area4 = gtk_dialog_get_action_area(GTK_DIALOG (tx_del_mode));
1077   gtk_widget_show (dialog_action_area4);
1078
1079   cancelbutton1 = gtk_button_new_from_stock ("gtk-cancel");
1080   gtk_widget_show (cancelbutton1);
1081   gtk_dialog_add_action_widget (GTK_DIALOG (tx_del_mode), cancelbutton1, GTK_RESPONSE_CANCEL);
1082   gtk_widget_set_can_default(cancelbutton1, TRUE);
1083
1084   okbutton1 = gtk_button_new_from_stock ("gtk-ok");
1085   gtk_widget_show (okbutton1);
1086   gtk_dialog_add_action_widget (GTK_DIALOG (tx_del_mode), okbutton1, GTK_RESPONSE_OK);
1087   gtk_widget_set_can_default(okbutton1, TRUE);
1088
1089   g_signal_connect ((gpointer) cancelbutton1, "clicked",
1090                     G_CALLBACK (on_del_mode_cancel_clicked),
1091                     NULL);
1092   g_signal_connect ((gpointer) okbutton1, "clicked",
1093                     G_CALLBACK (on_del_mode_ok_clicked),
1094                     NULL);
1095
1096   /* Store pointers to all widgets, for use by lookup_widget(). */
1097   TX_UI_HOOKUP_OBJECT_NO_REF (tx_del_mode, tx_del_mode, "tx_del_mode");
1098   TX_UI_HOOKUP_OBJECT_NO_REF (tx_del_mode, dialog_vbox4, "dialog_vbox4");
1099   TX_UI_HOOKUP_OBJECT (tx_del_mode, vbox2, "vbox2");
1100   TX_UI_HOOKUP_OBJECT (tx_del_mode, delmode_label, "delmode_label");
1101   TX_UI_HOOKUP_OBJECT (tx_del_mode, hbox3, "hbox3");
1102   TX_UI_HOOKUP_OBJECT (tx_del_mode, vbox3, "vbox3");
1103   TX_UI_HOOKUP_OBJECT (tx_del_mode, all_events, "all_events");
1104   TX_UI_HOOKUP_OBJECT (tx_del_mode, upto_current, "upto_current");
1105   TX_UI_HOOKUP_OBJECT (tx_del_mode, from_current, "from_current");
1106   TX_UI_HOOKUP_OBJECT_NO_REF (tx_del_mode, dialog_action_area4, "dialog_action_area4");
1107   TX_UI_HOOKUP_OBJECT (tx_del_mode, cancelbutton1, "cancelbutton1");
1108   TX_UI_HOOKUP_OBJECT (tx_del_mode, okbutton1, "okbutton1");
1109
1110   return tx_del_mode;
1111 }
1112
1113 GtkWidget*
1114 create_tX_midilearn (void)
1115 {
1116   GtkWidget *tX_midilearn;
1117   GtkWidget *dialog_vbox5;
1118   GtkWidget *vbox4;
1119   GtkWidget *midilabel;
1120   GtkWidget *dialog_action_area5;
1121   GtkWidget *cancel;
1122
1123   tX_midilearn = gtk_dialog_new ();
1124   gtk_window_set_title (GTK_WINDOW (tX_midilearn), "MIDI Learn");
1125
1126   dialog_vbox5 = gtk_dialog_get_content_area(GTK_DIALOG (tX_midilearn));
1127   gtk_widget_show (dialog_vbox5);
1128
1129   vbox4 = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
1130   gtk_widget_show (vbox4);
1131   gtk_box_pack_start (GTK_BOX (dialog_vbox5), vbox4, TRUE, TRUE, 0);
1132   gtk_container_set_border_width (GTK_CONTAINER (vbox4), 4);
1133
1134   midilabel = gtk_label_new ("Waiting for MIDI event....");
1135   gtk_widget_show (midilabel);
1136   gtk_box_pack_start (GTK_BOX (vbox4), midilabel, TRUE, TRUE, 0);
1137
1138   dialog_action_area5 = gtk_dialog_get_action_area(GTK_DIALOG (tX_midilearn));
1139   gtk_widget_show (dialog_action_area5);
1140
1141   cancel = gtk_button_new_from_stock ("gtk-cancel");
1142   gtk_widget_show (cancel);
1143   gtk_dialog_add_action_widget (GTK_DIALOG (tX_midilearn), cancel, GTK_RESPONSE_CANCEL);
1144   gtk_widget_set_can_default(cancel, TRUE);
1145
1146   /* Store pointers to all widgets, for use by lookup_widget(). */
1147   TX_UI_HOOKUP_OBJECT_NO_REF (tX_midilearn, tX_midilearn, "tX_midilearn");
1148   TX_UI_HOOKUP_OBJECT_NO_REF (tX_midilearn, dialog_vbox5, "dialog_vbox5");
1149   TX_UI_HOOKUP_OBJECT (tX_midilearn, vbox4, "vbox4");
1150   TX_UI_HOOKUP_OBJECT (tX_midilearn, midilabel, "midilabel");
1151   TX_UI_HOOKUP_OBJECT_NO_REF (tX_midilearn, dialog_action_area5, "dialog_action_area5");
1152   TX_UI_HOOKUP_OBJECT (tX_midilearn, cancel, "cancel");
1153
1154   return tX_midilearn;
1155 }
1156
1157 GtkWidget*
1158 create_tX_color_chooser (GtkWidget *parent)
1159 {
1160   GtkWidget *tX_color_chooser;
1161   GValue value = { 0, };
1162   g_value_init(&value, GTK_TYPE_WIDGET);
1163
1164   tX_color_chooser = gtk_color_chooser_dialog_new ("Select Color", GTK_WINDOW(parent));
1165   gtk_window_set_resizable (GTK_WINDOW (tX_color_chooser), FALSE);
1166   
1167   gtk_color_chooser_set_use_alpha(GTK_COLOR_CHOOSER(tX_color_chooser), FALSE);   
1168
1169   g_signal_connect(tX_color_chooser, "response", G_CALLBACK(color_response), NULL);
1170
1171   /* Store pointers to all widgets, for use by lookup_widget(). */
1172   TX_UI_HOOKUP_OBJECT_NO_REF (tX_color_chooser, tX_color_chooser, "tX_color_chooser");
1173   
1174   return tX_color_chooser;
1175 }
1176