+ ENSURE_GUI_THREAD (*this, &ARDOUR_UI::reset_main_clocks)
+
+ if (_session) {
+ primary_clock->set (_session->audible_frame(), true);
+ secondary_clock->set (_session->audible_frame(), true);
+ } else {
+ primary_clock->set (0, true);
+ secondary_clock->set (0, true);
+ }
+}
+
+void
+ARDOUR_UI::synchronize_sync_source_and_video_pullup ()
+{
+ Glib::RefPtr<Action> act = ActionManager::get_action (X_("Transport"), X_("ToggleExternalSync"));
+
+ if (!act) {
+ return;
+ }
+
+ if (!_session) {
+ goto just_label;
+ }
+
+ if (_session->config.get_video_pullup() == 0.0f) {
+ /* with no video pull up/down, any sync source is OK */
+ act->set_sensitive (true);
+ } else {
+ /* can't sync to JACK if video pullup != 0.0 */
+ if (_session->config.get_sync_source() == JACK) {
+ act->set_sensitive (false);
+ } else {
+ act->set_sensitive (true);
+ }
+ }
+
+ /* XXX should really be able to set the video pull up
+ action to insensitive/sensitive, but there is no action.
+ FIXME
+ */