Verbose plugin loading, code and minor gui cleanups - Alex
authorterminatorX <>
Fri, 6 Feb 2004 18:28:21 +0000 (18:28 +0000)
committerterminatorX <>
Fri, 6 Feb 2004 18:28:21 +0000 (18:28 +0000)
terminatorX/doc/terminatorX-manual/C/terminatorX-manual.xml
terminatorX/src/tX_audiodevice.cc
terminatorX/src/tX_dialog.cc
terminatorX/src/tX_flash.c
terminatorX/src/tX_glade_interface.cc
terminatorX/src/tX_global.c
terminatorX/src/tX_global.h
terminatorX/src/tX_ladspa.cc
terminatorX/src/tX_mastergui.cc
terminatorX/src/tX_vtt.cc
terminatorX/terminatorX.glade

index 1d68d72bed1971c70f8273fdd446a48441fd3ca1..a1063844d358cc34ab920e0e2b2bfd906b7a55b6 100644 (file)
@@ -7,28 +7,22 @@
 <article id="index" lang="en">
   <articleinfo>
     <title>terminatorX - Manual</title>
-
     <author>
       <firstname>Alexander</firstname>
-
       <surname>König</surname>
     </author>
 
     <copyright>
       <year>1999</year>
-
       <year>2000</year>
-
       <year>2001</year>
-
       <year>2002</year>
-
       <year>2003</year>
 
       <holder role="mailto:alex@lisas.de">Alexander König</holder>
     </copyright>
 
-    <releaseinfo>Version 3.81</releaseinfo>
+    <releaseinfo>Version 3.82</releaseinfo>
 
     <legalnotice id="legalnotice">
       <para>Permission is granted to copy, distribute and/or modify this
 
         <para>With release 3.70 the effects are no longer hardcoded into the
         turntable. The effects are now arranged within an per-turntable
-        effect-queue. The effect sequence is configurable by the user. To move
+        effect-queue. Additionally Version 3.82 introduces a second effect-queue
+       that follows the first: the queue for stereo LADSPA plugin effects.
+       The effect sequence is configurable by the user. To move
         an effect to higher position within the queue, press the
         <emphasis>blue upward arrow button</emphasis>. This will cause the
         effect to be rendered <emphasis>before</emphasis> the following
         this setup you will not hear anything from the second LADSPA effect in
         the echo-signal.</para>
 
-        <para>For more information on a LADSPA plugin, press it&#39;s
-        panel&#39;s label and a small info box will pop up.</para>
+       <para>Release 3.82 introduces a menu for each LADSPA plugin. Simply
+       click on the Plugin's label to operate the menu. Aside of displaying
+       detailed information about a plugin, the menu also contains some new
+       functionality: <emphasis>Add Dry/Wet Control</emphasis>. When activated 
+       the effect receives an extra Dry/Wet control that allows you to
+       modify to what extent the effect will actually effect the turntable's
+       signal. The extra control doesn't differ from the other controls: 
+       you can record events for it, etc. The additional control can be 
+       removed via the very same menu item that adds the control.
+       </para>
 
         <itemizedlist>
           <listitem>
-            <para><emphasis>FX Button</emphasis></para>
+            <para><emphasis>FX</emphasis> and 
+           <emphasis>Stereo FX Buttons</emphasis></para>
 
             <para>Press this button to load a LADSPA plugin into the effect
             queue of the turntable. A menu holding the available
-            (terminatorX-&#34;compatible&#34;) LADSPA-plugins will pop up. The
+            (terminatorX-&#34;compatible&#34;) LADSPA-plugins will pop up - mono
+           plugins are available from the <emphasis>FX</emphasis> menu, stereo
+           plugins from the <emphasis>Stereo FX</emphasis> menu. The
             plugins are grouped within submenus according to the modules the
             plugins are contained in. Simply select the plugin you want to
             load from this menu and a panel for it will pop up at the end of
 
       <para>Not every plugin is supported by terminatorX though. As the
       plugins are inserted into the per-turntable effect-queue, they have to
-      be mono plugins (as is that queue) for now. This is why terminatorX will
-      load plugins with <emphasis>one</emphasis> audio-in port and
-      <emphasis>one</emphasis> audio-out port only.</para>
+      be mono or (as of Version 3.82) stereo plugins. This is why terminatorX will
+      load plugins with <emphasis>one</emphasis> or <emphasis>two</emphasis>
+      audio-in ports and <emphasis>one</emphasis> or <emphasis>two</emphasis>
+      audio-out ports only.</para>
 
       <para>The decision on whether a plugin is terminatorX-suitable is made
       on terminatorX startup, so only plugins that fit into the effect queue
-      will be offered in the plugin-menu that pops up when the
-      <emphasis>FX</emphasis> button is clicked. Depending on whether the
+      will be offered in the mono plugin-menu that pops up when the
+      <emphasis>FX</emphasis> button is clicked or in the stereo plugin menu
+      when the <emphasis>Stereo FX</emphasis> button si clicked. Depending on 
+      whether the
       terminatorX binary you&#39;re using was built with or without liblrdf (<xref
       linkend="LIBLRDF" />) support the plugin menu will either contain
       sub-menus with plugin categories (with liblrdf) or just a single menu
       with the <emphasis>Unclassified</emphasis> category.</para>
 
       <para>On startup terminatorX will print some information on the
-      LADSPA-plugins analysis process to the standard output. Watch the
+      LADSPA-plugins analysis process to the standard output if you have
+      enabled &quot;Verbose Plugin Loading&quot; in the Preferences dialog. 
+      Watch the
       terminal you run terminatorX from for that info if you have problems
       loading a plugin.</para>
 
index 34056f1955c028814bea56dd74eca71bd48e0dc6..8dcad62a428b9a253143fea663233c214ad1600a 100644 (file)
@@ -415,7 +415,7 @@ tX_jack_client::~tX_jack_client()
 
 void tX_jack_client::error(const char *desc)
 {
-       tX_error("tX_jack_client::error() jack error: %s.", desc);
+       tX_error("jack error: %s.", desc);
 }
 
 int tX_jack_client::srate(jack_nframes_t nframes, void *arg)
index 31ab0d42972275d414c59653fecc1120b4ef56af..8b1c09c5c09ffbc167d415dc519e09770ad1b8c7 100644 (file)
@@ -147,6 +147,8 @@ void apply_options(GtkWidget *dialog) {
        globals.prelis=(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(lookup_widget(dialog, "prelisten_enabled")))==TRUE);
        globals.restore_midi_connections=(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(lookup_widget(dialog, "reconnect_enabled")))==TRUE);
        globals.quit_confirm=(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(lookup_widget(dialog, "quit_confirm")))==TRUE);
+       globals.verbose_plugin_loading=(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(lookup_widget(dialog, "verbose_plugin_loading")))==TRUE);
+       globals.force_nonrt_plugins=(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(lookup_widget(dialog, "force_nonrt_plugins")))==TRUE);
        
        /* update colors */
        std::list<vtt_class *>::iterator vtt;
@@ -477,6 +479,8 @@ void init_tx_options(GtkWidget *dialog) {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(lookup_widget(dialog, "prelisten_enabled")), globals.prelis);
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(lookup_widget(dialog, "reconnect_enabled")), globals.restore_midi_connections);
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(lookup_widget(dialog, "quit_confirm")), globals.quit_confirm);
+       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(lookup_widget(dialog, "force_nonrt_plugins")), globals.force_nonrt_plugins);     
+       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(lookup_widget(dialog, "verbose_plugin_loading")), globals.verbose_plugin_loading);       
 }
 
 void create_options()
index 0f62fd1ec7de4d141e2d24b1042944911b1c3b7f..9d8d52283bd63b4ed712f37476bf6bd37ae6f812 100644 (file)
@@ -347,6 +347,7 @@ void gtk_tx_flash_set_level(GtkWidget *widget, f_prec left_channel, f_prec right
        g_return_if_fail (GTK_IS_TX_FLASH (widget));
        
        tx_flash = GTK_TX_FLASH (widget);
+       //printf("flash %08x: setting levels: %f, %f\n", tx_flash, left_channel, right_channel);        
        
        gtk_tx_flash_set_channel_level(tx_flash, left_channel, &tx_flash->channel[0]);
        gtk_tx_flash_set_channel_level(tx_flash, right_channel, &tx_flash->channel[1]);
index 0462b7a19a1870eab455b4726ccfd9593457ede1..66edc9c7c9fae58039a38c619a34c02a5abcecc7 100644 (file)
@@ -62,7 +62,6 @@ create_tx_adjust (void)
   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);
@@ -83,14 +82,12 @@ create_tx_adjust (void)
   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);
@@ -252,6 +249,10 @@ create_tx_options (void)
   GtkWidget *reconnect_enabled;
   GtkWidget *label57;
   GtkWidget *quit_confirm;
+  GtkWidget *label58;
+  GtkWidget *label59;
+  GtkWidget *verbose_plugin_loading;
+  GtkWidget *force_nonrt_plugins;
   GtkWidget *label3;
   GtkWidget *dialog_action_area3;
   GtkWidget *pref_reset;
@@ -279,12 +280,11 @@ create_tx_options (void)
   gtk_table_set_row_spacings (GTK_TABLE (table4), 2);
   gtk_table_set_col_spacings (GTK_TABLE (table4), 2);
 
-  label18 = gtk_label_new ("Use Driver:");
+  label18 = gtk_label_new ("Driver:");
   gtk_widget_show (label18);
   gtk_table_attach (GTK_TABLE (table4), label18, 0, 1, 0, 1,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label18), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label18), 0, 0.5);
 
   hbox2 = gtk_hbox_new (FALSE, 5);
@@ -314,15 +314,14 @@ create_tx_options (void)
   gtk_radio_button_set_group (GTK_RADIO_BUTTON (jack_driver), oss_driver_group);
   oss_driver_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (jack_driver));
 
-  use_realtime_label = gtk_label_new ("Use realtime scheduling\nwhere available:");
+  use_realtime_label = gtk_label_new ("Scheduling:");
   gtk_widget_show (use_realtime_label);
   gtk_table_attach (GTK_TABLE (table4), use_realtime_label, 0, 1, 1, 2,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (use_realtime_label), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (use_realtime_label), 0, 0.5);
 
-  use_realtime = gtk_check_button_new_with_mnemonic ("Enabled");
+  use_realtime = gtk_check_button_new_with_mnemonic ("Use realtime scheduling where available");
   gtk_widget_show (use_realtime);
   gtk_table_attach (GTK_TABLE (table4), use_realtime, 1, 2, 1, 2,
                     (GtkAttachOptions) (GTK_FILL),
@@ -331,7 +330,6 @@ create_tx_options (void)
   label1 = gtk_label_new ("Audio");
   gtk_widget_show (label1);
   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 0), label1);
-  gtk_label_set_justify (GTK_LABEL (label1), GTK_JUSTIFY_LEFT);
 
   table5 = gtk_table_new (4, 2, FALSE);
   gtk_widget_show (table5);
