diff options
-rw-r--r-- | gtk2_ardour/ardour_ui.cc | 6 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui_options.cc | 3 | ||||
-rw-r--r-- | gtk2_ardour/rc_option_editor.cc | 8 | ||||
-rw-r--r-- | libs/ardour/ardour/rc_configuration_vars.h | 1 |
4 files changed, 17 insertions, 1 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index d7304be538..fc4e342fc9 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -2009,7 +2009,11 @@ ARDOUR_UI::update_clocks () void ARDOUR_UI::start_clocking () { - clock_signal_connection = RapidScreenUpdate.connect (sigc::mem_fun(*this, &ARDOUR_UI::update_clocks)); + if (Config->get_super_rapid_clock_update()) { + clock_signal_connection = SuperRapidScreenUpdate.connect (sigc::mem_fun(*this, &ARDOUR_UI::update_clocks)); + } else { + clock_signal_connection = RapidScreenUpdate.connect (sigc::mem_fun(*this, &ARDOUR_UI::update_clocks)); + } } void diff --git a/gtk2_ardour/ardour_ui_options.cc b/gtk2_ardour/ardour_ui_options.cc index ecb5766c16..0af27c6bf3 100644 --- a/gtk2_ardour/ardour_ui_options.cc +++ b/gtk2_ardour/ardour_ui_options.cc @@ -409,6 +409,9 @@ ARDOUR_UI::parameter_changed (std::string p) secondary_clock->set_editable (true); secondary_clock->set_widget_name ("secondary"); } + } else if (p == "super-rapid-clock-update") { + stop_clocking (); + start_clocking (); } } diff --git a/gtk2_ardour/rc_option_editor.cc b/gtk2_ardour/rc_option_editor.cc index b64c03f4ee..7d290ede2f 100644 --- a/gtk2_ardour/rc_option_editor.cc +++ b/gtk2_ardour/rc_option_editor.cc @@ -1741,6 +1741,14 @@ RCOptionEditor::RCOptionEditor () sigc::mem_fun (*_rc_config, &RCConfiguration::set_use_plugin_own_gui) )); + add_option (S_("GUI"), + new BoolOption ( + "super-rapid-clock-update", + _("update transport clock display every 40ms instead of every 100ms"), + sigc::mem_fun (*_rc_config, &RCConfiguration::get_super_rapid_clock_update), + sigc::mem_fun (*_rc_config, &RCConfiguration::set_super_rapid_clock_update) + )); + /* The names of these controls must be the same as those given in MixerStrip for the actual widgets being controlled. */ diff --git a/libs/ardour/ardour/rc_configuration_vars.h b/libs/ardour/ardour/rc_configuration_vars.h index da10352206..c153bfd34a 100644 --- a/libs/ardour/ardour/rc_configuration_vars.h +++ b/libs/ardour/ardour/rc_configuration_vars.h @@ -143,6 +143,7 @@ CONFIG_VARIABLE (bool, show_track_meters, "show-track-meters", true) CONFIG_VARIABLE (bool, locate_while_waiting_for_sync, "locate-while-waiting-for-sync", false) CONFIG_VARIABLE (bool, disable_disarm_during_roll, "disable-disarm-during-roll", false) CONFIG_VARIABLE (bool, always_play_range, "always-play-range", false) +CONFIG_VARIABLE (bool, super_rapid_clock_update, "super-rapid-clock-update", false) /* metering */ |