More fixes - compiles with -Wall -Werror now, better defaults and a
authorterminatorX <>
Sat, 12 Apr 2003 22:07:21 +0000 (22:07 +0000)
committerterminatorX <>
Sat, 12 Apr 2003 22:07:21 +0000 (22:07 +0000)
"Revert Settings" option - Alex

19 files changed:
ChangeLog
INSTALL
src/tX_audiodevice.cc
src/tX_audiofile.cc
src/tX_dialog.cc
src/tX_dialog.h
src/tX_engine.cc
src/tX_glade_callbacks.cc
src/tX_glade_callbacks.h
src/tX_glade_interface.cc
src/tX_glade_interface.h
src/tX_global.c
src/tX_global.h
src/tX_ladspa_class.cc
src/tX_mastergui.cc
src/tX_midiin.cc
src/tX_vtt.cc
src/tX_vttgui.cc
terminatorX.glade

index 596fc16d07a6e1f1be08c29a555eaac1c1deca4e..0d93cc2f52ed50d5c0b4394022d222b1d00d0258 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,16 @@
 terminatorX - ChangeLog
-All changes were done by me (Alexander Knig) if not stated otherwise.
+All changes were done by me (Alexander König) if not stated otherwise.
 This is not a GNU-style ChangeLog but you sort of get the idea what was
 changed.
 
 [v3.80 - prerelease]
+- I've invested quite some time in valgrinding this release, among other things
+  a major mem leak showed up - the sample memory wasn't being free'd correctly
+  which is now corrected along with many other things. valgrind is a very 
+  helpful tool indeed.
+- Added a new Pitch Calculator that allows adjusting a turntable's pitch to that 
+  of the master turntable. This makes synchronizing finely cut loop samples
+  really easy
 - XML based set files can get rather huge when they contain a lot of sequencer
   events - to solve this terminatorX now uses zlib to save compressed set
   files if enabled in the preferences dialog.
diff --git a/INSTALL b/INSTALL
index 1fc776e53290cd9c121bb2235b669de5a261f5d4..6b8326b4e90777892822363671b83f44a7549a03 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -131,6 +131,11 @@ Step 1: Configure terminatorX.
                Other options:
                -------------
                
+               --with-docdir
+               
+               If you intend to package terminatorX this flag will allow terminatorX
+               to find the XML documentation in order to display it online.
+               
                --disable-gtk2
                
                If you've got gtk+ V2 installed but you want terminatorX to use
@@ -164,4 +169,4 @@ Step 3: Install the binary:
        
        You need root privileges though. If you don't have them simply copy
        the terminatorX-binary (in src/terminatorX) to a directory of your
-       choice and run terminatorX form there.  
+       choice and run terminatorX form there.
index c03e8a03cde01feaccaff01a40e80184be905626..9ccf74d6b71b0cee1e6f775422c5d8aa0dad4c60 100644 (file)
@@ -238,7 +238,11 @@ int tX_audiodevice_alsa :: open()
        unsigned int hw_rate=(unsigned int)globals.alsa_samplerate;
        int dir;
        
-       int res = snd_pcm_hw_params_set_rate_near(pcm_handle, hw_params, &hw_rate, &dir);
+       if (snd_pcm_hw_params_set_rate_near(pcm_handle, hw_params, &hw_rate, &dir) < 0) {
+               tX_error("ALSA: Failed setting sample rate: %i", globals.alsa_samplerate);
+               snd_pcm_hw_params_free (hw_params);
+               return -1;
+       }
        
        if (dir != 0) {
                tX_warning("ALSA: The PCM device \"%s\" doesnt support 44100 Hz playback - using %i instead", pcm_name, hw_rate);
@@ -257,7 +261,7 @@ int tX_audiodevice_alsa :: open()
        unsigned int period_time=globals.alsa_period_time;
        
        if (snd_pcm_hw_params_set_buffer_time_near(pcm_handle, hw_params, &buffer_time, &dir) < 0) {
-               tX_error("ALSA: failed to set the buffer time opf %lu usecs", globals.alsa_buffer_time);
+               tX_error("ALSA: failed to set the buffer time opf %i usecs", globals.alsa_buffer_time);
                return -1;
        }
 
@@ -268,7 +272,7 @@ int tX_audiodevice_alsa :: open()
                return -1;
        }
        