@@ -340,20 +338,18 @@ create_tx_options (void)
   gtk_table_set_row_spacings (GTK_TABLE (table5), 2);
   gtk_table_set_col_spacings (GTK_TABLE (table5), 2);
 
-  label21 = gtk_label_new ("Audio Device:");
+  label21 = gtk_label_new ("Audio device:");
   gtk_widget_show (label21);
   gtk_table_attach (GTK_TABLE (table5), label21, 0, 1, 0, 1,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label21), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label21), 0, 0.5);
 
-  label22 = gtk_label_new ("No. of Buffers:");
+  label22 = gtk_label_new ("No. of buffers:");
   gtk_widget_show (label22);
   gtk_table_attach (GTK_TABLE (table5), label22, 0, 1, 1, 2,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label22), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label22), 0, 0.5);
 
   label23 = gtk_label_new ("Buffersize (2^x):");
@@ -361,7 +357,6 @@ create_tx_options (void)
   gtk_table_attach (GTK_TABLE (table5), label23, 0, 1, 2, 3,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label23), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label23), 0, 0.5);
 
   label24 = gtk_label_new ("Samplerate (Hz):");
@@ -369,7 +364,6 @@ create_tx_options (void)
   gtk_table_attach (GTK_TABLE (table5), label24, 0, 1, 3, 4,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label24), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label24), 0, 0.5);
 
   oss_audio_device = gtk_combo_new ();
@@ -397,6 +391,7 @@ create_tx_options (void)
   gtk_table_attach (GTK_TABLE (table5), oss_buffersize, 1, 2, 2, 3,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (GTK_FILL), 0, 0);
+  gtk_scale_set_value_pos (GTK_SCALE (oss_buffersize), GTK_POS_LEFT);
   gtk_scale_set_digits (GTK_SCALE (oss_buffersize), 0);
 
   oss_samplerate = gtk_combo_new ();
@@ -414,7 +409,6 @@ create_tx_options (void)
   label15 = gtk_label_new ("Audio: OSS");
   gtk_widget_show (label15);
   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 1), label15);
-  gtk_label_set_justify (GTK_LABEL (label15), GTK_JUSTIFY_LEFT);
 
   table6 = gtk_table_new (5, 2, FALSE);
   gtk_widget_show (table6);
@@ -428,7 +422,6 @@ create_tx_options (void)
   gtk_table_attach (GTK_TABLE (table6), label27, 0, 1, 0, 1,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label27), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label27), 0, 0.5);
 
   label29 = gtk_label_new ("Period Time (ms):");
@@ -436,7 +429,6 @@ create_tx_options (void)
   gtk_table_attach (GTK_TABLE (table6), label29, 0, 1, 2, 3,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label29), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label29), 0, 0.5);
 
   label30 = gtk_label_new ("Samplerate (Hz):");
@@ -444,7 +436,6 @@ create_tx_options (void)
   gtk_table_attach (GTK_TABLE (table6), label30, 0, 1, 3, 4,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label30), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label30), 0, 0.5);
 
   alsa_audio_device = gtk_combo_new ();
@@ -474,6 +465,7 @@ create_tx_options (void)
   gtk_table_attach (GTK_TABLE (table6), alsa_period_time, 1, 2, 2, 3,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (GTK_FILL), 0, 0);
+  gtk_scale_set_value_pos (GTK_SCALE (alsa_period_time), GTK_POS_LEFT);
   gtk_scale_set_digits (GTK_SCALE (alsa_period_time), 0);
 
   label32 = gtk_label_new ("Buffer Time (ms):");
@@ -481,14 +473,14 @@ create_tx_options (void)
   gtk_table_attach (GTK_TABLE (table6), label32, 0, 1, 1, 2,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label32), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label32), 0, 0.5);
 
-  alsa_buffer_time = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (50, 10, 500, 1, 10, 10)));
+  alsa_buffer_time = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (69, 10, 500, 1, 10, 10)));
   gtk_widget_show (alsa_buffer_time);
   gtk_table_attach (GTK_TABLE (table6), alsa_buffer_time, 1, 2, 1, 2,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (GTK_FILL), 0, 0);
+  gtk_scale_set_value_pos (GTK_SCALE (alsa_buffer_time), GTK_POS_LEFT);
   gtk_scale_set_digits (GTK_SCALE (alsa_buffer_time), 0);
 
   label39 = gtk_label_new ("Free HWstats:");
@@ -496,7 +488,6 @@ create_tx_options (void)
   gtk_table_attach (GTK_TABLE (table6), label39, 0, 1, 4, 5,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label39), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label39), 0, 0.5);
 
   alsa_free_hwstats = gtk_check_button_new_with_mnemonic ("Enabled");
@@ -509,7 +500,6 @@ create_tx_options (void)
   label16 = gtk_label_new ("Audio: ALSA");
   gtk_widget_show (label16);
   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 2), label16);
-  gtk_label_set_justify (GTK_LABEL (label16), GTK_JUSTIFY_LEFT);
 
   table1 = gtk_table_new (5, 2, FALSE);
   gtk_widget_show (table1);
@@ -518,28 +508,25 @@ create_tx_options (void)
   gtk_table_set_row_spacings (GTK_TABLE (table1), 2);
   gtk_table_set_col_spacings (GTK_TABLE (table1), 2);
 
-  label5 = gtk_label_new ("XInput Device:");
+  label5 = gtk_label_new ("XInput device:");
   gtk_widget_show (label5);
   gtk_table_attach (GTK_TABLE (table1), label5, 0, 1, 1, 2,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label5), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label5), 0, 0.5);
 
-  label6 = gtk_label_new ("Mouse Speed:");
+  label6 = gtk_label_new ("Mouse speed:");
   gtk_widget_show (label6);
   gtk_table_attach (GTK_TABLE (table1), label6, 0, 1, 2, 3,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label6), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label6), 0, 0.5);
 
-  label7 = gtk_label_new ("Stop-Sense-Cycles:");
+  label7 = gtk_label_new ("Stop-sense-cycles:");
   gtk_widget_show (label7);
   gtk_table_attach (GTK_TABLE (table1), label7, 0, 1, 3, 4,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label7), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label7), 0, 0.5);
 
   xinput_device = gtk_combo_new ();
@@ -559,47 +546,46 @@ create_tx_options (void)
   gtk_table_attach (GTK_TABLE (table1), mouse_speed, 1, 2, 2, 3,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (GTK_FILL), 0, 0);
+  gtk_scale_set_value_pos (GTK_SCALE (mouse_speed), GTK_POS_LEFT);
 
   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),
                     (GtkAttachOptions) (GTK_FILL), 0, 0);
-  gtk_scale_set_digits (GTK_SCALE (stop_sense_cycles), 0);
+  gtk_scale_set_value_pos (GTK_SCALE (stop_sense_cycles), GTK_POS_LEFT);
 
   label25 = gtk_label_new ("XInput:");
   gtk_widget_show (label25);
   gtk_table_attach (GTK_TABLE (table1), label25, 0, 1, 0, 1,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label25), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label25), 0, 0.5);
 
-  xinput_enable = gtk_check_button_new_with_mnemonic ("Enabled");
+  xinput_enable = gtk_check_button_new_with_mnemonic ("Activate XInput support");
   gtk_widget_show (xinput_enable);
   gtk_table_attach (GTK_TABLE (table1), xinput_enable, 1, 2, 0, 1,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
   gtk_tooltips_set_tip (tooltips, xinput_enable, "CAREFUL! Enable this *only* if you want to use an input device than your default X-Pointer (yes, your mouse ;). You have to select your desired device as well. Selecting the default mouse pointer will crash terminatorX so if you want to use that keep this option disabled.", NULL);
 
-  label37 = gtk_label_new ("Turntable Inertia:");
+  label37 = gtk_label_new ("Turntable inertia:");
   gtk_widget_show (label37);
   gtk_table_attach (GTK_TABLE (table1), label37, 0, 1, 4, 5,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label37), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label37), 0, 0.5);
 
-  vtt_inertia = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (10, 1, 310, 0.01, 1, 10)));
+  vtt_inertia = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (11, 1, 310, 0.01, 1, 10)));
   gtk_widget_show (vtt_inertia);
   gtk_table_attach (GTK_TABLE (table1), vtt_inertia, 1, 2, 4, 5,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (GTK_FILL), 0, 0);
+  gtk_scale_set_value_pos (GTK_SCALE (vtt_inertia), GTK_POS_LEFT);
 
   label4 = gtk_label_new ("Input");
   gtk_widget_show (label4);
   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 3), label4);
-  gtk_label_set_justify (GTK_LABEL (label4), GTK_JUSTIFY_LEFT);
 
   table2 = gtk_table_new (7, 2, FALSE);
   gtk_widget_show (table2);
@@ -608,50 +594,47 @@ create_tx_options (void)
   gtk_table_set_row_spacings (GTK_TABLE (table2), 2);
   gtk_table_set_col_spacings (GTK_TABLE (table2), 2);
 
-  label8 = gtk_label_new ("Main Window Tooltips:");
+  label8 = gtk_label_new ("Tooltips:");
   gtk_widget_show (label8);
   gtk_table_attach (GTK_TABLE (table2), label8, 0, 1, 1, 2,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label8), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label8), 0, 0.5);
 
-  label9 = gtk_label_new ("Update Idle (ms):");
+  label9 = gtk_label_new ("Update idle (ms):");
   gtk_widget_show (label9);
   gtk_table_attach (GTK_TABLE (table2), label9, 0, 1, 3, 4,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label9), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label9), 0, 0.5);
 
-  label10 = gtk_label_new ("Update Delay (cycles):");
+  label10 = gtk_label_new ("Update delay (cycles):");
   gtk_widget_show (label10);
   gtk_table_attach (GTK_TABLE (table2), label10, 0, 1, 4, 5,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label10), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label10), 0, 0.5);
 
-  label11 = gtk_label_new ("VU Meter Decay:");
+  label11 = gtk_label_new ("VU meter decay:");
   gtk_widget_show (label11);
   gtk_table_attach (GTK_TABLE (table2), label11, 0, 1, 5, 6,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label11), GTK_JUSTIFY_LEFT);
-  gtk_misc_set_alignment (GTK_MISC (label11), 0, 0.5);
+  gtk_misc_set_alignment (GTK_MISC (label11), 0, 0.49);
 
-  mainwin_tooltips = gtk_check_button_new_with_mnemonic ("Enabled");
+  mainwin_tooltips = gtk_check_button_new_with_mnemonic ("Activate tooltips for the main wnidow");
   gtk_widget_show (mainwin_tooltips);
   gtk_table_attach (GTK_TABLE (table2), mainwin_tooltips, 1, 2, 1, 2,
                     (GtkAttachOptions) (GTK_FILL),
                     (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, 2, 100, 1, 10, 10)));
+  update_idle = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (11, 6, 100, 1, 10, 10)));
   gtk_widget_show (update_idle);
   gtk_table_attach (GTK_TABLE (table2), update_idle, 1, 2, 3, 4,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (GTK_FILL), 0, 0);
