X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fardour_ui_options.cc;h=8e0066da0d738958b550e07227341113e62582c7;hb=5932b7903a7c43cc3b5cfd043e64d577e0125799;hp=19e7106378aacad447a43df3f21c188326eacffe;hpb=6fa6514cfdb0ce38d93b51197f599dfd091bad1d;p=ardour.git diff --git a/gtk2_ardour/ardour_ui_options.cc b/gtk2_ardour/ardour_ui_options.cc index 19e7106378..8e0066da0d 100644 --- a/gtk2_ardour/ardour_ui_options.cc +++ b/gtk2_ardour/ardour_ui_options.cc @@ -38,6 +38,7 @@ #include "actions.h" #include "gui_thread.h" #include "public_editor.h" +#include "main_clock.h" #include "i18n.h" @@ -51,7 +52,7 @@ ARDOUR_UI::toggle_keep_tearoffs () { ActionManager::toggle_config_state ("Common", "KeepTearoffs", &RCConfiguration::set_keep_tearoffs, &RCConfiguration::get_keep_tearoffs); - ARDOUR_UI::toggle_editing_space (); + ARDOUR_UI::update_tearoff_visibility(); } void @@ -59,7 +60,7 @@ ARDOUR_UI::toggle_external_sync() { if (_session) { if (_session->config.get_video_pullup() != 0.0f) { - if (_session->config.get_sync_source() == JACK) { + if (Config->get_sync_source() == JACK) { MessageDialog msg ( _("It is not possible to use JACK as the the sync source\n\ when the pull up/down setting is non-zero.")); @@ -68,6 +69,17 @@ when the pull up/down setting is non-zero.")); } } + /* activating a slave is a session-property. + * The slave type is a RC property. + * When the slave is active is must not be reconfigured. + * This is a UI limitation, imposed by audio-clock and + * status displays which combine RC-config & session-properties. + * + * Notficy RCOptionEditor by emitting a signal if the active + * status changed: + */ + Config->ParameterChanged("sync-source"); + ActionManager::toggle_config_state_foo ("Transport", "ToggleExternalSync", sigc::mem_fun (_session->config, &SessionConfiguration::set_external_sync), sigc::mem_fun (_session->config, &SessionConfiguration::get_external_sync)); } } @@ -310,7 +322,7 @@ ARDOUR_UI::parameter_changed (std::string p) ActionManager::get_action ("Transport", "ToggleAutoPlay")->set_sensitive (true); ActionManager::get_action ("Transport", "ToggleAutoReturn")->set_sensitive (true); } else { - sync_button.set_text (sync_source_to_string (_session->config.get_sync_source(), true)); + sync_button.set_text (sync_source_to_string (Config->get_sync_source(), true)); /* XXX need to make auto-play is off as well as insensitive */ ActionManager::get_action ("Transport", "ToggleAutoPlay")->set_sensitive (false); ActionManager::get_action ("Transport", "ToggleAutoReturn")->set_sensitive (false); @@ -438,7 +450,7 @@ ARDOUR_UI::synchronize_sync_source_and_video_pullup () act->set_sensitive (true); } else { /* can't sync to JACK if video pullup != 0.0 */ - if (_session->config.get_sync_source() == JACK) { + if (Config->get_sync_source() == JACK) { act->set_sensitive (false); } else { act->set_sensitive (true);