-       tX_debug("ALSA: buffer size is %i", buffer_size);
+       tX_debug("ALSA: buffer size is %lu", buffer_size);
        
        if (snd_pcm_hw_params_set_period_time_near(pcm_handle, hw_params, &period_time, &dir) < 0) {
                tX_error("ALSA: failed to set period time %i", globals.alsa_period_time);
index cbd6172c3a78434fd482167c48c1227a7ccc8198..9edfa3b2641af7772bf776e99815680f83cf4513 100644 (file)
@@ -107,6 +107,8 @@ tX_audio_error tx_audiofile :: load(char *p_file_name)
        ld_set_progress(0);
                
        figure_file_type();
+       
+       if (mem) { free(mem); mem=NULL; }
 
 #ifdef USE_AUDIOFILE_INPUT
        if ((load_err) && (file_type!=TX_FILE_MPG123) && (file_type!=TX_FILE_OGG123)) {
@@ -310,7 +312,6 @@ tX_audio_error tx_audiofile :: load_wav() {
        p=data;
 #ifdef ENABLE_DEBUG_OUTPUT
        int output=1;
-       unsigned char *debug_p=(unsigned char *) p;
 #endif 
        while (wav_in.len>allbytes)
        {       
@@ -528,7 +529,7 @@ int tx_audiofile::mad_decode(unsigned char const *start, unsigned long length) {
        buffer.sample_rate=0;
        buffer.lost_sync_counter=0;
 
-       tX_debug("tx_audiofile::mad_decode() - start %08x, length %i", buffer.start, buffer.size);
+       tX_debug("tx_audiofile::mad_decode() - start %08x, length %i", (int) buffer.start, buffer.size);
        /* configure input, output, and error functions */
 
        mad_decoder_init(&decoder, &buffer, tX_mad_input, NULL, NULL, tX_mad_output, tX_mad_error, NULL);
index 52fbdab2842b112b4832d22aa51abc29dfa06ca5..b592d0e6548cb0580c4d63c6d4876b63839ab1c1 100644 (file)
@@ -217,9 +217,7 @@ GList *get_sampling_rates_list() {
        if (sampling_rates) {
                return sampling_rates;
        }
-       
-       char buffer[256];
-       
+
        sampling_rates=g_list_append(sampling_rates, (void *) "22000");
        sampling_rates=g_list_append(sampling_rates, (void *) "32000");
        sampling_rates=g_list_append(sampling_rates, (void *) "44100");
index 888f53a1677a9741516428672a16ee3d3623ad5d..570d728c6969106788d343600623b1e3c6bb8c92 100644 (file)
@@ -30,6 +30,7 @@ extern GtkWidget *opt_dialog;
 extern void display_options();
 extern void show_about(int nag);
 extern void destroy_about();
+extern void init_tx_options(GtkWidget *dialog);
 extern void tX_set_icon(GtkWidget *widget, char *);
 extern void apply_options(GtkWidget *);
 #endif
index 23baf2b5bfa5ba24b10881f57a13dcecfbf8eb94..2fb822137faf6113297d0b5da3ed86b7b7b521cf 100644 (file)
@@ -113,9 +113,6 @@ int16_t* tX_engine :: render_cycle() {
 }
 
 void tX_engine :: loop() {
-       int16_t *temp=NULL;
-       int result;
-       
        while (!thread_terminate) {
                /* Waiting for the trigger */
                pthread_mutex_lock(&start);
index a0457009e35d2be60dda88d5a3f24da5f4ed7067..fbdfe1a694f0fecbec52cc9e29cbb2bddc9b0a2b 100644 (file)
@@ -53,3 +53,22 @@ on_alsa_buffer_time_value_changed      (GtkRange        *range,
        period_time->upper=buffer_time->value;
        gtk_adjustment_changed(period_time);
 }
+
+void
+on_pref_reset_clicked                  (GtkButton       *button,
+                                        gpointer         user_data)
+{
+       GtkWidget *dialog=gtk_message_dialog_new(GTK_WINDOW(opt_dialog->window), 
+               GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO,
+               "Loose all your settings and set default values?");
+       
+       int res=gtk_dialog_run(GTK_DIALOG(dialog));
+       gtk_widget_destroy(dialog);
+               
+       if (res!=GTK_RESPONSE_YES) {
+               return;
+       }
+       
+       set_global_defaults();
+       init_tx_options(opt_dialog);
+}
index 4eb81d6ca10d1c12c304e143fb2d3f4f8f9b2dcc..852eed856f596388a713393c2f61cb8040b346a7 100644 (file)
@@ -1,22 +1,25 @@
 #include <gtk/gtk.h>
 
+void
+on_tx_options_destroy                  (GtkObject       *object,
+                                        gpointer         user_data);
 
 void
-on_pref_cancel_clicked                 (GtkButton       *button,
+on_alsa_buffer_time_value_changed      (GtkRange        *range,
                                         gpointer         user_data);
 
 void
-on_pref_apply_clicked                  (GtkButton       *button,
+on_pref_reset_clicked                  (GtkButton       *button,
                                         gpointer         user_data);
 
 void
-on_pref_ok_clicked                     (GtkButton       *button,
+on_pref_cancel_clicked                 (GtkButton       *button,
                                         gpointer         user_data);
 
 void
-on_tx_options_destroy                  (GtkObject       *object,
+on_pref_apply_clicked                  (GtkButton       *button,
                                         gpointer         user_data);
 
 void
-on_alsa_buffer_time_value_changed      (GtkRange        *range,
+on_pref_ok_clicked                     (GtkButton       *button,
                                         gpointer         user_data);
index c9e789a4632267968634afdab7a8cae0e94b516e..4d0c7f0e24cfea3888bd37a1523d29ad525ad65b 100644 (file)
 #define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \
   g_object_set_data (G_OBJECT (component), name, widget)
 
+GtkWidget*
+create_tx_adjust (void)
+{
+  GtkWidget *tx_adjust;
+  GtkWidget *dialog_vbox2;
+  GtkWidget *vbox1;
+  GtkWidget *label34;
+  GtkWidget *table7;
+  GtkObject *master_cycles_adj;
+  GtkWidget *master_cycles;
+  GtkWidget *label36;
+  GtkWidget *label35;
+  GtkObject *cycles_adj;
+  GtkWidget *cycles;
+  GtkWidget *create_event;
+  GtkWidget *dialog_action_area2;
+  GtkWidget *cancel;
+  GtkWidget *ok;
+  GtkTooltips *tooltips;
+
+  tooltips = gtk_tooltips_new ();
+
+  tx_adjust = gtk_dialog_new ();
+  gtk_window_set_title (GTK_WINDOW (tx_adjust), "Compute Pitch");
+
+  dialog_vbox2 = GTK_DIALOG (tx_adjust)->vbox;
+  gtk_widget_show (dialog_vbox2);
+
+  vbox1 = gtk_vbox_new (FALSE, 4);
+  gtk_widget_show (vbox1);
+  gtk_box_pack_start (GTK_BOX (dialog_vbox2), vbox1, TRUE, TRUE, 0);
+  gtk_container_set_border_width (GTK_CONTAINER (vbox1), 4);
+
+  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:");
+  gtk_widget_show (label34);
+  gtk_box_pack_start (GTK_BOX (vbox1), label34, FALSE, FALSE, 0);
+  gtk_label_set_justify (GTK_LABEL (label34), GTK_JUSTIFY_LEFT);
+  gtk_label_set_line_wrap (GTK_LABEL (label34), TRUE);
+
+  table7 = gtk_table_new (2, 2, FALSE);
+  gtk_widget_show (table7);
+  gtk_box_pack_start (GTK_BOX (vbox1), table7, TRUE, TRUE, 0);
+  gtk_table_set_col_spacings (GTK_TABLE (table7), 3);
+
+  master_cycles_adj = gtk_adjustment_new (1, 1, 100, 1, 10, 10);
+  master_cycles = gtk_spin_button_new (GTK_ADJUSTMENT (master_cycles_adj), 1, 0);
+  gtk_widget_show (master_cycles);
+  gtk_table_attach (GTK_TABLE (table7), master_cycles, 1, 2, 1, 2,
+                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_tooltips_set_tip (tooltips, master_cycles, "Specify the number of loops for the master turntable.", NULL);
+
+  label36 = gtk_label_new ("Loops of the master turntable:");
+  gtk_widget_show (label36);
+  gtk_table_attach (GTK_TABLE (table7), label36, 0, 1, 1, 2,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (label36), GTK_JUSTIFY_LEFT);
+
+  label35 = gtk_label_new ("Loops of this turntable turntable:");
+  gtk_widget_show (label35);
+  gtk_table_attach (GTK_TABLE (table7), label35, 0, 1, 0, 1,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_label_set_justify (GTK_LABEL (label35), GTK_JUSTIFY_LEFT);
+
+  cycles_adj = gtk_adjustment_new (1, 1, 100, 1, 10, 10);
+  cycles = gtk_spin_button_new (GTK_ADJUSTMENT (cycles_adj), 1, 0);
+  gtk_widget_show (cycles);
+  gtk_table_attach (GTK_TABLE (table7), cycles, 1, 2, 0, 1,
+                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_tooltips_set_tip (tooltips, cycles, "Specify the number of loops of _this_ turntable.", NULL);
+
+  create_event = gtk_check_button_new_with_mnemonic ("Record a sequencer event");
+  gtk_widget_show (create_event);
+  gtk_box_pack_start (GTK_BOX (vbox1), create_event, FALSE, FALSE, 0);
+  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (create_event), TRUE);
+
+  dialog_action_area2 = GTK_DIALOG (tx_adjust)->action_area;
+  gtk_widget_show (dialog_action_area2);
+  gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area2), GTK_BUTTONBOX_END);
+
+  cancel = gtk_button_new_from_stock ("gtk-cancel");
+  gtk_widget_show (cancel);
+  gtk_dialog_add_action_widget (GTK_DIALOG (tx_adjust), cancel, GTK_RESPONSE_CANCEL);
+  GTK_WIDGET_SET_FLAGS (cancel, GTK_CAN_DEFAULT);
+
+  ok = gtk_button_new_from_stock ("gtk-ok");
+  gtk_widget_show (ok);
+  gtk_dialog_add_action_widget (GTK_DIALOG (tx_adjust), ok, GTK_RESPONSE_OK);
+  GTK_WIDGET_SET_FLAGS (ok, GTK_CAN_DEFAULT);
+
+  /* Store pointers to all widgets, for use by lookup_widget(). */
+  GLADE_HOOKUP_OBJECT_NO_REF (tx_adjust, tx_adjust, "tx_adjust");
+  GLADE_HOOKUP_OBJECT_NO_REF (tx_adjust, dialog_vbox2, "dialog_vbox2");
+  GLADE_HOOKUP_OBJECT (tx_adjust, vbox1, "vbox1");
+  GLADE_HOOKUP_OBJECT (tx_adjust, label34, "label34");
+  GLADE_HOOKUP_OBJECT (tx_adjust, table7, "table7");
+  GLADE_HOOKUP_OBJECT (tx_adjust, master_cycles, "master_cycles");
+  GLADE_HOOKUP_OBJECT (tx_adjust, label36, "label36");
+  GLADE_HOOKUP_OBJECT (tx_adjust, label35, "label35");
+  GLADE_HOOKUP_OBJECT (tx_adjust, cycles, "cycles");
+  GLADE_HOOKUP_OBJECT (tx_adjust, create_event, "create_event");
+  GLADE_HOOKUP_OBJECT_NO_REF (tx_adjust, dialog_action_area2, "dialog_action_area2");
+  GLADE_HOOKUP_OBJECT (tx_adjust, cancel, "cancel");
+  GLADE_HOOKUP_OBJECT (tx_adjust, ok, "ok");
+  GLADE_HOOKUP_OBJECT_NO_REF (tx_adjust, tooltips, "tooltips");
+
+  return tx_adjust;
+}
+
 GtkWidget*
 create_tx_options (void)
 {
   GtkWidget *tx_options;
-  GtkWidget *dialog_vbox1;
+  GtkWidget *dialog_vbox3;
   GtkWidget *notebook1;
   GtkWidget *table4;
   GtkWidget *label18;
@@ -104,7 +216,8 @@ create_tx_options (void)
   GtkWidget *label33;
   GtkWidget *compress_set_files;
   GtkWidget *label3;
-  GtkWidget *dialog_action_area1;
+  GtkWidget *dialog_action_area3;
+  GtkWidget *pref_reset;
   GtkWidget *pref_cancel;
   GtkWidget *pref_apply;
   GtkWidget *pref_ok;
@@ -113,14 +226,14 @@ create_tx_options (void)
   tooltips = gtk_tooltips_new ();
 
   tx_options = gtk_dialog_new ();
-  gtk_window_set_title (GTK_WINDOW (tx_options), "terminatorX: Preferences");
+  gtk_window_set_title (GTK_WINDOW (tx_options), "terminatorX Preferences");
 
-  dialog_vbox1 = GTK_DIALOG (tx_options)->vbox;
-  gtk_widget_show (dialog_vbox1);
+  dialog_vbox3 = GTK_DIALOG (tx_options)->vbox;
+  gtk_widget_show (dialog_vbox3);
 
   notebook1 = gtk_notebook_new ();
   gtk_widget_show (notebook1);
-  gtk_box_pack_start (GTK_BOX (dialog_vbox1), notebook1, TRUE, TRUE, 0);
+  gtk_box_pack_start (GTK_BOX (dialog_vbox3), notebook1, TRUE, TRUE, 0);
 
   table4 = gtk_table_new (1, 2, FALSE);
   gtk_widget_show (table4);
@@ -381,7 +494,7 @@ create_tx_options (void)
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (GTK_FILL), 0, 0);
 
-  stop_sense_cycles = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (10, 1, 150, 5, 1, 1)));
+  stop_sense_cycles = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (80, 30, 250, 5, 1, 1)));
   gtk_widget_show (stop_sense_cycles);
   gtk_table_attach (GTK_TABLE (table1), stop_sense_cycles, 1, 2, 3, 4,
                     (GtkAttachOptions) (GTK_FILL),
@@ -454,7 +567,7 @@ create_tx_options (void)
                     (GtkAttachOptions) (0), 0, 0);
   gtk_tooltips_set_tip (tooltips, mainwin_tooltips, "Enable tooltips for the terminatorX main window.", NULL);
 
-  update_idle = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (11, 1, 100, 1, 10, 10)));
+  update_idle = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (11, 2, 100, 1, 10, 10)));
   gtk_widget_show (update_idle);
   gtk_table_attach (GTK_TABLE (table2), update_idle, 1, 2, 3, 4,
                     (GtkAttachOptions) (GTK_FILL),
@@ -466,6 +579,7 @@ create_tx_options (void)
   gtk_table_attach (GTK_TABLE (table2), update_delay, 1, 2, 4, 5,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (GTK_FILL), 0, 0);
+  gtk_scale_set_digits (GTK_SCALE (update_delay), 0);
 
   vumeter_decay = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.8, 0.8, 0.99, 0.01, 0.01, 0.001)));
   gtk_widget_show (vumeter_decay);
@@ -595,9 +709,14 @@ create_tx_options (void)
   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 5), label3);
   gtk_label_set_justify (GTK_LABEL (label3), GTK_JUSTIFY_LEFT);
 
-  dialog_action_area1 = GTK_DIALOG (tx_options)->action_area;
-  gtk_widget_show (dialog_action_area1);
-  gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END);
+  dialog_action_area3 = GTK_DIALOG (tx_options)->action_area;
+  gtk_widget_show (dialog_action_area3);
+  gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area3), GTK_BUTTONBOX_END);
+
+  pref_reset = gtk_button_new_from_stock ("gtk-revert-to-saved");
+  gtk_widget_show (pref_reset);
+  gtk_dialog_add_action_widget (GTK_DIALOG (tx_options), pref_reset, 0);
+  GTK_WIDGET_SET_FLAGS (pref_reset, GTK_CAN_DEFAULT);
 
   pref_cancel = gtk_button_new_from_stock ("gtk-cancel");
   gtk_widget_show (pref_cancel);