+  gtk_scale_set_value_pos (GTK_SCALE (update_idle), GTK_POS_LEFT);
   gtk_scale_set_digits (GTK_SCALE (update_idle), 0);
 
   update_delay = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 15, 1, 10, 10)));
@@ -659,23 +642,24 @@ 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);
+  gtk_scale_set_value_pos (GTK_SCALE (update_delay), GTK_POS_LEFT);
 
   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);
   gtk_table_attach (GTK_TABLE (table2), vumeter_decay, 1, 2, 5, 6,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (GTK_FILL), 0, 0);
+  gtk_scale_set_value_pos (GTK_SCALE (vumeter_decay), GTK_POS_LEFT);
+  gtk_scale_set_digits (GTK_SCALE (vumeter_decay), 2);
 
-  label14 = gtk_label_new ("Startup-Nagbox:");
+  label14 = gtk_label_new ("Nagbox:");
   gtk_widget_show (label14);
   gtk_table_attach (GTK_TABLE (table2), label14, 0, 1, 0, 1,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label14), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label14), 0, 0.5);
 
-  startup_nagbox = gtk_check_button_new_with_mnemonic ("Enabled");
+  startup_nagbox = gtk_check_button_new_with_mnemonic ("Display nagbox on startup");
   gtk_widget_show (startup_nagbox);
   gtk_table_attach (GTK_TABLE (table2), startup_nagbox, 1, 2, 0, 1,
                     (GtkAttachOptions) (GTK_FILL),
@@ -687,7 +671,6 @@ create_tx_options (void)
   gtk_table_attach (GTK_TABLE (table2), label12, 0, 1, 2, 3,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label12), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label12), 0, 0.5);
 
   hbox1 = gtk_hbox_new (FALSE, 5);
@@ -714,12 +697,11 @@ create_tx_options (void)
   gtk_radio_button_set_group (GTK_RADIO_BUTTON (buttons_text_only), buttons_text_and_icon_group);
   buttons_text_and_icon_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (buttons_text_only));
 
-  label38 = gtk_label_new ("Filename Length:");
+  label38 = gtk_label_new ("Filename length:");
   gtk_widget_show (label38);
   gtk_table_attach (GTK_TABLE (table2), label38, 0, 1, 6, 7,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label38), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label38), 0, 0.5);
 
   filename_length_adj = gtk_adjustment_new (8, 3, 255, 1, 10, 10);
@@ -732,7 +714,6 @@ create_tx_options (void)
   label2 = gtk_label_new ("User Interface");
   gtk_widget_show (label2);
   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 4), label2);
-  gtk_label_set_justify (GTK_LABEL (label2), GTK_JUSTIFY_LEFT);
 
   table8 = gtk_table_new (6, 2, FALSE);
   gtk_widget_show (table8);
@@ -745,7 +726,6 @@ create_tx_options (void)
   gtk_table_attach (GTK_TABLE (table8), label42, 0, 1, 0, 1,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label42), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label42), 0, 0.5);
 
   label43 = gtk_label_new ("Background (no focus):");
@@ -753,7 +733,6 @@ create_tx_options (void)
   gtk_table_attach (GTK_TABLE (table8), label43, 0, 1, 1, 2,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label43), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label43), 0, 0.5);
 
   label44 = gtk_label_new ("Signal (focus):");
@@ -761,7 +740,6 @@ create_tx_options (void)
   gtk_table_attach (GTK_TABLE (table8), label44, 0, 1, 2, 3,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label44), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label44), 0, 0.5);
 
   label45 = gtk_label_new ("Signal (no focus):");
@@ -769,7 +747,6 @@ create_tx_options (void)
   gtk_table_attach (GTK_TABLE (table8), label45, 0, 1, 3, 4,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label45), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label45), 0, 0.5);
 
   label46 = gtk_label_new ("Cursor:");
@@ -777,7 +754,6 @@ create_tx_options (void)
   gtk_table_attach (GTK_TABLE (table8), label46, 0, 1, 4, 5,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label46), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label46), 0, 0.5);
 
   label47 = gtk_label_new ("Cursor (mute):");
@@ -785,7 +761,6 @@ create_tx_options (void)
   gtk_table_attach (GTK_TABLE (table8), label47, 0, 1, 5, 6,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label47), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label47), 0, 0.5);
 
   wav_display_bg_focus = gtk_button_new_with_mnemonic ("button1");
@@ -827,7 +802,6 @@ create_tx_options (void)
   label41 = gtk_label_new ("Audio Colors");
   gtk_widget_show (label41);
   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 5), label41);
-  gtk_label_set_justify (GTK_LABEL (label41), GTK_JUSTIFY_LEFT);
 
   table9 = gtk_table_new (4, 2, FALSE);
   gtk_widget_show (table9);
@@ -841,7 +815,6 @@ create_tx_options (void)
   gtk_table_attach (GTK_TABLE (table9), label53, 0, 1, 0, 1,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label53), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label53), 0, 0.5);
 
   label54 = gtk_label_new ("Regular Signal:");
@@ -849,7 +822,6 @@ create_tx_options (void)
   gtk_table_attach (GTK_TABLE (table9), label54, 0, 1, 1, 2,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label54), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label54), 0, 0.5);
 
   label55 = gtk_label_new ("Loud Signal:");
@@ -857,7 +829,6 @@ create_tx_options (void)
   gtk_table_attach (GTK_TABLE (table9), label55, 0, 1, 2, 3,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label55), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label55), 0, 0.5);
 
   label56 = gtk_label_new ("Scale Opacity:");
@@ -865,7 +836,6 @@ create_tx_options (void)
   gtk_table_attach (GTK_TABLE (table9), label56, 0, 1, 3, 4,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label56), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label56), 0, 0.5);
 
   vu_meter_border_intensity = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0.07, 0, 1, 0.01, 0, 0)));
@@ -897,21 +867,19 @@ create_tx_options (void)
   label52 = gtk_label_new ("VU Colors");
   gtk_widget_show (label52);
   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 6), label52);
-  gtk_label_set_justify (GTK_LABEL (label52), GTK_JUSTIFY_LEFT);
 
-  table3 = gtk_table_new (6, 2, FALSE);
+  table3 = gtk_table_new (8, 2, FALSE);
   gtk_widget_show (table3);
   gtk_container_add (GTK_CONTAINER (notebook1), table3);
   gtk_container_set_border_width (GTK_CONTAINER (table3), 4);
   gtk_table_set_row_spacings (GTK_TABLE (table3), 2);
   gtk_table_set_col_spacings (GTK_TABLE (table3), 2);
 
-  label13 = gtk_label_new ("Soundfile Editor:");
+  label13 = gtk_label_new ("Soundfile editor:");
   gtk_widget_show (label13);
   gtk_table_attach (GTK_TABLE (table3), label13, 0, 1, 0, 1,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label13), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label13), 0, 0.5);
 
   soundfile_editor = gtk_entry_new ();
@@ -921,27 +889,25 @@ create_tx_options (void)
                     (GtkAttachOptions) (0), 0, 0);
   gtk_tooltips_set_tip (tooltips, soundfile_editor, "Enter the command to run your favourite soundfile editor. It will be started when you choose \"Edit File\" from the turntable's file menu.", NULL);
 
-  label26 = gtk_label_new ("\"Pre-Listen\" to soundfiles:");
+  label26 = gtk_label_new ("Pre-listen:");
   gtk_widget_show (label26);
   gtk_table_attach (GTK_TABLE (table3), label26, 0, 1, 3, 4,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label26), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label26), 0, 0.5);
 
-  prelisten_enabled = gtk_check_button_new_with_mnemonic ("Enabled");
+  prelisten_enabled = gtk_check_button_new_with_mnemonic ("Play audiofiles in file dialogs");
   gtk_widget_show (prelisten_enabled);
   gtk_table_attach (GTK_TABLE (table3), prelisten_enabled, 1, 2, 3, 4,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
   gtk_tooltips_set_tip (tooltips, prelisten_enabled, "When enabled soundfiles will be playedback when selected in a file dialog (before loading them).", NULL);
 
-  label31 = gtk_label_new ("LADSPA RDF Path:");
+  label31 = gtk_label_new ("LADSPA RDF path:");
   gtk_widget_show (label31);
   gtk_table_attach (GTK_TABLE (table3), label31, 0, 1, 1, 2,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label31), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label31), 0, 0.5);
 
   ladspa_rdf_path = gtk_entry_new ();
@@ -950,53 +916,75 @@ create_tx_options (void)
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
 
-  label33 = gtk_label_new ("Compress set files:");
+  label33 = gtk_label_new ("Compression:");
   gtk_widget_show (label33);
   gtk_table_attach (GTK_TABLE (table3), label33, 0, 1, 2, 3,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label33), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label33), 0, 0.5);
 
-  compress_set_files = gtk_check_button_new_with_mnemonic ("Enabled");
+  compress_set_files = gtk_check_button_new_with_mnemonic ("Compress terminatorX set files");
   gtk_widget_show (compress_set_files);
   gtk_table_attach (GTK_TABLE (table3), compress_set_files, 1, 2, 2, 3,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
 
-  label40 = gtk_label_new ("Restore MIDI connections:");
+  label40 = gtk_label_new ("MIDI:");
   gtk_widget_show (label40);
   gtk_table_attach (GTK_TABLE (table3), label40, 0, 1, 4, 5,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label40), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label40), 0, 0.5);
 
