X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fardour_ui_options.cc;h=f2f7d397df257af797c3d1fcf46df764a1367823;hb=98f44aa20cef3c59506c2b15af92c6499d8b1c57;hp=94bcafbc162facec2637a77516d7b916ea57c69d;hpb=47a11efb125e7b7927aa1330341031a2a56e7a45;p=ardour.git diff --git a/gtk2_ardour/ardour_ui_options.cc b/gtk2_ardour/ardour_ui_options.cc index 94bcafbc16..f2f7d397df 100644 --- a/gtk2_ardour/ardour_ui_options.cc +++ b/gtk2_ardour/ardour_ui_options.cc @@ -26,10 +26,8 @@ #include -#include "ardour/configuration.h" -#include "ardour/session.h" -#include "ardour/audioengine.h" #include "ardour/rc_configuration.h" +#include "ardour/session.h" #ifdef HAVE_LIBLO #include "ardour/osc.h" @@ -40,6 +38,7 @@ #include "actions.h" #include "gui_thread.h" #include "public_editor.h" +#include "main_clock.h" #include "i18n.h" @@ -279,6 +278,7 @@ void ARDOUR_UI::toggle_editing_space() { Glib::RefPtr act = ActionManager::get_action ("Common", "ToggleMaximalEditor"); + if (act) { Glib::RefPtr tact = Glib::RefPtr::cast_dynamic(act); if (tact->get_active()) { @@ -292,7 +292,7 @@ ARDOUR_UI::toggle_editing_space() void ARDOUR_UI::setup_session_options () { - _session->config.ParameterChanged.connect (_session_connections, MISSING_INVALIDATOR, ui_bind (&ARDOUR_UI::parameter_changed, this, _1), gui_context()); + _session->config.ParameterChanged.connect (_session_connections, MISSING_INVALIDATOR, boost::bind (&ARDOUR_UI::parameter_changed, this, _1), gui_context()); boost::function pc (boost::bind (&ARDOUR_UI::parameter_changed, this, _1)); _session->config.map_parameters (pc); } @@ -317,6 +317,10 @@ ARDOUR_UI::parameter_changed (std::string p) ActionManager::get_action ("Transport", "ToggleAutoReturn")->set_sensitive (false); } + } else if (p == "always-play-range") { + + ActionManager::map_some_state ("Transport", "AlwaysPlayRange", &RCConfiguration::get_always_play_range); + } else if (p == "send-mtc") { ActionManager::map_some_state ("options", "SendMTC", &RCConfiguration::get_send_mtc); @@ -373,9 +377,25 @@ ARDOUR_UI::parameter_changed (std::string p) } else if (p == "show-track-meters") { editor->toggle_meter_updating(); } else if (p == "primary-clock-delta-edit-cursor") { - primary_clock->set_is_duration (Config->get_primary_clock_delta_edit_cursor()); + if (Config->get_primary_clock_delta_edit_cursor()) { + primary_clock->set_is_duration (true); + primary_clock->set_editable (false); + primary_clock->set_widget_name ("transport delta"); + } else { + primary_clock->set_is_duration (false); + primary_clock->set_editable (true); + primary_clock->set_widget_name ("transport"); + } } else if (p == "secondary-clock-delta-edit-cursor") { - secondary_clock->set_is_duration (Config->get_secondary_clock_delta_edit_cursor()); + if (Config->get_secondary_clock_delta_edit_cursor()) { + secondary_clock->set_is_duration (true); + secondary_clock->set_editable (false); + secondary_clock->set_widget_name ("secondary delta"); + } else { + secondary_clock->set_is_duration (false); + secondary_clock->set_editable (true); + secondary_clock->set_widget_name ("secondary"); + } } }