@@ -620,6 +739,9 @@ create_tx_options (void)
   g_signal_connect_swapped ((gpointer) alsa_buffer_time, "value_changed",
                             G_CALLBACK (on_alsa_buffer_time_value_changed),
                             GTK_OBJECT (alsa_period_time));
+  g_signal_connect ((gpointer) pref_reset, "clicked",
+                    G_CALLBACK (on_pref_reset_clicked),
+                    NULL);
   g_signal_connect ((gpointer) pref_cancel, "clicked",
                     G_CALLBACK (on_pref_cancel_clicked),
                     NULL);
@@ -632,7 +754,7 @@ create_tx_options (void)
 
   /* Store pointers to all widgets, for use by lookup_widget(). */
   GLADE_HOOKUP_OBJECT_NO_REF (tx_options, tx_options, "tx_options");
-  GLADE_HOOKUP_OBJECT_NO_REF (tx_options, dialog_vbox1, "dialog_vbox1");
+  GLADE_HOOKUP_OBJECT_NO_REF (tx_options, dialog_vbox3, "dialog_vbox3");
   GLADE_HOOKUP_OBJECT (tx_options, notebook1, "notebook1");
   GLADE_HOOKUP_OBJECT (tx_options, table4, "table4");
   GLADE_HOOKUP_OBJECT (tx_options, label18, "label18");
