X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fardour_ui_options.cc;h=8e0066da0d738958b550e07227341113e62582c7;hb=5932b7903a7c43cc3b5cfd043e64d577e0125799;hp=232c41b0c71922cda8ca5b3cd04461142f32b21b;hpb=f9ed2ced4aa2f1f1164b3bc5567c31b442ba265c;p=ardour.git diff --git a/gtk2_ardour/ardour_ui_options.cc b/gtk2_ardour/ardour_ui_options.cc index 232c41b0c7..8e0066da0d 100644 --- a/gtk2_ardour/ardour_ui_options.cc +++ b/gtk2_ardour/ardour_ui_options.cc @@ -60,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.")); @@ -69,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)); } } @@ -311,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); @@ -439,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);