<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's
- panel'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-"compatible") LADSPA-plugins will pop up. The
+ (terminatorX-"compatible") 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'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 "Verbose Plugin Loading" in the Preferences dialog.
+ Watch the
terminal you run terminatorX from for that info if you have problems
loading a plugin.</para>
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)
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;
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()
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]);
label34 = gtk_label_new ("In order to compute the optimum pitch value, please specify how many loops of this turntable should play as fast as how many loops of the masterturntable:");
gtk_widget_show (label34);
gtk_box_pack_start (GTK_BOX (vbox1), label34, FALSE, FALSE, 0);
- gtk_label_set_justify (GTK_LABEL (label34), GTK_JUSTIFY_LEFT);
gtk_label_set_line_wrap (GTK_LABEL (label34), TRUE);
table7 = gtk_table_new (2, 2, FALSE);
gtk_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);
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;
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);
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),
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);
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):");
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):");
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 ();
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 ();
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);
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):");
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):");
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 ();
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):");
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:");
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");
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);
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 ();
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);
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)));
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),
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);
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);
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);
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):");
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):");
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):");
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:");
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):");
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");
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);
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:");
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:");
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:");
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)));
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 ();
(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 ();
(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);
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");
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);
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);
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() {
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)) {
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);
#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);
int quit_confirm;
int use_realtime;
int auto_assign_midi;
+
+ int verbose_plugin_loading;
+ int force_nonrt_plugins;
} tx_global;
extern tx_global globals;
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++) {
} 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); }
}
}
}
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);
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);
}
}
void LADSPA_Plugin :: status ()
{
- printf ("tX: %i LADSPA plugins available\n", plugin_list.size());
debug_display();
}
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);
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");
if (mix_solo) solo_ctr--;
- while (fx_list.size())
- {
+ while (fx_list.size()) {
effect=(*fx_list.begin());
fx_list.remove(effect);
delete effect;
if (is_playing) stop();
- if (audiofile) delete(audiofile);
+ if (audiofile) delete audiofile;
buffer=NULL;
samples_in_buffer=0;
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);
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();
}
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)
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++;
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;
}
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);
// 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;
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.
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()
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);
*/
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;
{
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++;
res=stop_nolock();
pthread_mutex_unlock(&render_lock);
- return(res);
+ return res;
}
void vtt_class :: set_sync_master(int master)
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());
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);
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);
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) {
<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>
<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>
<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>
<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>
<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="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="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>
<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>
<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>
<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>
<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="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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<child>
<widget class="GtkLabel" id="label26">
<property name="visible">True</property>
- <property name="label" translatable="yes">"Pre-Listen" 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>
<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>
<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>
<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>
<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>
<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>
<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>
<child>
<widget class="GtkLabel" id="label57">
<property name="visible">True</property>
- <property name="label" translatable="yes">Ask for "Quit" 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>
<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 "Quit" confirmation</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="active">False</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 "non-RT" 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>
<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>
<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>
<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>
<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>