@@ -703,7 +825,8 @@ create_tx_options (void)
   GLADE_HOOKUP_OBJECT (tx_options, label33, "label33");
   GLADE_HOOKUP_OBJECT (tx_options, compress_set_files, "compress_set_files");
   GLADE_HOOKUP_OBJECT (tx_options, label3, "label3");
-  GLADE_HOOKUP_OBJECT_NO_REF (tx_options, dialog_action_area1, "dialog_action_area1");
+  GLADE_HOOKUP_OBJECT_NO_REF (tx_options, dialog_action_area3, "dialog_action_area3");
+  GLADE_HOOKUP_OBJECT (tx_options, pref_reset, "pref_reset");
   GLADE_HOOKUP_OBJECT (tx_options, pref_cancel, "pref_cancel");
   GLADE_HOOKUP_OBJECT (tx_options, pref_apply, "pref_apply");
   GLADE_HOOKUP_OBJECT (tx_options, pref_ok, "pref_ok");
@@ -712,115 +835,3 @@ create_tx_options (void)
   return tx_options;
 }
 
-GtkWidget*
-create_tx_adjust (void)
-{
-  GtkWidget *tx_adjust;
-  GtkWidget *dialog_vbox2;
-  GtkWidget *vbox1;
-  GtkWidget *label34;
-  GtkWidget *table7;
-  GtkObject *master_cycles_adj;
-  GtkWidget *master_cycles;
-  GtkWidget *label36;
-  GtkWidget *label35;
-  GtkObject *cycles_adj;
-  GtkWidget *cycles;
-  GtkWidget *create_event;
-  GtkWidget *dialog_action_area2;
-  GtkWidget *cancel;
-  GtkWidget *ok;
-  GtkTooltips *tooltips;
-
-  tooltips = gtk_tooltips_new ();
-
-  tx_adjust = gtk_dialog_new ();
-  gtk_window_set_title (GTK_WINDOW (tx_adjust), "Compute Pitch");
-
-  dialog_vbox2 = GTK_DIALOG (tx_adjust)->vbox;
-  gtk_widget_show (dialog_vbox2);
-
-  vbox1 = gtk_vbox_new (FALSE, 4);
-  gtk_widget_show (vbox1);
-  gtk_box_pack_start (GTK_BOX (dialog_vbox2), vbox1, TRUE, TRUE, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox1), 4);
-
-  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:");
-  gtk_widget_show (label34);
-  gtk_box_pack_start (GTK_BOX (vbox1), label34, FALSE, FALSE, 0);
-  gtk_label_set_justify (GTK_LABEL (label34), GTK_JUSTIFY_LEFT);
-  gtk_label_set_line_wrap (GTK_LABEL (label34), TRUE);
-
-  table7 = gtk_table_new (2, 2, FALSE);
-  gtk_widget_show (table7);
-  gtk_box_pack_start (GTK_BOX (vbox1), table7, TRUE, TRUE, 0);
-  gtk_table_set_col_spacings (GTK_TABLE (table7), 3);
-
-  master_cycles_adj = gtk_adjustment_new (1, 1, 100, 1, 10, 10);
-  master_cycles = gtk_spin_button_new (GTK_ADJUSTMENT (master_cycles_adj), 1, 0);
-  gtk_widget_show (master_cycles);
-  gtk_table_attach (GTK_TABLE (table7), master_cycles, 1, 2, 1, 2,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, master_cycles, "Specify the number of loops for the master turntable.", NULL);
-
-  label36 = gtk_label_new ("Loops of the master turntable:");
-  gtk_widget_show (label36);
-  gtk_table_attach (GTK_TABLE (table7), label36, 0, 1, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label36), GTK_JUSTIFY_LEFT);
-
-  label35 = gtk_label_new ("Loops of this turntable turntable:");
-  gtk_widget_show (label35);
-  gtk_table_attach (GTK_TABLE (table7), label35, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label35), GTK_JUSTIFY_LEFT);
-
-  cycles_adj = gtk_adjustment_new (1, 1, 100, 1, 10, 10);
-  cycles = gtk_spin_button_new (GTK_ADJUSTMENT (cycles_adj), 1, 0);
-  gtk_widget_show (cycles);
-  gtk_table_attach (GTK_TABLE (table7), cycles, 1, 2, 0, 1,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, cycles, "Specify the number of loops of _this_ turntable.", NULL);
-
-  create_event = gtk_check_button_new_with_mnemonic ("Record a sequencer event");
-  gtk_widget_show (create_event);
-  gtk_box_pack_start (GTK_BOX (vbox1), create_event, FALSE, FALSE, 0);
-  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (create_event), TRUE);
-
-  dialog_action_area2 = GTK_DIALOG (tx_adjust)->action_area;
-  gtk_widget_show (dialog_action_area2);
-  gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area2), GTK_BUTTONBOX_END);
-
-  cancel = gtk_button_new_from_stock ("gtk-cancel");
-  gtk_widget_show (cancel);
-  gtk_dialog_add_action_widget (GTK_DIALOG (tx_adjust), cancel, GTK_RESPONSE_CANCEL);
-  GTK_WIDGET_SET_FLAGS (cancel, GTK_CAN_DEFAULT);
-
-  ok = gtk_button_new_from_stock ("gtk-ok");
-  gtk_widget_show (ok);
-  gtk_dialog_add_action_widget (GTK_DIALOG (tx_adjust), ok, GTK_RESPONSE_OK);
-  GTK_WIDGET_SET_FLAGS (ok, GTK_CAN_DEFAULT);
-
-  /* Store pointers to all widgets, for use by lookup_widget(). */
-  GLADE_HOOKUP_OBJECT_NO_REF (tx_adjust, tx_adjust, "tx_adjust");
-  GLADE_HOOKUP_OBJECT_NO_REF (tx_adjust, dialog_vbox2, "dialog_vbox2");
-  GLADE_HOOKUP_OBJECT (tx_adjust, vbox1, "vbox1");
-  GLADE_HOOKUP_OBJECT (tx_adjust, label34, "label34");
-  GLADE_HOOKUP_OBJECT (tx_adjust, table7, "table7");
-  GLADE_HOOKUP_OBJECT (tx_adjust, master_cycles, "master_cycles");
-  GLADE_HOOKUP_OBJECT (tx_adjust, label36, "label36");
-  GLADE_HOOKUP_OBJECT (tx_adjust, label35, "label35");
-  GLADE_HOOKUP_OBJECT (tx_adjust, cycles, "cycles");
-  GLADE_HOOKUP_OBJECT (tx_adjust, create_event, "create_event");
-  GLADE_HOOKUP_OBJECT_NO_REF (tx_adjust, dialog_action_area2, "dialog_action_area2");
-  GLADE_HOOKUP_OBJECT (tx_adjust, cancel, "cancel");
-  GLADE_HOOKUP_OBJECT (tx_adjust, ok, "ok");
-  GLADE_HOOKUP_OBJECT_NO_REF (tx_adjust, tooltips, "tooltips");
-
-  return tx_adjust;
-}
-
index d2bbaab4b1acb8cb184065cabc06c3c5ecdb1f06..7c38f99b9288a2438058071f4cc15d9c51435c95 100644 (file)
@@ -2,5 +2,5 @@
  * DO NOT EDIT THIS FILE - it is generated by Glade.
  */
 
