sigc::mem_fun (*this, &ClickOptions::click_emphasis_browse_clicked));
t->attach (_click_emphasis_browse_button, 3, 4, 3, 4, FILL);
- FaderOption* fo = new FaderOption (
+ _click_fader = new FaderOption (
"click-gain",
_("Gain level"),
sigc::mem_fun (*_rc_config, &RCConfiguration::get_click_gain),
sigc::mem_fun (*_rc_config, &RCConfiguration::set_click_gain)
);
- fo->add_to_page (this);
- fo->set_state_from_config ();
+ _click_fader->add_to_page (this);
+ _click_fader->set_state_from_config ();
_click_path_entry.signal_activate().connect (sigc::mem_fun (*this, &ClickOptions::click_changed));
_click_emphasis_path_entry.signal_activate().connect (sigc::mem_fun (*this, &ClickOptions::click_emphasis_changed));
} else if (p == "use-click-emphasis") {
bool x = _rc_config->get_use_click_emphasis ();
_use_emphasis_on_click_check_button.set_active (x);
+ } else if (p == "click-gain") {
+ _click_fader->set_state_from_config ();
}
}
Entry _click_emphasis_path_entry;
Button _click_browse_button;
Button _click_emphasis_browse_button;
+ FaderOption* _click_fader;
};
class UndoOptions : public OptionEditorComponent
* tear_down_gui() hides an deletes the Window if it exists.
*/
ArdourWindow* win = new ArdourWindow (*((Gtk::Window*) _view.get_toplevel()), title.get_string());
- win->set_title ("Control Protocol Options");
+ win->set_title (_("Control Protocol Settings"));
win->add (*box);
box->show ();
win->present ();
RCOptionEditor::RCOptionEditor ()
: OptionEditorContainer (Config, string_compose (_("%1 Preferences"), PROGRAM_NAME))
- , Tabbable (*this, _("Preferences")) /* pack self-as-vbox into tabbable */
+ , Tabbable (*this, _("Preferences")
+#ifdef MIXBUS
+ , false // detached by default (first start, no instant.xml)
+#endif
+ ) /* pack self-as-vbox into tabbable */
, _rc_config (Config)
, _mixer_strip_visibility ("mixer-element-visibility")
{
add_option (_("General"), procs);
}
- add_option (_("General"), new OptionEditorHeading (S_("Options|Undo")));
+ /* Image cache size */
+ add_option (_("General"), new OptionEditorHeading (_("Memory Usage")));
+
+ HSliderOption *sics = new HSliderOption ("waveform-cache-size",
+ _("Waveform image cache size (megabytes)"),
+ sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::get_waveform_cache_size),
+ sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_waveform_cache_size),
+ 1, 1024, 10 /* 1 MB to 1GB in steps of 10MB */
+ );
+ sics->scale().set_digits (0);
+ Gtkmm2ext::UI::instance()->set_tip (
+ sics->tip_widget(),
+ _("Increasing the cache size uses more memory to store waveform images, which can improve graphical performance."));
+ add_option (_("General"), sics);
- add_option (_("General"), new UndoOptions (_rc_config));
+ add_option (_("General"), new OptionEditorHeading (_("Engine")));
add_option (_("General"),
+ new BoolOption (
+ "try-autostart-engine",
+ _("Try to auto-launch audio/midi engine"),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::get_try_autostart_engine),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::set_try_autostart_engine)
+ ));
+
+ add_option (_("General"), new OptionEditorHeading (_("Automation")));
+
+ add_option (_("General"),
+ new SpinOption<double> (
+ "automation-thinning-factor",
+ _("Thinning factor (larger value => less data)"),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::get_automation_thinning_factor),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::set_automation_thinning_factor),
+ 0, 1000, 1, 20
+ ));
+
+ add_option (_("General"),
+ new SpinOption<double> (
+ "automation-interval-msecs",
+ _("Automation sampling interval (milliseconds)"),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::get_automation_interval_msecs),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::set_automation_interval_msecs),
+ 1, 1000, 1, 20
+ ));
+
+ add_option (_("General"), new OptionEditorHeading (_("Tempo")));
+
+ bo = new BoolOption (
+ "allow-non-quarter-pulse",
+ _("Allow non quarter-note pulse"),
+ sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::get_allow_non_quarter_pulse),
+ sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_allow_non_quarter_pulse)
+ );
+ Gtkmm2ext::UI::instance()->set_tip (bo->tip_widget(),
+ string_compose (_("<b>When enabled</b> %1 will allow tempo to be expressed in divisions per minute\n"
+ "<b>When disabled</b> %1 will only allow tempo to be expressed in quarter notes per minute"),
+ PROGRAM_NAME));
+ add_option (_("General"), bo);
+
+ if (!ARDOUR::Profile->get_mixbus()) {
+ add_option (_("General"), new OptionEditorHeading (_("GUI Lock")));
+ /* Lock GUI timeout */
+
+ HSliderOption *slts = new HSliderOption("lock-gui-after-seconds",
+ _("Lock timeout (seconds)"),
+ sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::get_lock_gui_after_seconds),
+ sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_lock_gui_after_seconds),
+ 0, 1000, 1, 10
+ );
+ slts->scale().set_digits (0);
+ Gtkmm2ext::UI::instance()->set_tip (
+ slts->tip_widget(),
+ _("Lock GUI after this many idle seconds (zero to never lock)"));
+ add_option (_("General"), slts);
+ } // !mixbus
+
+ add_option (_("General/Session"), new OptionEditorHeading (S_("Options|Undo")));
+
+ add_option (_("General/Session"), new UndoOptions (_rc_config));
+
+ add_option (_("General/Session"),
new BoolOption (
"verify-remove-last-capture",
_("Verify removal of last capture"),
sigc::mem_fun (*_rc_config, &RCConfiguration::set_verify_remove_last_capture)
));
- add_option (_("General"), new OptionEditorHeading (_("Session Management")));
+ add_option (_("General/Session"), new OptionEditorHeading (_("Session Management")));
- add_option (_("General"),
+ add_option (_("General/Session"),
new BoolOption (
"periodic-safety-backups",
_("Make periodic backups of the session file"),
sigc::mem_fun (*_rc_config, &RCConfiguration::set_periodic_safety_backups)
));
- add_option (_("General"),
+ add_option (_("General/Session"),
new BoolOption (
"only-copy-imported-files",
_("Always copy imported files"),
sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_only_copy_imported_files)
));
- add_option (_("General"), new DirectoryOption (
+ add_option (_("General/Session"), new DirectoryOption (
X_("default-session-parent-dir"),
_("Default folder for new sessions:"),
sigc::mem_fun (*_rc_config, &RCConfiguration::get_default_session_parent_dir),
sigc::mem_fun (*_rc_config, &RCConfiguration::set_default_session_parent_dir)
));
- add_option (_("General"),
+ add_option (_("General/Session"),
new SpinOption<uint32_t> (
"max-recent-sessions",
_("Maximum number of recent sessions"),
0, 1000, 1, 20
));
- add_option (_("General"), new OptionEditorHeading (_("Automation")));
-
- add_option (_("General"),
- new SpinOption<double> (
- "automation-thinning-factor",
- _("Thinning factor (larger value => less data)"),
- sigc::mem_fun (*_rc_config, &RCConfiguration::get_automation_thinning_factor),
- sigc::mem_fun (*_rc_config, &RCConfiguration::set_automation_thinning_factor),
- 0, 1000, 1, 20
- ));
-
- add_option (_("General"),
- new SpinOption<double> (
- "automation-interval-msecs",
- _("Automation sampling interval (milliseconds)"),
- sigc::mem_fun (*_rc_config, &RCConfiguration::get_automation_interval_msecs),
- sigc::mem_fun (*_rc_config, &RCConfiguration::set_automation_interval_msecs),
- 1, 1000, 1, 20
- ));
-
- add_option (_("General"), new OptionEditorHeading (_("Tempo")));
-
- BoolOption* tsf;
-
- tsf = new BoolOption (
- "allow-non-quarter-pulse",
- _("Allow non quarter-note pulse"),
- sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::get_allow_non_quarter_pulse),
- sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_allow_non_quarter_pulse)
- );
- Gtkmm2ext::UI::instance()->set_tip (tsf->tip_widget(),
- string_compose (_("<b>When enabled</b> %1 will allow tempo to be expressed in divisions per minute\n"
- "<b>When disabled</b> %1 will only allow tempo to be expressed in quarter notes per minute"),
- PROGRAM_NAME));
- add_option (_("General"), tsf);
#ifdef ENABLE_NLS
bo = new BoolOption (
"name-new-markers",
- _("Prompt for a new marker name"),
+ _("Prompt for new marker names"),
sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::get_name_new_markers),
sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_name_new_markers)
);
add_option (_("Mixer"), pa);
- add_option (_("Mixer"), new OptionEditorHeading (_("Default track / bus muting options")));
+ add_option (_("Mixer"), new OptionEditorHeading (_("Default Track / Bus Muting Options")));
add_option (_("Mixer"),
new BoolOption (
add_option (_("Signal Flow"), mm);
- add_option (_("Signal Flow"),
- new BoolOption (
+ bo = new BoolOption (
"tape-machine-mode",
_("Tape machine mode"),
sigc::mem_fun (*_rc_config, &RCConfiguration::get_tape_machine_mode),
sigc::mem_fun (*_rc_config, &RCConfiguration::set_tape_machine_mode)
- ));
+ );
+ add_option (_("Signal Flow"), bo);
+ Gtkmm2ext::UI::instance()->set_tip (bo->tip_widget(),
+ string_compose (_("<b>When enabled</b> %1 will not monitor a track's input if the transport is stopped."),
+ PROGRAM_NAME));
if (!Profile->get_mixbus()) {
-1, 65536, 1, 10
));
- add_option (_("MIDI"), new OptionEditorHeading (_("Display")));
-
- add_option (_("MIDI"),
- new BoolOption (
- "display-first-midi-bank-as-zero",
- _("Display first MIDI bank/program as 0"),
- sigc::mem_fun (*_rc_config, &RCConfiguration::get_first_midi_bank_is_zero),
- sigc::mem_fun (*_rc_config, &RCConfiguration::set_first_midi_bank_is_zero)
- ));
-
- add_option (_("MIDI"),
- new BoolOption (
- "never-display-periodic-midi",
- _("Don't display periodic (MTC, MMC) SysEx messages in MIDI Regions"),
- sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::get_never_display_periodic_midi),
- sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_never_display_periodic_midi)
- ));
-
add_option (_("MIDI"), new OptionEditorHeading (_("Audition")));
add_option (_("MIDI"),
add_option (_("Transport"), new OptionEditorHeading (_("General")));
- tsf = new BoolOption (
+ bo = new BoolOption (
"stop-at-session-end",
_("Stop at the end of the session"),
sigc::mem_fun (*_rc_config, &RCConfiguration::get_stop_at_session_end),
sigc::mem_fun (*_rc_config, &RCConfiguration::set_stop_at_session_end)
);
- Gtkmm2ext::UI::instance()->set_tip (tsf->tip_widget(),
+ Gtkmm2ext::UI::instance()->set_tip (bo->tip_widget(),
string_compose (_("<b>When enabled</b> if %1 is <b>not recording</b>, it will stop the transport "
"when it reaches the current session end marker\n\n"
"<b>When disabled</b> %1 will continue to roll past the session end marker at all times"),
PROGRAM_NAME));
- add_option (_("Transport"), tsf);
+ add_option (_("Transport"), bo);
- tsf = new BoolOption (
+ bo = new BoolOption (
"latched-record-enable",
_("Keep record-enable engaged on stop"),
sigc::mem_fun (*_rc_config, &RCConfiguration::get_latched_record_enable),
sigc::mem_fun (*_rc_config, &RCConfiguration::set_latched_record_enable)
);
- add_option (_("Transport"), tsf);
+ add_option (_("Transport"), bo);
+ Gtkmm2ext::UI::instance()->set_tip (bo->tip_widget(),
+ _("<b>When enabled</b> master record will remain engaged when the transport transitions to stop.\n<b>When disabled</b> master record will be disabled when the transport transitions to stop."));
- tsf = new BoolOption (
+ bo = new BoolOption (
"disable-disarm-during-roll",
_("Disable per-track record disarm while rolling"),
sigc::mem_fun (*_rc_config, &RCConfiguration::get_disable_disarm_during_roll),
sigc::mem_fun (*_rc_config, &RCConfiguration::set_disable_disarm_during_roll)
);
- Gtkmm2ext::UI::instance()->set_tip (tsf->tip_widget(), _("<b>When enabled</b> this will prevent you from accidentally stopping specific tracks recording during a take"));
- add_option (_("Transport"), tsf);
+ Gtkmm2ext::UI::instance()->set_tip (bo->tip_widget(), _("<b>When enabled</b> this will prevent you from accidentally stopping specific tracks recording during a take."));
+ add_option (_("Transport"), bo);
- tsf = new BoolOption (
+ bo = new BoolOption (
"quieten_at_speed",
_("12dB gain reduction during fast-forward and fast-rewind"),
sigc::mem_fun (*_rc_config, &RCConfiguration::get_quieten_at_speed),
sigc::mem_fun (*_rc_config, &RCConfiguration::set_quieten_at_speed)
);
- Gtkmm2ext::UI::instance()->set_tip (tsf->tip_widget(),
+ Gtkmm2ext::UI::instance()->set_tip (bo->tip_widget(),
_("<b>When enabled</b> rhis will reduce the unpleasant increase in perceived volume "
"that occurs when fast-forwarding or rewinding through some kinds of audio"));
- add_option (_("Transport"), tsf);
+ add_option (_("Transport"), bo);
ComboOption<float>* psc = new ComboOption<float> (
"preroll-seconds",
sigc::mem_fun (*_rc_config, &RCConfiguration::set_preroll_seconds)
);
Gtkmm2ext::UI::instance()->set_tip (psc->tip_widget(),
- (_("The amount of preroll (in seconds) to apply when <b>Play with Preroll</b> is initiated.\n\n"
+ (_("The amount of preroll to apply when <b>Play with Preroll</b> or <b>Record with Preroll</b>is initiated.\n\n"
"If <b>Follow Edits</b> is enabled, the preroll is applied to the playhead position when a region is selected or trimmed.")));
+ psc->add (-4.0, _("4 Bars"));
+ psc->add (-2.0, _("2 Bars"));
+ psc->add (-1.0, _("1 Bar"));
psc->add (0.0, _("0 (no pre-roll)"));
psc->add (0.1, _("0.1 second"));
psc->add (0.25, _("0.25 second"));
add_option (_("Transport"), new OptionEditorHeading (_("Looping")));
- tsf = new BoolOption (
+ bo = new BoolOption (
"loop-is-mode",
_("Play loop is a transport mode"),
sigc::mem_fun (*_rc_config, &RCConfiguration::get_loop_is_mode),
sigc::mem_fun (*_rc_config, &RCConfiguration::set_loop_is_mode)
);
- Gtkmm2ext::UI::instance()->set_tip (tsf->tip_widget(),
+ Gtkmm2ext::UI::instance()->set_tip (bo->tip_widget(),
(_("<b>When enabled</b> the loop button does not start playback but forces playback to always play the loop\n\n"
"<b>When disabled</b> the loop button starts playing the loop, but stop then cancels loop playback")));
- add_option (_("Transport"), tsf);
+ add_option (_("Transport"), bo);
- tsf = new BoolOption (
+ bo = new BoolOption (
"seamless-loop",
_("Do seamless looping (not possible when slaved to MTC, LTC etc)"),
sigc::mem_fun (*_rc_config, &RCConfiguration::get_seamless_loop),
sigc::mem_fun (*_rc_config, &RCConfiguration::set_seamless_loop)
);
- Gtkmm2ext::UI::instance()->set_tip (tsf->tip_widget(),
+ Gtkmm2ext::UI::instance()->set_tip (bo->tip_widget(),
string_compose (_("<b>When enabled</b> this will loop by reading ahead and wrapping around at the loop point, "
"preventing any need to do a transport locate at the end of the loop\n\n"
"<b>When disabled</b> looping is done by locating back to the start of the loop when %1 reaches the end "
"which will often cause a small click or delay"), PROGRAM_NAME));
- add_option (_("Transport"), tsf);
+ add_option (_("Transport"), bo);
add_option (_("Transport"), new OptionEditorHeading (_("Dropout (xrun) Handling")));
- tsf = new BoolOption (
+ bo = new BoolOption (
"stop-recording-on-xrun",
_("Stop recording when an xrun occurs"),
sigc::mem_fun (*_rc_config, &RCConfiguration::get_stop_recording_on_xrun),
sigc::mem_fun (*_rc_config, &RCConfiguration::set_stop_recording_on_xrun)
);
- Gtkmm2ext::UI::instance()->set_tip (tsf->tip_widget(),
+ Gtkmm2ext::UI::instance()->set_tip (bo->tip_widget(),
string_compose (_("<b>When enabled</b> %1 will stop recording if an over- or underrun is detected by the audio engine"),
PROGRAM_NAME));
- add_option (_("Transport"), tsf);
+ add_option (_("Transport"), bo);
- tsf = new BoolOption (
+ bo = new BoolOption (
"create-xrun-marker",
_("Create markers where xruns occur"),
sigc::mem_fun (*_rc_config, &RCConfiguration::get_create_xrun_marker),
sigc::mem_fun (*_rc_config, &RCConfiguration::set_create_xrun_marker)
);
- add_option (_("Transport"), tsf);
+ add_option (_("Transport"), bo);
/* SYNC */
/* INTERFACE */
#if (defined OPTIONAL_CAIRO_IMAGE_SURFACE || defined CAIRO_SUPPORTS_FORCE_BUGGY_GRADIENTS_ENVIRONMENT_VARIABLE)
- add_option (S_("Preferences|GUI"), new OptionEditorHeading (_("Graphics Acceleration")));
+ add_option (_("Appearance"), new OptionEditorHeading (_("Graphics Acceleration")));
#endif
#ifdef OPTIONAL_CAIRO_IMAGE_SURFACE
Gtkmm2ext::UI::instance()->set_tip (bgc->tip_widget(), string_compose (
_("Render large parts of the application user-interface in software, instead of using 2D-graphics acceleration.\nThis requires restarting %1 before having an effect"), PROGRAM_NAME));
- add_option (S_("Preferences|GUI"), bgc);
+ add_option (_("Appearance"), bgc);
#endif
#ifdef CAIRO_SUPPORTS_FORCE_BUGGY_GRADIENTS_ENVIRONMENT_VARIABLE
);
Gtkmm2ext::UI::instance()->set_tip (bgo->tip_widget(), string_compose (_("Disables hardware gradient rendering on buggy video drivers (\"buggy gradients patch\").\nThis requires restarting %1 before having an effect"), PROGRAM_NAME));
- add_option (S_("Preferences|GUI"), bgo);
+ add_option (_("Appearance"), bgo);
#endif
- add_option (S_("Preferences|GUI"), new OptionEditorHeading (_("Graphical User Interface")));
+ add_option (_("Appearance"), new OptionEditorHeading (_("Graphical User Interface")));
- add_option (S_("Preferences|GUI"),
+ add_option (_("Appearance"),
new BoolOption (
"widget-prelight",
_("Highlight widgets on mouseover"),
sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_widget_prelight)
));
- add_option (S_("Preferences|GUI"),
+ add_option (_("Appearance"),
new BoolOption (
"use-tooltips",
_("Show tooltips if mouse hovers over a control"),
_("<b>When enabled</b> clock displays are updated every Timecode Frame (fps).\n\n"
"<b>When disabled</b> clock displays are updated only every 100ms."
));
- add_option (S_("Preferences|GUI"), bo);
+ add_option (_("Appearance"), bo);
- add_option (S_("Preferences|GUI"),
+ add_option (_("Appearance"),
new BoolOption (
"blink-rec-arm",
_("Blink Rec-Arm buttons"),
#ifndef __APPLE__
/* font scaling does nothing with GDK/Quartz */
- add_option (S_("Preferences|GUI"), new FontScalingOptions ());
+ add_option (_("Appearance"), new FontScalingOptions ());
#endif
-
- /* Image cache size */
-
- HSliderOption *sics = new HSliderOption ("waveform-cache-size",
- _("Waveform image cache size (megabytes)"),
- sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::get_waveform_cache_size),
- sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_waveform_cache_size),
- 1, 1024, 10 /* 1 MB to 1GB in steps of 10MB */
- );
- sics->scale().set_digits (0);
- Gtkmm2ext::UI::instance()->set_tip (
- sics->tip_widget(),
- _("Increasing the cache size uses more memory to store waveform images, which can improve graphical performance."));
- add_option (S_("Preferences|GUI"), sics);
-
- if (!ARDOUR::Profile->get_mixbus()) {
- /* Lock GUI timeout */
-
- HSliderOption *slts = new HSliderOption("lock-gui-after-seconds",
- _("Lock timeout (seconds)"),
- sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::get_lock_gui_after_seconds),
- sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_lock_gui_after_seconds),
- 0, 1000, 1, 10
- );
- slts->scale().set_digits (0);
- Gtkmm2ext::UI::instance()->set_tip (
- slts->tip_widget(),
- _("Lock GUI after this many idle seconds (zero to never lock)"));
- add_option (S_("Preferences|GUI"), slts);
- } // !mixbus
-
- add_option (_("GUI/Editor"), new OptionEditorHeading (_("General")));
- add_option (_("GUI/Editor"),
+ add_option (_("Appearance/Editor"), new OptionEditorHeading (_("General")));
+ add_option (_("Appearance/Editor"),
new BoolOption (
"show-name-highlight",
_("Use name highlight bars in region displays (requires a restart)"),
sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_show_name_highlight)
));
- add_option (_("GUI/Editor"),
+ add_option (_("Appearance/Editor"),
new BoolOption (
"color-regions-using-track-color",
_("Region color follows track color"),
sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_color_regions_using_track_color)
));
- add_option (_("GUI/Editor"), new OptionEditorHeading (_("Waveforms")));
+ add_option (_("Appearance/Editor"), new OptionEditorHeading (_("Waveforms")));
if (!Profile->get_mixbus()) {
- add_option (_("GUI/Editor"),
+ add_option (_("Appearance/Editor"),
new BoolOption (
"show-waveforms",
_("Show waveforms in regions"),
));
} // !mixbus
- add_option (_("GUI/Editor"),
+ add_option (_("Appearance/Editor"),
new BoolOption (
"show-waveforms-while-recording",
_("Show waveforms while recording"),
sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_show_waveforms_while_recording)
));
- add_option (_("GUI/Editor"),
+ add_option (_("Appearance/Editor"),
new BoolOption (
"show-waveform-clipping",
_("Show waveform clipping"),
sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_show_waveform_clipping)
));
- add_option (_("GUI/Editor"), new ClipLevelOptions ());
+ add_option (_("Appearance/Editor"), new ClipLevelOptions ());
ComboOption<WaveformScale>* wfs = new ComboOption<WaveformScale> (
"waveform-scale",
wfs->add (Linear, _("linear"));
wfs->add (Logarithmic, _("logarithmic"));
- add_option (_("GUI/Editor"), wfs);
+ add_option (_("Appearance/Editor"), wfs);
ComboOption<WaveformShape>* wfsh = new ComboOption<WaveformShape> (
"waveform-shape",
wfsh->add (Traditional, _("traditional"));
wfsh->add (Rectified, _("rectified"));
- add_option (_("GUI/Editor"), wfsh);
+ add_option (_("Appearance/Editor"), wfsh);
- add_option (_("GUI/Editor"), new OptionEditorHeading (_("Editor Meters")));
+ add_option (_("Appearance/Editor"), new OptionEditorHeading (_("Editor Meters")));
- add_option (_("GUI/Editor"),
+ add_option (_("Appearance/Editor"),
new BoolOption (
"show-track-meters",
_("Show meters in track headers"),
sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_show_track_meters)
));
- add_option (_("GUI/Editor"),
+ add_option (_("Appearance/Editor"),
new BoolOption (
"editor-stereo-only-meters",
_("Limit track header meters to stereo"),
sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_editor_stereo_only_meters)
));
- add_option (_("GUI/Editor"), new OptionEditorBlank ());
+ add_option (_("Appearance/Editor"), new OptionEditorHeading (_("MIDI Regions")));
+
+ add_option (_("Appearance/Editor"),
+ new BoolOption (
+ "display-first-midi-bank-as-zero",
+ _("Display first MIDI bank/program as 0"),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::get_first_midi_bank_is_zero),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::set_first_midi_bank_is_zero)
+ ));
+
+ add_option (_("Appearance/Editor"),
+ new BoolOption (
+ "never-display-periodic-midi",
+ _("Don't display periodic (MTC, MMC) SysEx messages in MIDI Regions"),
+ sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::get_never_display_periodic_midi),
+ sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_never_display_periodic_midi)
+ ));
+
+ add_option (_("Appearance/Editor"), new OptionEditorBlank ());
/* The names of these controls must be the same as those given in MixerStrip
for the actual widgets being controlled.
_mixer_strip_visibility.add (0, X_("Comments"), _("Comments"));
_mixer_strip_visibility.add (0, X_("VCA"), _("VCA Assigns"));
- add_option (_("GUI/Mixer"),
+ add_option (_("Appearance/Mixer"),
new VisibilityOption (
_("Mixer Strip"),
&_mixer_strip_visibility,
)
);
- add_option (_("GUI/Mixer"),
+ add_option (_("Appearance/Mixer"),
new BoolOption (
"default-narrow_ms",
- _("Use narrow strips in the mixer by default"),
+ _("Use narrow strips in the mixer for new strips by default"),
sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::get_default_narrow_ms),
sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_default_narrow_ms)
));
- add_option (_("GUI/Mixer"), new OptionEditorBlank ());
+ add_option (_("Appearance/Mixer"), new OptionEditorBlank ());
+
+ add_option (_("Appearance/Toolbar"), new OptionEditorHeading (_("Main Transport Toolbar Items")));
+
+ add_option (_("Appearance/Toolbar"),
+ new BoolOption (
+ "show-toolbar-recpunch",
+ _("Display Record/Punch Options"),
+ sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::get_show_toolbar_recpunch),
+ sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_show_toolbar_recpunch)
+ ));
- add_option (_("GUI/Toolbar"), new OptionEditorHeading (_("Main Transport Toolbar Items")));
+ add_option (_("Appearance/Toolbar"),
+ new BoolOption (
+ "show-toolbar-monitoring",
+ _("Display Monitor Options"),
+ sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::get_show_toolbar_monitoring),
+ sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_show_toolbar_monitoring)
+ ));
- add_option (_("GUI/Toolbar"),
+ add_option (_("Appearance/Toolbar"),
new BoolOption (
"show-toolbar-selclock",
_("Display Selection Clock"),
));
if (!ARDOUR::Profile->get_small_screen()) {
- add_option (_("GUI/Toolbar"),
+ add_option (_("Appearance/Toolbar"),
new BoolOption (
"show-secondary-clock",
_("Display Secondary Clock"),
));
}
- add_option (_("GUI/Toolbar"),
+ add_option (_("Appearance/Toolbar"),
new BoolOption (
"show-mini-timeline",
_("Display Navigation Timeline"),
sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_show_mini_timeline)
));
- add_option (_("GUI/Toolbar"),
+ add_option (_("Appearance/Toolbar"),
new BoolOption (
"show-editor-meter",
_("Display Master Level Meter"),
sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_show_editor_meter)
));
- add_option (_("GUI/Toolbar"),
+ add_option (_("Appearance/Toolbar"),
new ColumVisibilityOption (
"action-table-columns", _("Lua Action Script Button Visibility"), 4,
sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::get_action_table_columns),
sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_action_table_columns)
)
);
- add_option (_("GUI/Toolbar"), new OptionEditorBlank ());
+ add_option (_("Appearance/Toolbar"), new OptionEditorBlank ());
OptionEditorHeading* quirks_head = new OptionEditorHeading (_("Various Workarounds for Windowing Systems"));
- quirks_head->set_note (string_compose (_("These settings will only take effect after %1 is restarted."), PROGRAM_NAME));
+ quirks_head->set_note (string_compose (_("Rules for closing, minimizing, maximizing, and stay-on-top can vary\
+with each version of your OS, and the preferences that you've set in your OS.\n\n\
+You can adjust the options, below, to change how %1's windows and dialogs behave.\n\n\
+These settings will only take effect after %1 is restarted.\n\
+ "), PROGRAM_NAME));
/* and now the theme manager */
- add_option (_("GUI/Theme"), new OptionEditorHeading (_("Theme")));
+ add_option (_("Appearance/Theme"), new OptionEditorHeading (_("Theme")));
- add_option (_("GUI/Theme"), new BoolOption (
+ add_option (_("Appearance/Theme"), new BoolOption (
"flat-buttons",
_("Draw \"flat\" buttons"),
sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::get_flat_buttons),
sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_flat_buttons)
));
- add_option (_("GUI/Theme"), new BoolOption (
+ add_option (_("Appearance/Theme"), new BoolOption (
"meter-style-led",
_("LED meter style"),
sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::get_meter_style_led),
0, 1.0, 0.05
);
gui_hs->scale().set_update_policy (Gtk::UPDATE_DELAYED);
- add_option (_("GUI/Theme"), gui_hs);
+ add_option (_("Appearance/Theme"), gui_hs);
gui_hs = new HSliderOption(
"timeline-item-gradient-depth",
0, 1.0, 0.05
);
gui_hs->scale().set_update_policy (Gtk::UPDATE_DELAYED);
- add_option (_("GUI/Theme"), gui_hs);
+ add_option (_("Appearance/Theme"), gui_hs);
vector<string> icon_sets = ::get_icon_sets ();
if (icon_sets.size() > 1) {
for (vector<string>::const_iterator i = icon_sets.begin (); i != icon_sets.end (); ++i) {
io->add (*i, *i);
}
- add_option (_("GUI/Theme"), io);
+ add_option (_("Appearance/Theme"), io);
}
- add_option (_("GUI/Colors"), new OptionEditorHeading (_("Colors")));
- add_option (_("GUI/Colors"), new ColorThemeManager);
- add_option (_("GUI/Colors"), new OptionEditorBlank ());
+ add_option (_("Appearance/Colors"), new OptionEditorHeading (_("Colors")));
+ add_option (_("Appearance/Colors"), new ColorThemeManager);
+ add_option (_("Appearance/Colors"), new OptionEditorBlank ());
/* Quirks */
- add_option (_("GUI/Quirks"), quirks_head);
+ add_option (_("Appearance/Quirks"), quirks_head);
- add_option (_("GUI/Quirks"),
- new BoolOption (
+ bo = new BoolOption (
"use-wm-visibility",
- _("Use Window Manager/Desktop visibility information"),
+ _("Use visibility information provided by your Window Manager/Desktop"),
sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::get_use_wm_visibility),
sigc::mem_fun (UIConfiguration::instance(), &UIConfiguration::set_use_wm_visibility)
- ));
+ );
+ Gtkmm2ext::UI::instance()->set_tip (bo->tip_widget (),
+ _("If you have trouble toggling between hidden Editor and Mixer windows, try changing this setting."));
+ add_option (_("Appearance/Quirks"), bo);
#ifndef __APPLE__
bo = new BoolOption (
);
Gtkmm2ext::UI::instance()->set_tip (bo->tip_widget (),
_("Mark all floating windows to be type \"Dialog\" rather than using \"Utility\" for some.\nThis may help with some window managers."));
- add_option (_("GUI/Quirks"), bo);
+ add_option (_("Appearance/Quirks"), bo);
bo = new BoolOption (
"transients-follow-front",
);
Gtkmm2ext::UI::instance()->set_tip (bo->tip_widget (),
_("Make transient windows follow the front window when toggling between the editor and mixer."));
- add_option (_("GUI/Quirks"), bo);
+ add_option (_("Appearance/Quirks"), bo);
#endif
if (!Profile->get_mixbus()) {
);
Gtkmm2ext::UI::instance()->set_tip (bo->tip_widget (),
_("When detaching the monitoring section, mark it as \"Utility\" window to stay in front."));
- add_option (_("GUI/Quirks"), bo);
+ add_option (_("Appearance/Quirks"), bo);
}
- add_option (_("GUI/Quirks"), new OptionEditorBlank ());
+ add_option (_("Appearance/Quirks"), new OptionEditorBlank ());
/* VIDEO Timeline */
add_option (_("Video"), new OptionEditorHeading (_("Video Server")));
pd->hide();
if (r == RESPONSE_ACCEPT) {
_rc_config->set_plugin_path_lxvst(pd->get_serialized_paths());
+
+ MessageDialog msg (_("Re-scan Plugins now?"),
+ false /*no markup*/, Gtk::MESSAGE_QUESTION, Gtk::BUTTONS_YES_NO, true /*modal*/);
+ msg.set_default_response (Gtk::RESPONSE_YES);
+ if (msg.run() == Gtk::RESPONSE_YES) {
+ plugin_scan_refresh ();
+ }
}
delete pd;
}
pd->hide();
if (r == RESPONSE_ACCEPT) {
_rc_config->set_plugin_path_vst(pd->get_serialized_paths());
+ MessageDialog msg (_("Re-scan Plugins now?"),
+ false /*no markup*/, Gtk::MESSAGE_QUESTION, Gtk::BUTTONS_YES_NO, true /*modal*/);
+ msg.set_default_response (Gtk::RESPONSE_YES);
+ if (msg.run() == Gtk::RESPONSE_YES) {
+ plugin_scan_refresh ();
+ }
}
delete pd;
}
if (win && new_window) {
win->set_name ("PreferencesWindow");
ARDOUR_UI::instance()->setup_toplevel_window (*win, _("Preferences"), this);
+ win->resize (1, 1);
+ win->set_resizable (false);
}
return win;