-  reconnect_enabled = gtk_check_button_new_with_mnemonic ("Enabled");
+  reconnect_enabled = gtk_check_button_new_with_mnemonic ("Restore MIDI connections on startup");
   gtk_widget_show (reconnect_enabled);
   gtk_table_attach (GTK_TABLE (table3), reconnect_enabled, 1, 2, 4, 5,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
   gtk_tooltips_set_tip (tooltips, reconnect_enabled, "When enabled soundfiles will be playedback when selected in a file dialog (before loading them).", NULL);
 
-  label57 = gtk_label_new ("Ask for \"Quit\" confirmation:");
+  label57 = gtk_label_new ("Quit:");
   gtk_widget_show (label57);
   gtk_table_attach (GTK_TABLE (table3), label57, 0, 1, 5, 6,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_label_set_justify (GTK_LABEL (label57), GTK_JUSTIFY_LEFT);
   gtk_misc_set_alignment (GTK_MISC (label57), 0, 0.5);
 
-  quit_confirm = gtk_check_button_new_with_mnemonic ("Enabled");
+  quit_confirm = gtk_check_button_new_with_mnemonic ("Ask for \"Quit\" confirmation");
   gtk_widget_show (quit_confirm);
   gtk_table_attach (GTK_TABLE (table3), quit_confirm, 1, 2, 5, 6,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
 
+  label58 = gtk_label_new ("Plugins:");
+  gtk_widget_show (label58);
+  gtk_table_attach (GTK_TABLE (table3), label58, 0, 1, 6, 7,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_misc_set_alignment (GTK_MISC (label58), 0, 0.5);
+
+  label59 = gtk_label_new ("");
+  gtk_widget_show (label59);
+  gtk_table_attach (GTK_TABLE (table3), label59, 0, 1, 7, 8,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+  gtk_misc_set_alignment (GTK_MISC (label59), 0, 0.5);
+
+  verbose_plugin_loading = gtk_check_button_new_with_mnemonic ("Verbose plugin loading");
+  gtk_widget_show (verbose_plugin_loading);
+  gtk_table_attach (GTK_TABLE (table3), verbose_plugin_loading, 1, 2, 6, 7,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+
+  force_nonrt_plugins = gtk_check_button_new_with_mnemonic ("Force loading of \"non-RT\" plugins ");
+  gtk_widget_show (force_nonrt_plugins);
+  gtk_table_attach (GTK_TABLE (table3), force_nonrt_plugins, 1, 2, 7, 8,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+
   label3 = gtk_label_new ("Misc");
   gtk_widget_show (label3);
   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 7), label3);
-  gtk_label_set_justify (GTK_LABEL (label3), GTK_JUSTIFY_LEFT);
 
   dialog_action_area3 = GTK_DIALOG (tx_options)->action_area;
   gtk_widget_show (dialog_action_area3);
@@ -1176,6 +1164,10 @@ create_tx_options (void)
   GLADE_HOOKUP_OBJECT (tx_options, reconnect_enabled, "reconnect_enabled");
   GLADE_HOOKUP_OBJECT (tx_options, label57, "label57");
   GLADE_HOOKUP_OBJECT (tx_options, quit_confirm, "quit_confirm");
+  GLADE_HOOKUP_OBJECT (tx_options, label58, "label58");
+  GLADE_HOOKUP_OBJECT (tx_options, label59, "label59");
+  GLADE_HOOKUP_OBJECT (tx_options, verbose_plugin_loading, "verbose_plugin_loading");
+  GLADE_HOOKUP_OBJECT (tx_options, force_nonrt_plugins, "force_nonrt_plugins");
   GLADE_HOOKUP_OBJECT (tx_options, label3, "label3");
   GLADE_HOOKUP_OBJECT_NO_REF (tx_options, dialog_action_area3, "dialog_action_area3");
   GLADE_HOOKUP_OBJECT (tx_options, pref_reset, "pref_reset");
@@ -1218,7 +1210,6 @@ create_tx_del_mode (void)
   delmode_label = gtk_label_new ("Select which events to delete.");
   gtk_widget_show (delmode_label);
   gtk_box_pack_start (GTK_BOX (vbox2), delmode_label, TRUE, FALSE, 0);
-  gtk_label_set_justify (GTK_LABEL (delmode_label), GTK_JUSTIFY_LEFT);
 
   hbox3 = gtk_hbox_new (FALSE, 0);
   gtk_widget_show (hbox3);
@@ -1308,7 +1299,6 @@ create_tX_midilearn (void)
   midilabel = gtk_label_new ("Waiting for MIDI event....");
   gtk_widget_show (midilabel);
   gtk_box_pack_start (GTK_BOX (vbox4), midilabel, TRUE, TRUE, 0);
-  gtk_label_set_justify (GTK_LABEL (midilabel), GTK_JUSTIFY_LEFT);
 
   dialog_action_area5 = GTK_DIALOG (tX_midilearn)->action_area;
   gtk_widget_show (dialog_action_area5);
index 248a6c98f4b078147e138a6f133a041077023222..489ad6ef7a6a9c52b80ebc43e91709d619d3197d 100644 (file)
@@ -154,6 +154,9 @@ void set_global_defaults() {
        globals.quit_confirm=1;
        globals.use_realtime=1;
        globals.auto_assign_midi=0;
+       
+       globals.verbose_plugin_loading=0;
+       globals.force_nonrt_plugins=0;  
 }
 
 int load_globals_xml() {
@@ -253,6 +256,8 @@ int load_globals_xml() {
                        restore_int("quit_confirm", globals.quit_confirm);
                        restore_int("use_realtime", globals.use_realtime);
                        restore_int("auto_assign_midi", globals.auto_assign_midi);
+                       restore_int("force_nonrt_plugins", globals.force_nonrt_plugins);
+                       restore_int("verbose_plugin_loading", globals.verbose_plugin_loading);
 
 #ifdef USE_ALSA_MIDI_IN
                        if (!elementFound && (xmlStrcmp(cur->name, (xmlChar *) "midi_connections")==0)) {
@@ -370,6 +375,9 @@ void store_globals() {
                store_int("quit_confirm", globals.quit_confirm);
                store_int("use_realtime", globals.use_realtime);
                store_int("auto_assign_midi", globals.auto_assign_midi);
+               
+               store_int("verbose_plugin_loading", globals.verbose_plugin_loading);
+               store_int("force_nonrt_plugins", globals.force_nonrt_plugins);
 
 #ifdef USE_ALSA_MIDI_IN
                tX_midiin_store_connections(rc, indent);
index f7bd8d2a1147e0868b9b864c4d8062f3d0a2ec5b..e74e343d4cae33842ad26fb4b1b5f0e3d60e9925 100644 (file)
@@ -63,6 +63,7 @@ extern "C" {
 #define tX_error(fmt, args...); { fprintf(stderr, "* tX_error: "); fprintf(stderr, fmt , ## args); fprintf(stderr, "\n"); }
 #define tX_warning(fmt, args...); { fprintf(stderr, "+ tX_warning: "); fprintf(stderr, fmt , ## args); fprintf(stderr, "\n"); }
 #define tX_msg(fmt, args...); { fprintf(stderr, "- tX_msg: "); fprintf(stderr, fmt , ## args); fprintf(stderr, "\n"); }
+#define tX_plugin_warning(fmt, args...); { if (globals.verbose_plugin_loading) { fprintf(stderr, "+ tX_warning: "); fprintf(stderr, fmt , ## args); fprintf(stderr, "\n"); }}
 
 #ifdef MEM_DEBUG
 #define tX_freemem(ptr, varname, comment); fprintf(stderr, "** free() [%s] at %08x. %s.\n", varname, ptr, comment); free(ptr);
@@ -176,6 +177,9 @@ typedef struct {
        int quit_confirm;
        int use_realtime;
        int auto_assign_midi;
+       
+       int verbose_plugin_loading;
+       int force_nonrt_plugins;
 } tx_global;
 
 extern tx_global globals;
index 037c00223a9d29f424c128f336199c44e759e1b7..1db0655f0fde55ff8e743f6ccbf0b090963467aa 100644 (file)
@@ -83,10 +83,13 @@ void LADSPA_Plugin :: handlelib(void *lib, LADSPA_Descriptor_Function desc_func,
        
        for (i=0; (descriptor = desc_func(i)) != NULL; i++) {           
                if (LADSPA_IS_INPLACE_BROKEN(descriptor->Properties)) {
-                       tX_warning("Plugin \"%s\" [%i] disabled: No in-place processing support.", descriptor->Label, descriptor->UniqueID);
-               } else if (!LADSPA_IS_HARD_RT_CAPABLE(descriptor->Properties)) {
-                       tX_warning("Plugin \"%s\" [%i] disabled: Not realtime capable.", descriptor->Label, descriptor->UniqueID);                      
-               } else {                
+                       tX_plugin_warning("Plugin \"%s\" [%i] disabled: No in-place processing support.", descriptor->Label, descriptor->UniqueID);
+               } else if (!LADSPA_IS_HARD_RT_CAPABLE(descriptor->Properties) && !globals.force_nonrt_plugins) {
+                       tX_plugin_warning("Plugin \"%s\" [%i] disabled: Not realtime capable.", descriptor->Label, descriptor->UniqueID);
+               } else {
+                       if (!LADSPA_IS_HARD_RT_CAPABLE(descriptor->Properties)) {
+                               tX_warning("Plugin \"%s\" [%i] is classified as non-rt capable: loading forced.", descriptor->Label, descriptor->UniqueID);
+                       }
                        in_audio=0; out_audio=0; in_ctrl=0;
                
                        for (port = 0; port<descriptor->PortCount; port++) {                    
@@ -103,7 +106,7 @@ void LADSPA_Plugin :: handlelib(void *lib, LADSPA_Descriptor_Function desc_func,
                        } if ((in_audio == 2) && (out_audio == 2)) {
                                new LADSPA_Stereo_Plugin(descriptor, filename);
                        }
-                       else { tX_warning("Plugin \"%s\" [%i] disabled: Neither mono nor stereo.", descriptor->Label, descriptor->UniqueID); }
+                       else { tX_plugin_warning("Plugin \"%s\" [%i] disabled: Neither mono nor stereo.", descriptor->Label, descriptor->UniqueID); }
                }
        }
 }
@@ -118,13 +121,13 @@ void LADSPA_Plugin :: scandir(char *dirname)
        void *handle;
        LADSPA_Descriptor_Function desc_func;
        
-       if (!dirlen) { tX_error("tX: Error: empty directory name?"); return; };
+       if (!dirlen) { tX_error("empty directory name?"); return; };
 
        if (dirname[dirlen - 1] != '/') needslash=1;
        
        dir = opendir(dirname);
        
-       if (!dir) { tX_error("tX: Error: couldn't access directory \"%s\".", dirname); return; };
+       if (!dir) { tX_error("couldn't access directory \"%s\".", dirname); return; };
        
        while (1) {
                entry=readdir(dir);             
@@ -148,7 +151,7 @@ void LADSPA_Plugin :: scandir(char *dirname)
                        if (dlerror() == NULL && desc_func) {
                                LADSPA_Plugin :: handlelib(handle, desc_func, entry->d_name);
                        } else {
-                               tX_error("tX: Error: %s is not a LADSPA plugin library.", filename);
+                               tX_error("\"%s\" is not a LADSPA plugin library.", filename);
                                dlclose(handle);
                        }
                }
@@ -159,7 +162,6 @@ void LADSPA_Plugin :: scandir(char *dirname)
 
 void LADSPA_Plugin :: status ()
 {
-       printf ("tX: %i LADSPA plugins available\n", plugin_list.size());
        debug_display();
 }
 
index 0ceb50df273eefa468b600e74ce06dbc67b60355..3e8638e2b14d4c21c1dc95f081774721a5fa11fe 100644 (file)
@@ -1448,7 +1448,7 @@ void create_mastergui(int x, int y)
 
        add_sep2();
 
-       dummy=gtk_label_new("V "VERSION);
+       dummy=gtk_label_new("Rel. "VERSION);
        gtk_misc_set_alignment(GTK_MISC(dummy), 1, 0.5);
        gtk_box_pack_end(GTK_BOX(status_box), dummy, WID_FIX);
        gtk_widget_show(dummy);
index d878299cd17313af01970e564d24accd80c90602..14c735168c976c636aa946e26522d656ebe14a2b 100644 (file)
@@ -205,7 +205,6 @@ vtt_class :: ~vtt_class()
 
        main_list.remove(this);
        if (audiofile) delete audiofile;
-       //if (buffer) free(buffer);
        if (output_buffer) tX_freemem(output_buffer, "output_buffer", "vtt Destructor");
        if (output_buffer2) tX_freemem(output_buffer2, "output_buffer2", "vtt Destructor");
                
@@ -213,8 +212,7 @@ vtt_class :: ~vtt_class()
        
        if (mix_solo) solo_ctr--;
        
-       while (fx_list.size())
-       { 
+       while (fx_list.size()) { 
                effect=(*fx_list.begin());
                fx_list.remove(effect);
                delete effect;
@@ -240,7 +238,7 @@ tX_audio_error vtt_class :: load_file(char *fname)
        
        if (is_playing) stop();
 
-       if (audiofile) delete(audiofile);
+       if (audiofile) delete audiofile;
        
        buffer=NULL;
        samples_in_buffer=0;
@@ -261,11 +259,9 @@ tX_audio_error vtt_class :: load_file(char *fname)
                maxpos=audiofile->get_no_samples();
                strcpy(filename, fname);
                if (was_playing) trigger();
-//             printf("Successfully loaded %s, %08x, %i\n", fname, buffer, samples_in_buffer);
        }
        
-       if (have_gui)
-       {
+       if (have_gui) {
                gui_update_display(this);
        }
        ec_set_length(ec_length);
@@ -290,8 +286,7 @@ int vtt_class :: set_output_buffer_size(int newsize)
        samples_in_outputbuffer=newsize;
        inv_samples_in_outputbuffer=1.0/samples_in_outputbuffer;
 
-       for (effect=fx_list.begin(); effect != fx_list.end(); effect++)
-       {
+       for (effect=fx_list.begin(); effect != fx_list.end(); effect++) {
                (*effect)->reconnect_buffer();
        }
        
@@ -309,36 +304,25 @@ void vtt_class :: recalc_volume()
        res_volume=rel_volume*res_master_volume;
        f_prec ec_res_volume=res_volume*ec_volume;
        
-       if (pan>0.0)
-       {
+       if (pan>0.0) {
                res_volume_left=(1.0-pan)*res_volume;
                res_volume_right=res_volume;
-       }
-       else if (pan<0.0)
-       {
+       } else if (pan<0.0) {
                res_volume_left=res_volume;
                res_volume_right=(1.0+pan)*res_volume;
-       }
-       else
-       {
+       } else {
                res_volume_left=res_volume_right=res_volume;
        }
        
-       if (ec_pan>0.0)
-       {
+       if (ec_pan>0.0) {
                ec_volume_left=(1.0-ec_pan)*ec_res_volume;
                ec_volume_right=ec_res_volume;
-       }
-       else if (ec_pan<0.0)
-       {
+       } else if (ec_pan<0.0) {
                ec_volume_left=ec_res_volume;
                ec_volume_right=(1.0+ec_pan)*ec_res_volume;
-       }
-       else
-       {
+       } else {
                ec_volume_left=ec_volume_right=ec_res_volume;
        }       
-//     printf("vtt_volume: %f, %f, l: %f, r: %f\n", rel_volume, res_volume, res_volume_left, res_volume_right);
 }
 
 void vtt_class :: set_pan(f_prec newpan)
@@ -385,14 +369,11 @@ void vtt_class :: set_mix_mute(int newstate)
 
 void vtt_class :: set_mix_solo(int newstate)
 {
-       if (mix_solo && !newstate)
-       {
+       if (mix_solo && !newstate) {
                /* turning it off */
                mix_solo=0;
                solo_ctr--;
-       }
-       else if (!mix_solo && newstate)
-       {
+       } else if (!mix_solo && newstate) {
                /* turning it on */
                mix_solo=1;
                solo_ctr++;
@@ -475,19 +456,15 @@ void vtt_class :: ec_set_length(f_prec length)
        int delay;
 
        ec_length=length;
-       if (res_pitch==0) 
-       {
+       if (res_pitch==0) {
                ec_res_length=length*samples_in_buffer;
-       }
-       else
-       {
+       } else {
                ec_res_length=length*samples_in_buffer/res_pitch;       
        }
        
        if (ec_res_length<0) ec_res_length*=-1;
        
-       if (ec_res_length>=EC_MAX_BUFFER)
-       {
+       if (ec_res_length>=EC_MAX_BUFFER) {
                ec_res_length=EC_MAX_BUFFER*length;
        }
        
@@ -510,20 +487,18 @@ void vtt_class :: ec_set_volume(f_prec volume)
 
 void vtt_class :: ec_clear_buffer()
 {
-/*     f_prec *ptr;
-       
-       for (ptr=ec_buffer; ptr<=ec_delay; ptr++) {
-               *ptr=0.0;
-       } */
-       
        memset(ec_buffer, 0, sizeof(ec_buffer));
        ec_ptr=ec_buffer; 
 }
 
 #ifdef BIG_ENDIAN_MACHINE
-#define vabs(x) fabs(x)
+#define fastabs(x) fabs(x)
 #else
-inline float vabs(float f)
+// found this on musicdsp.org
+// posted by <tobybear@web.de>
+// proabably wont work on bigendian so we
+// use fabs() instead.
+inline float fastabs(float f)
 {
        int i=((*(int*)&f)&0x7fffffff);
        return (*(float*)&i);
@@ -578,8 +553,8 @@ void vtt_class :: render()
        
        // find max signal for vu meters...
        for (int sample=0; sample<samples_in_outputbuffer; sample++) {
-               f_prec lmax=vabs(output_buffer[sample]);
-               f_prec rmax=vabs(output_buffer2[sample]);
+               f_prec lmax=fastabs(output_buffer[sample]);
+               f_prec rmax=fastabs(output_buffer2[sample]);
                
                if (lmax>max_value) max_value=lmax;
                if (rmax>max_value2) max_value2=rmax;
@@ -767,7 +742,6 @@ void vtt_class :: forward_turntable()
 
        if ((speed_real==0) && (!fade_out)) return;
        
-       
        /* following code is problematic as adding speed_real*n is
          different from adding speed_real n times to pos_f.
          
@@ -862,31 +836,24 @@ int vtt_class :: set_mix_buffer_size(int no_samples)
        list <vtt_class *> :: iterator vtt;
        int res=0;
        
-//     printf("vtt_class::set_mix_buffer_size(), mix_buffer: %12x, mix_out: %12x, samples: %i\n", mix_buffer, mix_out_buffer, no_samples);
-       
        if (mix_buffer) tX_freemem(mix_buffer, "mix_buffer", "vtt set_mix_buffer_size()");
        samples_in_mix_buffer=no_samples*2;
 
        tX_malloc(mix_buffer, "mix_buffer", "vtt set_mix_buffer_size()", sizeof(float)*samples_in_mix_buffer, (float *));
        mix_buffer_end=mix_buffer+samples_in_mix_buffer;
-
-//     printf("mix_buffer: %12x\n", mix_buffer);
-//     printf("mix_samples: %i, out_samples: %i", samples_in_mix_buffer, no_samples);
        
        if (mix_out_buffer) tX_freemem(mix_out_buffer, "mix_out_buffer", "vtt set_mix_buffer_size()");
        tX_malloc(mix_out_buffer, "mix_out_buffer", "vtt set_mix_buffer_size()", sizeof(int16_t)*samples_in_mix_buffer + 4, (int16_t *));
-
-//     printf("mix_out_buffer: %12x\n", mix_out_buffer);
        
        for (vtt=main_list.begin(); vtt!=main_list.end(); vtt++) {
                res|=(*vtt)->set_output_buffer_size(no_samples);
        }
        
-       if ((!mix_buffer) || (!mix_out_buffer) || res) return(1);
+       if ((!mix_buffer) || (!mix_out_buffer) || res) return 1;
        
        mix_buffer_size=no_samples;
        
-       return(0);
+       return 0;
 }
 
 int16_t * vtt_class :: render_all_turntables()
@@ -894,9 +861,6 @@ int16_t * vtt_class :: render_all_turntables()
        list <vtt_class *> :: iterator vtt, next;
        int sample;
        int mix_sample;
-       f_prec temp;
-       f_prec max;
-       f_prec min;
        
        pthread_mutex_lock(&render_lock);
        
@@ -907,82 +871,56 @@ int16_t * vtt_class :: render_all_turntables()
                */
                memset((void *) mix_buffer, 0, sizeof(float)*samples_in_mix_buffer);
        } else {
-                       vtt=render_list.begin();
-                       (*vtt)->render();                       
-                       
-                       for (sample=0, mix_sample=0; sample<(*vtt)->samples_in_outputbuffer; sample++) {
-                               mix_buffer[mix_sample++]=(*vtt)->output_buffer[sample]*FL_SHRT_MAX;
-                               mix_buffer[mix_sample++]=(*vtt)->output_buffer2[sample]*FL_SHRT_MAX;
-                       }
+               vtt=render_list.begin();
+               (*vtt)->render();                       
+               
+               for (sample=0, mix_sample=0; sample<(*vtt)->samples_in_outputbuffer; sample++) {
+                       mix_buffer[mix_sample++]=(*vtt)->output_buffer[sample]*FL_SHRT_MAX;
+                       mix_buffer[mix_sample++]=(*vtt)->output_buffer2[sample]*FL_SHRT_MAX;
+               }
 
-                       if (master_triggered) {
-                               for (vtt=main_list.begin(); vtt!=main_list.end(); vtt++) {
-                                       if ((*vtt)->is_sync_client)     {
-                                               if ((*vtt)->sync_countdown)     {
-                                                       (*vtt)->sync_countdown--;
-                                               } else {
-                                                       (*vtt)->sync_countdown=(*vtt)->sync_cycles;
-                                                       (*vtt)->trigger(false);
-                                               }
+               if (master_triggered) {
+                       for (vtt=main_list.begin(); vtt!=main_list.end(); vtt++) {
+                               if ((*vtt)->is_sync_client)     {
+                                       if ((*vtt)->sync_countdown)     {
+                                               (*vtt)->sync_countdown--;
+                                       } else {
+                                               (*vtt)->sync_countdown=(*vtt)->sync_cycles;
+                                               (*vtt)->trigger(false);
                                        }
                                }
                        }
-                       
-                       vtt=render_list.begin();
-                       
-                       for (vtt++; vtt!=render_list.end(); vtt++) {
-                               (*vtt)->render();                                       
+               }
+               
+               vtt=render_list.begin();
+               
+               for (vtt++; vtt!=render_list.end(); vtt++) {
+                       (*vtt)->render();                                       
 
-                               for (sample=0, mix_sample=0; sample<(*vtt)->samples_in_outputbuffer; sample++) {
-                                       mix_buffer[mix_sample++]+=(*vtt)->output_buffer[sample]*FL_SHRT_MAX;
-                                       mix_buffer[mix_sample++]+=(*vtt)->output_buffer2[sample]*FL_SHRT_MAX;
-                               }
+                       for (sample=0, mix_sample=0; sample<(*vtt)->samples_in_outputbuffer; sample++) {
+                               mix_buffer[mix_sample++]+=(*vtt)->output_buffer[sample]*FL_SHRT_MAX;
+                               mix_buffer[mix_sample++]+=(*vtt)->output_buffer2[sample]*FL_SHRT_MAX;
                        }
-                       
-                       /* left */
-                       
-                       max=mix_max_l;
-                       min=max;
-
-                       for (sample=0; sample<samples_in_mix_buffer; sample+=2) {                               
-                               temp=mix_buffer[sample];
-
+               }
+               
+               bool right=false;
+               
+               for (sample=0; sample<samples_in_mix_buffer; sample++) {
+                       f_prec temp=mix_buffer[sample];
 #ifndef TX_DO_CLIP
-                               if(temp < FL_SHRT_MIN) temp = FL_SHRT_MIN;
-                               else if (temp > FL_SHRT_MAX) temp = FL_SHRT_MAX;
+                       if(temp < FL_SHRT_MIN) temp = FL_SHRT_MIN;
+                       else if (temp > FL_SHRT_MAX) temp = FL_SHRT_MAX;
 #endif                                 
-
-                               mix_out_buffer[sample]=(int16_t) temp;
-                       
-                               if (temp>max) max=temp;
-                               else if (temp<min) min=temp;
-                       }
-                       
-                       min*=-1.0;
-                       if (min>max) mix_max_l=min; else mix_max_l=max;         
-                       
-                       /* right */
-                       
-                       max=mix_max_r;
-                       min=max;
-
-                       for (sample=1; sample<samples_in_mix_buffer; sample+=2) {                               
-                               temp=mix_buffer[sample];
-
-#ifndef TX_DO_CLIP
-                               if(temp < FL_SHRT_MIN) temp = FL_SHRT_MIN;
-                               else if (temp > FL_SHRT_MAX) temp = FL_SHRT_MAX;
-#endif
-                               
-                               mix_out_buffer[sample]=(int16_t) temp;
+                       mix_out_buffer[sample]=(int16_t) temp;
                        
-                               if (temp>max) max=temp;
-                               else if (temp<min) min=temp;
+                       temp=fastabs(temp);
+                       if (right) {
+                               if (temp>mix_max_r) mix_max_r=temp;
+                       } else {
+                               if (temp>mix_max_l) mix_max_l=temp;
                        }
-                       
-                       min*=-1.0;
-                       if (min>max) mix_max_r=min; else mix_max_r=max;         
-                       
+                       right=!right;
+               }
        }
        master_triggered=0;
                
@@ -1003,41 +941,32 @@ void vtt_class :: forward_all_turntables()
 {
        list <vtt_class *> :: iterator vtt, next;
 
-       if (render_list.size()>0)
-       {
-                vtt=render_list.begin();
-                (*vtt)->forward_turntable();                    
-
-                if (master_triggered)
-                {
-                        for (vtt=main_list.begin(); vtt!=main_list.end(); vtt++)
-                        {
-                                if ((*vtt)->is_sync_client)
-                                {
-                                        if ((*vtt)->sync_countdown)
-                                        {
-                                                (*vtt)->sync_countdown--;
-                                        }
-                                        else
-                                        {
-                                                (*vtt)->sync_countdown=(*vtt)->sync_cycles;
-                                                (*vtt)->trigger();
-                                        }
-                                }
-                        }
-                }
-
-                vtt=render_list.begin();
-                for (vtt++; vtt!=render_list.end(); vtt++)
-                {
-                        (*vtt)->forward_turntable();
-                }
-                
+       if (render_list.size()>0) {
+               vtt=render_list.begin();
+               (*vtt)->forward_turntable();                     
+               
+               if (master_triggered) {
+                       for (vtt=main_list.begin(); vtt!=main_list.end(); vtt++) {
+                               if ((*vtt)->is_sync_client){
+                                       if ((*vtt)->sync_countdown) {
+                                               (*vtt)->sync_countdown--;
+                                       } else {
+                                               (*vtt)->sync_countdown=(*vtt)->sync_cycles;
+                                               (*vtt)->trigger();
+                                       }
+                               }
+                       }
+               }
+       
+               vtt=render_list.begin();
+               for (vtt++; vtt!=render_list.end(); vtt++) {
+                (*vtt)->forward_turntable();
+               }
        }
+       
        master_triggered=0;
        vtt=render_list.begin();
-       while (vtt!=render_list.end())
-       {
+       while (vtt!=render_list.end()) {
                next=vtt;
                next++;
                
@@ -1131,7 +1060,7 @@ int vtt_class :: stop()
        res=stop_nolock();
        pthread_mutex_unlock(&render_lock);
 
-       return(res);
+       return res;
 }
 
 void vtt_class :: set_sync_master(int master)
@@ -1320,7 +1249,6 @@ int  vtt_class :: save(FILE *rc, gzFile rz, char *indent) {
        store_id("speed", sp_speed.get_persistence_id());
        store_id("trigger", sp_trigger.get_persistence_id());
        store_id("spin", sp_spin.get_persistence_id());
-
        
        if (x_par) {
                store_int("x_axis_mapping", x_par->get_persistence_id());
@@ -1336,10 +1264,8 @@ int  vtt_class :: save(FILE *rc, gzFile rz, char *indent) {
        store_bool("trigger_panel_hidden", gui.trigger_panel->is_hidden());
        store_bool("lowpass_panel_hidden", gui.lp_panel->is_hidden());
        store_bool("echo_panel_hidden", gui.ec_panel->is_hidden());
-       
        store_bool("mix_mute", mix_mute);
        store_bool("mix_solo", mix_solo);
-
        store_float("audio_x_zoom", gui_get_audio_x_zoom(this));
        
        tX_store("%s<fx>\n", indent);
@@ -1380,8 +1306,6 @@ int  vtt_class :: save_all(FILE* rc, gzFile rz) {
        
        strcpy(indent, "\t");
 
-       //store_int(vtt_amount); obsolete
-
        store_float_sp("master_volume", master_volume, sp_master_volume);
        store_float_sp("master_pitch", globals.pitch, sp_master_pitch);
 
@@ -1464,10 +1388,10 @@ int vtt_class :: load(xmlDocPtr doc, xmlNodePtr node) {
                                        if (cur->type == XML_ELEMENT_NODE) {
                                                int elementFound=0;
                                                
-                                               if (xmlStrcmp(cur->name, (xmlChar *) "cutoff")==0) {
+                                               if ((xmlStrcmp(cur->name, (xmlChar *) "cutoff")==0) && !stereo) {
                                                        for (unsigned int t=0; t<fx_list.size(); t++) effect_down(lp_fx);
                                                        elementFound=1;
-                                               } else if (xmlStrcmp(cur->name, (xmlChar *) "lowpass")==0) {
+                                               } else if ((xmlStrcmp(cur->name, (xmlChar *) "lowpass")==0) && !stereo) {
                                                        for (unsigned int t=0; t<fx_list.size(); t++) effect_down(ec_fx);
                                                        elementFound=1;                                                         
                                                } else if (xmlStrcmp(cur->name, (xmlChar *) "ladspa_plugin")==0) {
index 1e6d3eeec4469df78c70e991c7460710e43a34d7..02898f9e2c8ce1b12b612ef4f79ce10ed4fe2ed8 100644 (file)
   <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="Sat, 12 Apr 2003 20:20:31 GMT"/>
+  <signal name="destroy" handler="on_tx_options_destroy"/>
 
   <child internal-child="vbox">
     <widget class="GtkVBox" id="dialog-vbox3">
              <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"/>
+             <signal name="clicked" handler="on_pref_reset_clicked"/>
            </widget>
          </child>
 
              <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="Sat, 12 Apr 2003 19:47:37 GMT"/>
+             <signal name="clicked" handler="on_pref_cancel_clicked"/>
            </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="Sat, 12 Apr 2003 19:47:47 GMT"/>
+             <signal name="clicked" handler="on_pref_apply_clicked"/>
            </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="Sat, 12 Apr 2003 19:47:56 GMT"/>
+             <signal name="clicked" handler="on_pref_ok_clicked"/>
            </widget>
          </child>
        </widget>
              <child>
                <widget class="GtkLabel" id="label18">
                  <property name="visible">True</property>
-                 <property name="label" translatable="yes">Use Driver:</property>
+                 <property name="label" translatable="yes">Driver:</property>
                  <property name="use_underline">False</property>
                  <property name="use_markup">False</property>
                  <property name="justify">GTK_JUSTIFY_LEFT</property>
              <child>
                <widget class="GtkLabel" id="use_realtime_label">
                  <property name="visible">True</property>
-                 <property name="label" translatable="yes">Use realtime scheduling
-where available:</property>
+                 <property name="label" translatable="yes">Scheduling:</property>
                  <property name="use_underline">False</property>
                  <property name="use_markup">False</property>
                  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -449,7 +448,7 @@ where available:</property>
                <widget class="GtkCheckButton" id="use_realtime">
                  <property name="visible">True</property>
                  <property name="can_focus">True</property>
-                 <property name="label" translatable="yes">Enabled</property>
+                 <property name="label" translatable="yes">Use realtime scheduling where available</property>
                  <property name="use_underline">True</property>
                  <property name="relief">GTK_RELIEF_NORMAL</property>
                  <property name="active">False</property>
@@ -504,7 +503,7 @@ where available:</property>
              <child>
                <widget class="GtkLabel" id="label21">
                  <property name="visible">True</property>
-                 <property name="label" translatable="yes">Audio Device:</property>
+                 <property name="label" translatable="yes">Audio device:</property>
                  <property name="use_underline">False</property>
                  <property name="use_markup">False</property>
                  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -528,7 +527,7 @@ where available:</property>
              <child>
                <widget class="GtkLabel" id="label22">
                  <property name="visible">True</property>
-                 <property name="label" translatable="yes">No. of Buffers:</property>
+                 <property name="label" translatable="yes">No. of buffers:</property>
                  <property name="use_underline">False</property>
                  <property name="use_markup">False</property>
                  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -664,7 +663,7 @@ where available:</property>
                  <property name="visible">True</property>
                  <property name="can_focus">True</property>
                  <property name="draw_value">True</property>
-                 <property name="value_pos">GTK_POS_TOP</property>
+                 <property name="value_pos">GTK_POS_LEFT</property>
                  <property name="digits">0</property>
                  <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
                  <property name="inverted">False</property>
@@ -910,7 +909,7 @@ where available:</property>
                  <property name="visible">True</property>
                  <property name="can_focus">True</property>
                  <property name="draw_value">True</property>
-                 <property name="value_pos">GTK_POS_TOP</property>
+                 <property name="value_pos">GTK_POS_LEFT</property>
                  <property name="digits">0</property>
                  <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
                  <property name="inverted">False</property>
@@ -955,12 +954,12 @@ where available:</property>
                  <property name="visible">True</property>
                  <property name="can_focus">True</property>
                  <property name="draw_value">True</property>
-                 <property name="value_pos">GTK_POS_TOP</property>
+                 <property name="value_pos">GTK_POS_LEFT</property>
                  <property name="digits">0</property>
                  <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
                  <property name="inverted">False</property>
-                 <property name="adjustment">50 10 500 1 10 10</property>
-                 <signal name="value_changed" handler="on_alsa_buffer_time_value_changed" object="alsa_period_time" last_modification_time="Tue, 08 Apr 2003 20:22:15 GMT"/>
+                 <property name="adjustment">69 10 500 1 10 10</property>
+                 <signal name="value_changed" handler="on_alsa_buffer_time_value_changed" object="alsa_period_time"/>
                </widget>
                <packing>
                  <property name="left_attach">1</property>
@@ -1055,7 +1054,7 @@ where available:</property>
              <child>
                <widget class="GtkLabel" id="label5">
                  <property name="visible">True</property>
-                 <property name="label" translatable="yes">XInput Device:</property>
+                 <property name="label" translatable="yes">XInput device:</property>
                  <property name="use_underline">False</property>
                  <property name="use_markup">False</property>
                  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -1079,7 +1078,7 @@ where available:</property>
              <child>
                <widget class="GtkLabel" id="label6">
                  <property name="visible">True</property>
-                 <property name="label" translatable="yes">Mouse Speed:</property>
+                 <property name="label" translatable="yes">Mouse speed:</property>
                  <property name="use_underline">False</property>
                  <property name="use_markup">False</property>
                  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -1103,7 +1102,7 @@ where available:</property>
              <child>
                <widget class="GtkLabel" id="label7">
                  <property name="visible">True</property>
-                 <property name="label" translatable="yes">Stop-Sense-Cycles:</property>
+                 <property name="label" translatable="yes">Stop-sense-cycles:</property>
                  <property name="use_underline">False</property>
                  <property name="use_markup">False</property>
                  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -1169,7 +1168,7 @@ where available:</property>
                  <property name="visible">True</property>
                  <property name="can_focus">True</property>
                  <property name="draw_value">True</property>
-                 <property name="value_pos">GTK_POS_TOP</property>
+                 <property name="value_pos">GTK_POS_LEFT</property>
                  <property name="digits">1</property>
                  <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
                  <property name="inverted">False</property>
@@ -1190,8 +1189,8 @@ where available:</property>
                  <property name="visible">True</property>
                  <property name="can_focus">True</property>
                  <property name="draw_value">True</property>
-                 <property name="value_pos">GTK_POS_TOP</property>
-                 <property name="digits">0</property>
+                 <property name="value_pos">GTK_POS_LEFT</property>
+                 <property name="digits">1</property>
                  <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
                  <property name="inverted">False</property>
                  <property name="adjustment">80 30 250 5 1 1</property>
@@ -1235,7 +1234,7 @@ where available:</property>
                  <property name="visible">True</property>
                  <property name="tooltip" translatable="yes">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.</property>
                  <property name="can_focus">True</property>
-                 <property name="label" translatable="yes">Enabled</property>
+                 <property name="label" translatable="yes">Activate XInput support</property>
                  <property name="use_underline">True</property>
                  <property name="relief">GTK_RELIEF_NORMAL</property>
                  <property name="active">False</property>
@@ -1255,7 +1254,7 @@ where available:</property>
              <child>
                <widget class="GtkLabel" id="label37">
                  <property name="visible">True</property>
-                 <property name="label" translatable="yes">Turntable Inertia:</property>
+                 <property name="label" translatable="yes">Turntable inertia:</property>
                  <property name="use_underline">False</property>
                  <property name="use_markup">False</property>
                  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -1281,11 +1280,11 @@ where available:</property>
                  <property name="visible">True</property>
                  <property name="can_focus">True</property>
                  <property name="draw_value">True</property>
-                 <property name="value_pos">GTK_POS_TOP</property>
+                 <property name="value_pos">GTK_POS_LEFT</property>
                  <property name="digits">1</property>
                  <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
                  <property name="inverted">False</property>
-                 <property name="adjustment">10 1 310 0.01 1 10</property>
+                 <property name="adjustment">11 1 310 0.01 1 10</property>
                </widget>
                <packing>
                  <property name="left_attach">1</property>
@@ -1335,7 +1334,7 @@ where available:</property>
              <child>
                <widget class="GtkLabel" id="label8">
                  <property name="visible">True</property>
-                 <property name="label" translatable="yes">Main Window Tooltips:</property>
+                 <property name="label" translatable="yes">Tooltips:</property>
                  <property name="use_underline">False</property>
                  <property name="use_markup">False</property>
                  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -1359,7 +1358,7 @@ where available:</property>
              <child>
                <widget class="GtkLabel" id="label9">
                  <property name="visible">True</property>
-                 <property name="label" translatable="yes">Update Idle (ms):</property>
+                 <property name="label" translatable="yes">Update idle (ms):</property>
                  <property name="use_underline">False</property>
                  <property name="use_markup">False</property>
                  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -1383,7 +1382,7 @@ where available:</property>
              <child>
                <widget class="GtkLabel" id="label10">
                  <property name="visible">True</property>
-                 <property name="label" translatable="yes">Update Delay (cycles):</property>
+                 <property name="label" translatable="yes">Update delay (cycles):</property>
                  <property name="use_underline">False</property>
                  <property name="use_markup">False</property>
                  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -1407,14 +1406,14 @@ where available:</property>
              <child>
                <widget class="GtkLabel" id="label11">
                  <property name="visible">True</property>
-                 <property name="label" translatable="yes">VU Meter Decay:</property>
+                 <property name="label" translatable="yes">VU meter decay:</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</property>
-                 <property name="yalign">0.5</property>
+                 <property name="yalign">0.49</property>
                  <property name="xpad">0</property>
                  <property name="ypad">0</property>
                </widget>
@@ -1433,7 +1432,7 @@ where available:</property>
                  <property name="visible">True</property>
                  <property name="tooltip" translatable="yes">Enable tooltips for the terminatorX main window.</property>
                  <property name="can_focus">True</property>
-                 <property name="label" translatable="yes">Enabled</property>
+                 <property name="label" translatable="yes">Activate tooltips for the main wnidow</property>
                  <property name="use_underline">True</property>
                  <property name="relief">GTK_RELIEF_NORMAL</property>
                  <property name="active">False</property>
@@ -1455,11 +1454,11 @@ where available:</property>
                  <property name="visible">True</property>
                  <property name="can_focus">True</property>
                  <property name="draw_value">True</property>
-                 <property name="value_pos">GTK_POS_TOP</property>
+                 <property name="value_pos">GTK_POS_LEFT</property>
                  <property name="digits">0</property>
                  <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
                  <property name="inverted">False</property>
-                 <property name="adjustment">11 2 100 1 10 10</property>
+                 <property name="adjustment">11 6 100 1 10 10</property>
                </widget>
                <packing>
                  <property name="left_attach">1</property>
@@ -1476,8 +1475,8 @@ where available:</property>
                  <property name="visible">True</property>
                  <property name="can_focus">True</property>
                  <property name="draw_value">True</property>
-                 <property name="value_pos">GTK_POS_TOP</property>
-                 <property name="digits">0</property>
+                 <property name="value_pos">GTK_POS_LEFT</property>
+                 <property name="digits">1</property>
                  <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
                  <property name="inverted">False</property>
                  <property name="adjustment">0 0 15 1 10 10</property>
@@ -1497,8 +1496,8 @@ where available:</property>
                  <property name="visible">True</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="value_pos">GTK_POS_LEFT</property>
+                 <property name="digits">2</property>
                  <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
                  <property name="inverted">False</property>
                  <property name="adjustment">0.8 0.8 0.99 0.01 0.01 0.001</property>
@@ -1516,7 +1515,7 @@ where available:</property>
              <child>
                <widget class="GtkLabel" id="label14">
                  <property name="visible">True</property>
-                 <property name="label" translatable="yes">Startup-Nagbox:</property>
+                 <property name="label" translatable="yes">Nagbox:</property>
                  <property name="use_underline">False</property>
                  <property name="use_markup">False</property>
                  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -1542,7 +1541,7 @@ where available:</property>
                  <property name="visible">True</property>
                  <property name="tooltip" translatable="yes">Display nagbox on startup while loading data.</property>
                  <property name="can_focus">True</property>
-                 <property name="label" translatable="yes">Enabled</property>
+                 <property name="label" translatable="yes">Display nagbox on startup</property>
                  <property name="use_underline">True</property>
                  <property name="relief">GTK_RELIEF_NORMAL</property>
                  <property name="active">False</property>
@@ -1657,7 +1656,7 @@ where available:</property>
              <child>
                <widget class="GtkLabel" id="label38">
                  <property name="visible">True</property>
-                 <property name="label" translatable="yes">Filename Length:</property>
+                 <property name="label" translatable="yes">Filename length:</property>
                  <property name="use_underline">False</property>
                  <property name="use_markup">False</property>
                  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -1884,7 +1883,7 @@ where available:</property>
                  <property name="label" translatable="yes">button1</property>
                  <property name="use_underline">True</property>
                  <property name="relief">GTK_RELIEF_NORMAL</property>
-                 <signal name="clicked" handler="color_clicked" object="wav_display_bg_focus" last_modification_time="Fri, 01 Aug 2003 14:30:29 GMT"/>
+                 <signal name="clicked" handler="color_clicked" object="wav_display_bg_focus"/>
                </widget>
                <packing>
                  <property name="left_attach">1</property>
@@ -1902,7 +1901,7 @@ where available:</property>
                  <property name="label" translatable="yes">button2</property>
                  <property name="use_underline">True</property>
                  <property name="relief">GTK_RELIEF_NORMAL</property>
-                 <signal name="clicked" handler="color_clicked" object="wav_display_bg_no_focus" last_modification_time="Fri, 01 Aug 2003 14:30:58 GMT"/>
+                 <signal name="clicked" handler="color_clicked" object="wav_display_bg_no_focus"/>
                </widget>
                <packing>
                  <property name="left_attach">1</property>
@@ -1920,7 +1919,7 @@ where available:</property>
                  <property name="label" translatable="yes">button3</property>
                  <property name="use_underline">True</property>
                  <property name="relief">GTK_RELIEF_NORMAL</property>
-                 <signal name="clicked" handler="color_clicked" object="wav_display_fg_focus" last_modification_time="Fri, 01 Aug 2003 14:31:26 GMT"/>
+                 <signal name="clicked" handler="color_clicked" object="wav_display_fg_focus"/>
                </widget>
                <packing>
                  <property name="left_attach">1</property>
@@ -1938,7 +1937,7 @@ where available:</property>
                  <property name="label" translatable="yes">button4</property>
                  <property name="use_underline">True</property>
                  <property name="relief">GTK_RELIEF_NORMAL</property>
-                 <signal name="clicked" handler="color_clicked" object="wav_display_fg_no_focus" last_modification_time="Fri, 01 Aug 2003 14:31:38 GMT"/>
+                 <signal name="clicked" handler="color_clicked" object="wav_display_fg_no_focus"/>
                </widget>
                <packing>
                  <property name="left_attach">1</property>
@@ -1956,7 +1955,7 @@ where available:</property>
                  <property name="label" translatable="yes">button5</property>
                  <property name="use_underline">True</property>
                  <property name="relief">GTK_RELIEF_NORMAL</property>
-                 <signal name="clicked" handler="color_clicked" object="wav_display_cursor" last_modification_time="Fri, 01 Aug 2003 14:31:52 GMT"/>
+                 <signal name="clicked" handler="color_clicked" object="wav_display_cursor"/>
                </widget>
                <packing>
                  <property name="left_attach">1</property>
@@ -1974,7 +1973,7 @@ where available:</property>
                  <property name="label" translatable="yes">button6</property>
                  <property name="use_underline">True</property>
                  <property name="relief">GTK_RELIEF_NORMAL</property>
-                 <signal name="clicked" handler="color_clicked" object="wav_display_cursor_mute" last_modification_time="Fri, 01 Aug 2003 14:32:05 GMT"/>
+                 <signal name="clicked" handler="color_clicked" object="wav_display_cursor_mute"/>
                </widget>
                <packing>
                  <property name="left_attach">1</property>
@@ -2143,7 +2142,7 @@ where available:</property>
                  <property name="label" translatable="yes">button7</property>
                  <property name="use_underline">True</property>
                  <property name="relief">GTK_RELIEF_NORMAL</property>
-                 <signal name="clicked" handler="color_clicked" object="vu_meter_bg" last_modification_time="Fri, 01 Aug 2003 14:32:23 GMT"/>
+                 <signal name="clicked" handler="color_clicked" object="vu_meter_bg"/>
                </widget>
                <packing>
                  <property name="left_attach">1</property>
@@ -2162,7 +2161,7 @@ where available:</property>
                  <property name="label" translatable="yes">button8</property>
                  <property name="use_underline">True</property>
                  <property name="relief">GTK_RELIEF_NORMAL</property>
-                 <signal name="clicked" handler="color_clicked" object="vu_meter_normal" last_modification_time="Fri, 01 Aug 2003 14:32:39 GMT"/>
+                 <signal name="clicked" handler="color_clicked" object="vu_meter_normal"/>
                </widget>
                <packing>
                  <property name="left_attach">1</property>
@@ -2181,7 +2180,7 @@ where available:</property>
                  <property name="label" translatable="yes">button9</property>
                  <property name="use_underline">True</property>
                  <property name="relief">GTK_RELIEF_NORMAL</property>
-                 <signal name="clicked" handler="color_clicked" object="vu_meter_loud" last_modification_time="Fri, 01 Aug 2003 14:32:54 GMT"/>
+                 <signal name="clicked" handler="color_clicked" object="vu_meter_loud"/>
                </widget>
                <packing>
                  <property name="left_attach">1</property>
@@ -2222,7 +2221,7 @@ where available:</property>
            <widget class="GtkTable" id="table3">
              <property name="border_width">4</property>
              <property name="visible">True</property>
-             <property name="n_rows">6</property>
+             <property name="n_rows">8</property>
              <property name="n_columns">2</property>
              <property name="homogeneous">False</property>
              <property name="row_spacing">2</property>
@@ -2231,7 +2230,7 @@ where available:</property>
              <child>
                <widget class="GtkLabel" id="label13">
                  <property name="visible">True</property>
-                 <property name="label" translatable="yes">Soundfile Editor:</property>
+                 <property name="label" translatable="yes">Soundfile editor:</property>
                  <property name="use_underline">False</property>
                  <property name="use_markup">False</property>
                  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -2277,7 +2276,7 @@ where available:</property>
              <child>
                <widget class="GtkLabel" id="label26">
                  <property name="visible">True</property>
-                 <property name="label" translatable="yes">&quot;Pre-Listen&quot; to soundfiles:</property>
+                 <property name="label" translatable="yes">Pre-listen:</property>
                  <property name="use_underline">False</property>
                  <property name="use_markup">False</property>
                  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -2303,7 +2302,7 @@ where available:</property>
                  <property name="visible">True</property>
                  <property name="tooltip" translatable="yes">When enabled soundfiles will be playedback when selected in a file dialog (before loading them).</property>
                  <property name="can_focus">True</property>
-                 <property name="label" translatable="yes">Enabled</property>
+                 <property name="label" translatable="yes">Play audiofiles in file dialogs</property>
                  <property name="use_underline">True</property>
                  <property name="relief">GTK_RELIEF_NORMAL</property>
                  <property name="active">False</property>
@@ -2323,7 +2322,7 @@ where available:</property>
              <child>
                <widget class="GtkLabel" id="label31">
                  <property name="visible">True</property>
-                 <property name="label" translatable="yes">LADSPA RDF Path:</property>
+                 <property name="label" translatable="yes">LADSPA RDF path:</property>
                  <property name="use_underline">False</property>
                  <property name="use_markup">False</property>
                  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -2368,7 +2367,7 @@ where available:</property>
              <child>
                <widget class="GtkLabel" id="label33">
                  <property name="visible">True</property>
-                 <property name="label" translatable="yes">Compress set files:</property>
+                 <property name="label" translatable="yes">Compression:</property>
                  <property name="use_underline">False</property>
                  <property name="use_markup">False</property>
                  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -2393,7 +2392,7 @@ where available:</property>
                <widget class="GtkCheckButton" id="compress_set_files">
                  <property name="visible">True</property>
                  <property name="can_focus">True</property>
-                 <property name="label" translatable="yes">Enabled</property>
+                 <property name="label" translatable="yes">Compress terminatorX set files</property>
                  <property name="use_underline">True</property>
                  <property name="relief">GTK_RELIEF_NORMAL</property>
                  <property name="active">False</property>
@@ -2413,7 +2412,7 @@ where available:</property>
              <child>
                <widget class="GtkLabel" id="label40">
                  <property name="visible">True</property>
-                 <property name="label" translatable="yes">Restore MIDI connections:</property>
+                 <property name="label" translatable="yes">MIDI:</property>
                  <property name="use_underline">False</property>
                  <property name="use_markup">False</property>
                  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -2439,7 +2438,7 @@ where available:</property>
                  <property name="visible">True</property>
                  <property name="tooltip" translatable="yes">When enabled soundfiles will be playedback when selected in a file dialog (before loading them).</property>
                  <property name="can_focus">True</property>
-                 <property name="label" translatable="yes">Enabled</property>
+                 <property name="label" translatable="yes">Restore MIDI connections on startup</property>
                  <property name="use_underline">True</property>
                  <property name="relief">GTK_RELIEF_NORMAL</property>
                  <property name="active">False</property>
@@ -2459,7 +2458,7 @@ where available:</property>
              <child>
                <widget class="GtkLabel" id="label57">
                  <property name="visible">True</property>
-                 <property name="label" translatable="yes">Ask for &quot;Quit&quot; confirmation:</property>
+                 <property name="label" translatable="yes">Quit:</property>
                  <property name="use_underline">False</property>
                  <property name="use_markup">False</property>
                  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -2484,7 +2483,7 @@ where available:</property>
                <widget class="GtkCheckButton" id="quit_confirm">
                  <property name="visible">True</property>
                  <property name="can_focus">True</property>
-                 <property name="label" translatable="yes">Enabled</property>
+                 <property name="label" translatable="yes">Ask for &quot;Quit&quot; confirmation</property>
                  <property name="use_underline">True</property>
                  <property name="relief">GTK_RELIEF_NORMAL</property>
                  <property name="active">False</property>
@@ -2500,6 +2499,96 @@ where available:</property>
                  <property name="y_options"></property>
                </packing>
              </child>
+
+             <child>
+               <widget class="GtkLabel" id="label58">
+                 <property name="visible">True</property>
+                 <property name="label" translatable="yes">Plugins:</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</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">6</property>
+                 <property name="bottom_attach">7</property>
+                 <property name="x_options">fill</property>
+                 <property name="y_options"></property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkLabel" id="label59">
+                 <property name="visible">True</property>
+                 <property name="label" translatable="yes"></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</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">7</property>
+                 <property name="bottom_attach">8</property>
+                 <property name="x_options">fill</property>
+                 <property name="y_options"></property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkCheckButton" id="verbose_plugin_loading">
+                 <property name="visible">True</property>
+                 <property name="can_focus">True</property>
+                 <property name="label" translatable="yes">Verbose plugin loading</property>
+                 <property name="use_underline">True</property>
+                 <property name="relief">GTK_RELIEF_NORMAL</property>
+                 <property name="active">False</property>
+                 <property name="inconsistent">False</property>
+                 <property name="draw_indicator">True</property>
+               </widget>
+               <packing>
+                 <property name="left_attach">1</property>
+                 <property name="right_attach">2</property>
+                 <property name="top_attach">6</property>
+                 <property name="bottom_attach">7</property>
+                 <property name="x_options">fill</property>
+                 <property name="y_options"></property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkCheckButton" id="force_nonrt_plugins">
+                 <property name="visible">True</property>
+                 <property name="can_focus">True</property>
+                 <property name="label" translatable="yes">Force loading of &quot;non-RT&quot; plugins </property>
+                 <property name="use_underline">True</property>
+                 <property name="relief">GTK_RELIEF_NORMAL</property>
+                 <property name="active">False</property>
+                 <property name="inconsistent">False</property>
+                 <property name="draw_indicator">True</property>
+               </widget>
+               <packing>
+                 <property name="left_attach">1</property>
+                 <property name="right_attach">2</property>
+                 <property name="top_attach">7</property>
+                 <property name="bottom_attach">8</property>
+                 <property name="x_options">fill</property>
+                 <property name="y_options"></property>
+               </packing>
+             </child>
            </widget>
            <packing>
              <property name="tab_expand">False</property>
@@ -2566,7 +2655,7 @@ where available:</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_del_mode_cancel_clicked" last_modification_time="Sun, 18 May 2003 12:09:20 GMT"/>
+             <signal name="clicked" handler="on_del_mode_cancel_clicked"/>
            </widget>
          </child>
 
@@ -2579,7 +2668,7 @@ where available:</property>
              <property name="use_stock">True</property>
              <property name="relief">GTK_RELIEF_NORMAL</property>
              <property name="response_id">-5</property>
-             <signal name="clicked" handler="on_del_mode_ok_clicked" last_modification_time="Sun, 18 May 2003 12:09:35 GMT"/>
+             <signal name="clicked" handler="on_del_mode_ok_clicked"/>
            </widget>
          </child>
        </widget>
@@ -2805,7 +2894,7 @@ where available:</property>
       <property name="can_default">True</property>
       <property name="can_focus">True</property>
       <property name="relief">GTK_RELIEF_NORMAL</property>
-      <signal name="clicked" handler="on_color_selection_cancel_clicked" last_modification_time="Fri, 01 Aug 2003 14:29:40 GMT"/>
+      <signal name="clicked" handler="on_color_selection_cancel_clicked"/>
     </widget>
   </child>
 
@@ -2815,7 +2904,7 @@ where available:</property>
       <property name="can_default">True</property>
       <property name="can_focus">True</property>
       <property name="relief">GTK_RELIEF_NORMAL</property>
-      <signal name="clicked" handler="on_color_selection_ok_clicked" last_modification_time="Fri, 01 Aug 2003 14:29:09 GMT"/>
+      <signal name="clicked" handler="on_color_selection_ok_clicked"/>
     </widget>
   </child>