-GtkWidget* create_tx_options (void);
 GtkWidget* create_tx_adjust (void);
+GtkWidget* create_tx_options (void);
index de281dab24a8cc87a743bb1aacdff320b837121a..d0e6c477f11b89f333435a06fc70cb34d8ffd80d 100644 (file)
@@ -82,8 +82,8 @@ void set_global_defaults() {
        globals.oss_samplerate=44100;
 
        strcpy(globals.alsa_device, "00-00: Default");  
-       globals.alsa_buffer_time=10000;
-       globals.alsa_period_time=5000;
+       globals.alsa_buffer_time=80000;
+       globals.alsa_period_time=20000;
        globals.alsa_samplerate=44100;
        
        globals.sense_cycles=80;
@@ -130,7 +130,7 @@ void set_global_defaults() {
        globals.volume=1.0;
        
        strcpy(globals.lrdf_path, "/usr/share/ladspa/rdf:/usr/local/share/ladspa/rdf");
-       globals.fullscreen_enabled=1;
+       globals.fullscreen_enabled=0;
        globals.compress_set_files=0;
 }
 
index abc78840b2fad5764a468b20ad5a0666eeba2efe..eb7b1b2e8d1b353550f5f5931bdcb02dc72f120a 100644 (file)
@@ -144,6 +144,7 @@ extern tx_global globals;
 
 extern void load_globals();
 extern void store_globals();
+extern void set_global_defaults();
 extern char *encode_xml(char *dest, const char *src);
 extern char *decode_xml(char *dest, const char *src);
 
index 765c3fb33d652d01bfcab8831ae1c3af3a022235..b5d91885d4cb1c9f29b5bd1df396fb33f6cfda62 100644 (file)
@@ -320,7 +320,7 @@ GtkWidget * LADSPA_Class :: get_menu() {
                char buffer[512];
                LADSPA_Plugin *p=(*plugin);
                
-               sprintf(buffer, "%s - (%s, %i)", p->getName(), p->getLabel(), p->getUniqueID());
+               sprintf(buffer, "%s - (%s, %li)", p->getName(), p->getLabel(), p->getUniqueID());
                item=gtk_menu_item_new_with_label(buffer);
                gtk_menu_append(menu, item);
                gtk_signal_connect(GTK_OBJECT(item), "activate", GTK_SIGNAL_FUNC(menu_callback), p);            
index e09e26e4ea66a2d671f82a54a4f7cbe7f1ae374b..90c1fe1ec0f49bdbbc959cc483c9432cdcd158ad 100644 (file)
@@ -755,6 +755,8 @@ gboolean quit()
        globals.height=main_window->allocation.height;
 
        gtk_main_quit();
+       
+       return true;
 }
 
 void mplcfitx()
@@ -968,7 +970,7 @@ void create_master_menu() {
        gtk_container_add (GTK_CONTAINER (sub_menu), menu_item);
        gtk_widget_set_sensitive (menu_item, FALSE);
 
-       menu_item = gtk_menu_item_new_with_mnemonic("_Preferences");
+       menu_item = gtk_image_menu_item_new_from_stock ("gtk-preferences", accel_group);
        gtk_widget_show (menu_item);
        gtk_container_add (GTK_CONTAINER (sub_menu), menu_item);
        g_signal_connect(menu_item, "activate", (GCallback) display_options, NULL);
@@ -1017,11 +1019,6 @@ void create_mastergui(int x, int y)
        GtkWidget *master_vol_box;
        GtkWidget *status_box;
        
-       static GtkTargetEntry drop_types [] = {
-               { "text/uri-list", 0, 0}
-       };
-       static gint n_drop_types = sizeof (drop_types) / sizeof(drop_types[0]);
-       
        gui_tooltips=gtk_tooltips_new();
 
        main_window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
@@ -1056,11 +1053,6 @@ void create_mastergui(int x, int y)
        gtk_box_pack_start(GTK_BOX(left_hbox), control_box, WID_FIX);
        gtk_widget_show(control_box);
        
-/*     dummy=gtk_hseparator_new();
-       gtk_box_pack_start(GTK_BOX(left_hbox), dummy, WID_FIX);
-       gtk_widget_show(dummy);*/
-
-
        dummy=gtk_hseparator_new();
        gtk_box_pack_start(GTK_BOX(left_hbox), dummy, WID_FIX);
        gtk_widget_show(dummy);
@@ -1084,13 +1076,6 @@ void create_mastergui(int x, int y)
        gui_set_tooltip(grab_button, "Enter the mouse grab mode operation. Press <ESCAPE> to exit grab mode.");
        gtk_widget_show(grab_button);
 
-       /*dummy=gtk_check_button_new_with_label("Record");
-       rec_btn=dummy;
-       connect_button(dummy,tape_on, NULL);
-       gtk_box_pack_start(GTK_BOX(control_box), dummy, WID_FIX);
-       gui_set_tooltip(dummy, "Record the audio the terminatorX' audio engine renders. You will be prompted to enter a name for the target wav-file.");
-       gtk_widget_show(dummy);*/
-
        dummy=gtk_vseparator_new();
        gtk_box_pack_start(GTK_BOX(control_box), dummy, WID_FIX);
        gtk_widget_show(dummy);
@@ -1156,7 +1141,6 @@ void create_mastergui(int x, int y)
 
        control_parent=gtk_hbox_new(FALSE,0);
        gtk_box_pack_start(GTK_BOX(tt_parent), control_parent, WID_FIX);
-       //gtk_paned_pack1(GTK_PANED(tt_parent), control_parent, FALSE, FALSE);
        gtk_widget_show(control_parent);
 
        dummy=gtk_vseparator_new();
@@ -1165,7 +1149,6 @@ void create_mastergui(int x, int y)
 
        audio_parent=gtk_vbox_new(FALSE,0);
        gtk_box_pack_start(GTK_BOX(tt_parent), audio_parent, WID_DYN);
-       //gtk_paned_pack2(GTK_PANED(tt_parent), audio_parent, TRUE, FALSE);
        gtk_widget_show(audio_parent);
        
        dummy=gtk_vseparator_new();
@@ -1179,7 +1162,6 @@ void create_mastergui(int x, int y)
        /* Master */
        
        dummy=gtk_label_new(NULL);
-       //gtk_label_set_markup(GTK_LABEL(dummy),"<span foreground='#000080'>Master</span>");
        gtk_label_set_markup(GTK_LABEL(dummy),"<b>Master</b>");
        gtk_misc_set_alignment(GTK_MISC(dummy), 0.5, 0.5);
        gtk_box_pack_start(GTK_BOX(right_hbox), dummy, WID_FIX);
@@ -1203,13 +1185,6 @@ void create_mastergui(int x, int y)
        gtk_box_pack_start(GTK_BOX(right_hbox), pdial->get_widget(), WID_FIX);
        gui_set_tooltip(pdial->get_entry(), "Use this dial to adjust the master pitch (affecting *all* turntables).");
        
-/*     dummy=gtk_hscale_new(dumadj);
-       gtk_scale_set_digits(GTK_SCALE(dummy), 2);
-       gtk_scale_set_value_pos(GTK_SCALE(dummy), GTK_POS_LEFT);
-       gtk_box_pack_start(GTK_BOX(control_box), dummy, WID_DYN);
-       gui_set_tooltip(dummy, "Use this scale to adjust the master pitch (affecting *all* turntables).");
-       gtk_widget_show(dummy);
-*/
        dummy=gtk_hseparator_new();
        gtk_box_pack_start(GTK_BOX(right_hbox), dummy, WID_FIX);
        gtk_widget_show(dummy);
index d06f2e820f30a20f5bdbea0867d34dbdbdc1cbcc..f81f9fe361acec2e449f3cd1705b025f9a3ecc79 100644 (file)
@@ -41,6 +41,8 @@ using namespace std;
 static gboolean midi_callback(GIOChannel *source, GIOCondition condition, gpointer data) {
        tX_midiin *midi=(tX_midiin *) data;
        midi->check_event();
+       
+       return false;
 }
 
 tX_midiin::tX_midiin()
index f4e0dbf7a0c6df3f98e8788a6c77b0d0a85cbe9b..7b3309a9944a21f55bc56691c6eb72cbcd123472 100644 (file)
@@ -1610,9 +1610,6 @@ int vtt_class :: load_all(xmlDocPtr doc, char *fname) {
        double dvalue;
        int res=0;
        int restmp=0;
-       char *pid_attr;
-       int pid;
-
        
        if (!root) {
                tX_error("no root element? What kind of XML document is this?");
index 1433ab1b1e1352d91f480158d3b26cdb811552bb..983d9c8dd374326f262646550d44cb47ff97d6a2 100644 (file)
@@ -667,12 +667,6 @@ void vg_adjust_zoom(GtkWidget *wid, vtt_class *vtt) {
 void fx_button_pressed(GtkWidget *wid, vtt_class *vtt)
 {
        vtt_gui *g=&vtt->gui;
-       GtkWidget *item;
-       int i;
-       LADSPA_Plugin *plugin;
-       char buffer[1024];
-       char oldfile[1024]="";
-       GtkWidget *submenu=NULL;
 
        LADSPA_Class::set_current_vtt(vtt);
 
index 9eaaeba09f2bc11881df593511b737fac35c4699..b9d55e349d362a99395cabaf1fe6af20651ce4c2 100644 (file)
 
 <glade-interface>
 
+<widget class="GtkDialog" id="tx_adjust">
+  <property name="visible">True</property>
+  <property name="title" translatable="yes">Compute Pitch</property>
+  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="modal">False</property>
+  <property name="resizable">True</property>
+  <property name="destroy_with_parent">False</property>
+  <property name="has_separator">True</property>
+
+  <child internal-child="vbox">
+    <widget class="GtkVBox" id="dialog-vbox2">
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">0</property>
+
+      <child internal-child="action_area">
+       <widget class="GtkHButtonBox" id="dialog-action_area2">
+         <property name="visible">True</property>
+         <property name="layout_style">GTK_BUTTONBOX_END</property>
+
+         <child>
+           <widget class="GtkButton" id="cancel">
+             <property name="visible">True</property>
+             <property name="can_default">True</property>
+             <property name="can_focus">True</property>
+             <property name="label">gtk-cancel</property>
+             <property name="use_stock">True</property>
+             <property name="relief">GTK_RELIEF_NORMAL</property>
+             <property name="response_id">-6</property>
+           </widget>
+         </child>
+
+         <child>
+           <widget class="GtkButton" id="ok">
+             <property name="visible">True</property>
+             <property name="can_default">True</property>
+             <property name="can_focus">True</property>
+             <property name="label">gtk-ok</property>
+             <property name="use_stock">True</property>
+             <property name="relief">GTK_RELIEF_NORMAL</property>
+             <property name="response_id">-5</property>
+           </widget>
+         </child>
+       </widget>
+       <packing>
+         <property name="padding">0</property>
+         <property name="expand">False</property>
+         <property name="fill">True</property>
+         <property name="pack_type">GTK_PACK_END</property>
+       </packing>
+      </child>
+
+      <child>
+       <widget class="GtkVBox" id="vbox1">
+         <property name="border_width">4</property>
+         <property name="visible">True</property>
+         <property name="homogeneous">False</property>
+         <property name="spacing">4</property>
+
+         <child>
+           <widget class="GtkLabel" id="label34">
+             <property name="visible">True</property>
+             <property name="label" translatable="yes">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:</property>
+             <property name="use_underline">False</property>
+             <property name="use_markup">False</property>
+             <property name="justify">GTK_JUSTIFY_LEFT</property>
+             <property name="wrap">True</property>
+             <property name="selectable">False</property>
+             <property name="xalign">0.5</property>
+             <property name="yalign">0.5</property>
+             <property name="xpad">0</property>
+             <property name="ypad">0</property>
+           </widget>
+           <packing>
+             <property name="padding">0</property>
+             <property name="expand">False</property>
+             <property name="fill">False</property>
+           </packing>
+         </child>
+
+         <child>
+           <widget class="GtkTable" id="table7">
+             <property name="visible">True</property>
+             <property name="n_rows">2</property>
+             <property name="n_columns">2</property>
+             <property name="homogeneous">False</property>
+             <property name="row_spacing">0</property>
+             <property name="column_spacing">3</property>
+
+             <child>
+               <widget class="GtkSpinButton" id="master_cycles">
+                 <property name="visible">True</property>
+                 <property name="tooltip" translatable="yes">Specify the number of loops for the master turntable.</property>
+                 <property name="can_focus">True</property>
+                 <property name="climb_rate">1</property>
+                 <property name="digits">0</property>
+                 <property name="numeric">False</property>
+                 <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+                 <property name="snap_to_ticks">False</property>
+                 <property name="wrap">False</property>
+                 <property name="adjustment">1 1 100 1 10 10</property>
+               </widget>
+               <packing>
+                 <property name="left_attach">1</property>
+                 <property name="right_attach">2</property>
+                 <property name="top_attach">1</property>
+                 <property name="bottom_attach">2</property>
+                 <property name="y_options"></property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkLabel" id="label36">
+                 <property name="visible">True</property>
+                 <property name="label" translatable="yes">Loops of the master turntable:</property>
+                 <property name="use_underline">False</property>
+                 <property name="use_markup">False</property>
+                 <property name="justify">GTK_JUSTIFY_LEFT</property>
+                 <property name="wrap">False</property>
+                 <property name="selectable">False</property>
+                 <property name="xalign">0.5</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xpad">0</property>
+                 <property name="ypad">0</property>
+               </widget>
+               <packing>
+                 <property name="left_attach">0</property>
+                 <property name="right_attach">1</property>
+                 <property name="top_attach">1</property>
+                 <property name="bottom_attach">2</property>
+                 <property name="x_options">fill</property>
+                 <property name="y_options"></property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkLabel" id="label35">
+                 <property name="visible">True</property>
+                 <property name="label" translatable="yes">Loops of this turntable turntable:</property>
+                 <property name="use_underline">False</property>
+                 <property name="use_markup">False</property>
+                 <property name="justify">GTK_JUSTIFY_LEFT</property>
+                 <property name="wrap">False</property>
+                 <property name="selectable">False</property>
+                 <property name="xalign">0.5</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xpad">0</property>
+                 <property name="ypad">0</property>
+               </widget>
+               <packing>
+                 <property name="left_attach">0</property>
+                 <property name="right_attach">1</property>
+                 <property name="top_attach">0</property>
+                 <property name="bottom_attach">1</property>
+                 <property name="x_options">fill</property>
+                 <property name="y_options"></property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkSpinButton" id="cycles">
+                 <property name="visible">True</property>
+                 <property name="tooltip" translatable="yes">Specify the number of loops of _this_ turntable.</property>
+                 <property name="can_focus">True</property>
+                 <property name="climb_rate">1</property>
+                 <property name="digits">0</property>
+                 <property name="numeric">False</property>
+                 <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+                 <property name="snap_to_ticks">False</property>
+                 <property name="wrap">False</property>
+                 <property name="adjustment">1 1 100 1 10 10</property>
+               </widget>
+               <packing>
+                 <property name="left_attach">1</property>
+                 <property name="right_attach">2</property>
+                 <property name="top_attach">0</property>
+                 <property name="bottom_attach">1</property>
+                 <property name="y_options"></property>
+               </packing>
+             </child>
+           </widget>
+           <packing>
+             <property name="padding">0</property>
+             <property name="expand">True</property>
+             <property name="fill">True</property>
+           </packing>
+         </child>
+
+         <child>
+           <widget class="GtkCheckButton" id="create_event">
+             <property name="visible">True</property>
+             <property name="can_focus">True</property>
+             <property name="label" translatable="yes">Record a sequencer event</property>
+             <property name="use_underline">True</property>
+             <property name="relief">GTK_RELIEF_NORMAL</property>
+             <property name="active">True</property>
+             <property name="inconsistent">False</property>
+             <property name="draw_indicator">True</property>
+           </widget>
+           <packing>
+             <property name="padding">0</property>
+             <property name="expand">False</property>
+             <property name="fill">False</property>
+           </packing>
+         </child>
+       </widget>
+       <packing>
+         <property name="padding">0</property>
+         <property name="expand">True</property>
+         <property name="fill">True</property>
+       </packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
 <widget class="GtkDialog" id="tx_options">
   <property name="visible">True</property>
-  <property name="title" translatable="yes">terminatorX: Preferences</property>
+  <property name="title" translatable="yes">terminatorX Preferences</property>
   <property name="type">GTK_WINDOW_TOPLEVEL</property>
   <property name="window_position">GTK_WIN_POS_NONE</property>
   <property name="modal">False</property>
   <property name="resizable">True</property>
   <property name="destroy_with_parent">False</property>
   <property name="has_separator">True</property>
-  <signal name="destroy" handler="on_tx_options_destroy" last_modification_time="Thu, 20 Mar 2003 20:37:26 GMT"/>
+  <signal name="destroy" handler="on_tx_options_destroy" last_modification_time="Sat, 12 Apr 2003 20:20:31 GMT"/>
 
   <child internal-child="vbox">
-    <widget class="GtkVBox" id="dialog-vbox1">
+    <widget class="GtkVBox" id="dialog-vbox3">
       <property name="visible">True</property>
       <property name="homogeneous">False</property>
       <property name="spacing">0</property>
 
       <child internal-child="action_area">
-       <widget class="GtkHButtonBox" id="dialog-action_area1">
+       <widget class="GtkHButtonBox" id="dialog-action_area3">
          <property name="visible">True</property>
          <property name="layout_style">GTK_BUTTONBOX_END</property>
 
+         <child>
+           <widget class="GtkButton" id="pref_reset">
+             <property name="visible">True</property>
+             <property name="can_default">True</property>
+             <property name="can_focus">True</property>
+             <property name="label">gtk-revert-to-saved</property>
+             <property name="use_stock">True</property>
+             <property name="relief">GTK_RELIEF_NORMAL</property>
+             <property name="response_id">0</property>
+             <signal name="clicked" handler="on_pref_reset_clicked" last_modification_time="Sat, 12 Apr 2003 19:47:22 GMT"/>
+           </widget>
+         </child>
+
          <child>
            <widget class="GtkButton" id="pref_cancel">
              <property name="visible">True</property>
              <property name="use_stock">True</property>
              <property name="relief">GTK_RELIEF_NORMAL</property>
              <property name="response_id">-6</property>
-             <signal name="clicked" handler="on_pref_cancel_clicked" last_modification_time="Thu, 20 Mar 2003 20:35:33 GMT"/>
+             <signal name="clicked" handler="on_pref_cancel_clicked" last_modification_time="Sat, 12 Apr 2003 19:47:37 GMT"/>
            </widget>
          </child>
 
              <property name="use_stock">True</property>
              <property name="relief">GTK_RELIEF_NORMAL</property>
              <property name="response_id">-10</property>
-             <signal name="clicked" handler="on_pref_apply_clicked" last_modification_time="Thu, 20 Mar 2003 20:35:38 GMT"/>
+             <signal name="clicked" handler="on_pref_apply_clicked" last_modification_time="Sat, 12 Apr 2003 19:47:47 GMT"/>
            </widget>
          </child>
 
              <property name="use_stock">True</property>
              <property name="relief">GTK_RELIEF_NORMAL</property>
              <property name="response_id">-5</property>
-             <signal name="clicked" handler="on_pref_ok_clicked" last_modification_time="Thu, 20 Mar 2003 20:35:43 GMT"/>
+             <signal name="clicked" handler="on_pref_ok_clicked" last_modification_time="Sat, 12 Apr 2003 19:47:56 GMT"/>
            </widget>
          </child>
        </widget>
                  <property name="digits">0</property>
                  <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
                  <property name="inverted">False</property>
-                 <property name="adjustment">10 1 150 5 1 1</property>
+                 <property name="adjustment">80 30 250 5 1 1</property>
                </widget>
                <packing>
                  <property name="left_attach">1</property>
                  <property name="digits">0</property>
                  <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
                  <property name="inverted">False</property>
-                 <property name="adjustment">11 1 100 1 10 10</property>
+                 <property name="adjustment">11 2 100 1 10 10</property>
                </widget>
                <packing>
                  <property name="left_attach">1</property>
                  <property name="can_focus">True</property>
                  <property name="draw_value">True</property>
                  <property name="value_pos">GTK_POS_TOP</property>
-                 <property name="digits">1</property>
+                 <property name="digits">0</property>
                  <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
                  <property name="inverted">False</property>
                  <property name="adjustment">0 0 15 1 10 10</property>
   </child>
 </widget>
 
-<widget class="GtkDialog" id="tx_adjust">
-  <property name="visible">True</property>
-  <property name="title" translatable="yes">Compute Pitch</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="has_separator">True</property>
-
-  <child internal-child="vbox">
-    <widget class="GtkVBox" id="dialog-vbox2">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">0</property>
-
-      <child internal-child="action_area">
-       <widget class="GtkHButtonBox" id="dialog-action_area2">
-         <property name="visible">True</property>
-         <property name="layout_style">GTK_BUTTONBOX_END</property>
-
-         <child>
-           <widget class="GtkButton" id="cancel">
-             <property name="visible">True</property>
-             <property name="can_default">True</property>
-             <property name="can_focus">True</property>
-             <property name="label">gtk-cancel</property>
-             <property name="use_stock">True</property>
-             <property name="relief">GTK_RELIEF_NORMAL</property>
-             <property name="response_id">-6</property>
-           </widget>
-         </child>
-
-         <child>
-           <widget class="GtkButton" id="ok">
-             <property name="visible">True</property>
-             <property name="can_default">True</property>
-             <property name="can_focus">True</property>
-             <property name="label">gtk-ok</property>
-             <property name="use_stock">True</property>
-             <property name="relief">GTK_RELIEF_NORMAL</property>
-             <property name="response_id">-5</property>
-           </widget>
-         </child>
-       </widget>
-       <packing>
-         <property name="padding">0</property>
-         <property name="expand">False</property>
-         <property name="fill">True</property>
-         <property name="pack_type">GTK_PACK_END</property>
-       </packing>
-      </child>
-
-      <child>
-       <widget class="GtkVBox" id="vbox1">
-         <property name="border_width">4</property>
-         <property name="visible">True</property>
-         <property name="homogeneous">False</property>
-         <property name="spacing">4</property>
-
-         <child>
-           <widget class="GtkLabel" id="label34">
-             <property name="visible">True</property>
-             <property name="label" translatable="yes">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:</property>
-             <property name="use_underline">False</property>
-             <property name="use_markup">False</property>
-             <property name="justify">GTK_JUSTIFY_LEFT</property>
-             <property name="wrap">True</property>
-             <property name="selectable">False</property>
-             <property name="xalign">0.5</property>
-             <property name="yalign">0.5</property>
-             <property name="xpad">0</property>
-             <property name="ypad">0</property>
-           </widget>
-           <packing>
-             <property name="padding">0</property>
-             <property name="expand">False</property>
-             <property name="fill">False</property>
-           </packing>
-         </child>
-
-         <child>
-           <widget class="GtkTable" id="table7">
-             <property name="visible">True</property>
-             <property name="n_rows">2</property>
-             <property name="n_columns">2</property>
-             <property name="homogeneous">False</property>
-             <property name="row_spacing">0</property>
-             <property name="column_spacing">3</property>
-
-             <child>
-               <widget class="GtkSpinButton" id="master_cycles">
-                 <property name="visible">True</property>
-                 <property name="tooltip" translatable="yes">Specify the number of loops for the master turntable.</property>
-                 <property name="can_focus">True</property>
-                 <property name="climb_rate">1</property>
-                 <property name="digits">0</property>
-                 <property name="numeric">False</property>
-                 <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-                 <property name="snap_to_ticks">False</property>
-                 <property name="wrap">False</property>
-                 <property name="adjustment">1 1 100 1 10 10</property>
-               </widget>
-               <packing>
-                 <property name="left_attach">1</property>
-                 <property name="right_attach">2</property>
-                 <property name="top_attach">1</property>
-                 <property name="bottom_attach">2</property>
-                 <property name="y_options"></property>
-               </packing>
-             </child>
-
-             <child>
-               <widget class="GtkLabel" id="label36">
-                 <property name="visible">True</property>
-                 <property name="label" translatable="yes">Loops of the master turntable:</property>
-                 <property name="use_underline">False</property>
-                 <property name="use_markup">False</property>
-                 <property name="justify">GTK_JUSTIFY_LEFT</property>
-                 <property name="wrap">False</property>
-                 <property name="selectable">False</property>
-                 <property name="xalign">0.5</property>
-                 <property name="yalign">0.5</property>
-                 <property name="xpad">0</property>
-                 <property name="ypad">0</property>
-               </widget>
-               <packing>
-                 <property name="left_attach">0</property>
-                 <property name="right_attach">1</property>
-                 <property name="top_attach">1</property>
-                 <property name="bottom_attach">2</property>
-                 <property name="x_options">fill</property>
-                 <property name="y_options"></property>
-               </packing>
-             </child>
-
-             <child>
-               <widget class="GtkLabel" id="label35">
-                 <property name="visible">True</property>
-                 <property name="label" translatable="yes">Loops of this turntable turntable:</property>
-                 <property name="use_underline">False</property>
-                 <property name="use_markup">False</property>
-                 <property name="justify">GTK_JUSTIFY_LEFT</property>
-                 <property name="wrap">False</property>
-                 <property name="selectable">False</property>
-                 <property name="xalign">0.5</property>
-                 <property name="yalign">0.5</property>
-                 <property name="xpad">0</property>
-                 <property name="ypad">0</property>
-               </widget>
-               <packing>
-                 <property name="left_attach">0</property>
-                 <property name="right_attach">1</property>
-                 <property name="top_attach">0</property>
-                 <property name="bottom_attach">1</property>
-                 <property name="x_options">fill</property>
-                 <property name="y_options"></property>
-               </packing>
-             </child>
-
-             <child>
-               <widget class="GtkSpinButton" id="cycles">
-                 <property name="visible">True</property>
-                 <property name="tooltip" translatable="yes">Specify the number of loops of _this_ turntable.</property>
-                 <property name="can_focus">True</property>
-                 <property name="climb_rate">1</property>
-                 <property name="digits">0</property>
-                 <property name="numeric">False</property>
-                 <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-                 <property name="snap_to_ticks">False</property>
-                 <property name="wrap">False</property>
-                 <property name="adjustment">1 1 100 1 10 10</property>
-               </widget>
-               <packing>
-                 <property name="left_attach">1</property>
-                 <property name="right_attach">2</property>
-                 <property name="top_attach">0</property>
-                 <property name="bottom_attach">1</property>
-                 <property name="y_options"></property>
-               </packing>
-             </child>
-           </widget>
-           <packing>
-             <property name="padding">0</property>
-             <property name="expand">True</property>
-             <property name="fill">True</property>
-           </packing>
-         </child>
-
-         <child>
-           <widget class="GtkCheckButton" id="create_event">
-             <property name="visible">True</property>
-             <property name="can_focus">True</property>
-             <property name="label" translatable="yes">Record a sequencer event</property>
-             <property name="use_underline">True</property>
-             <property name="relief">GTK_RELIEF_NORMAL</property>
-             <property name="active">True</property>
-             <property name="inconsistent">False</property>
-             <property name="draw_indicator">True</property>
-           </widget>
-           <packing>
-             <property name="padding">0</property>
-             <property name="expand">False</property>
-             <property name="fill">False</property>
-           </packing>
-         </child>
-       </widget>
-       <packing>
-         <property name="padding">0</property>
-         <property name="expand">True</property>
-         <property name="fill">True</property>
-       </packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
 </glade-interface>