Move panner bypass state up to the PannerShell so that it is preserved even when...
[ardour.git] / gtk2_ardour / ardour_ui_options.cc
index aee08f13b57f9c3fc654ff0515a3d7cda189f637..2a84d70c0ed251024c9d72f99603321a3967e649 100644 (file)
@@ -35,6 +35,7 @@
 #include "ardour/osc.h"
 #endif
 
+#include "audio_clock.h"
 #include "ardour_ui.h"
 #include "actions.h"
 #include "gui_thread.h"
@@ -51,7 +52,7 @@ void
 ARDOUR_UI::toggle_keep_tearoffs ()
 {
        ActionManager::toggle_config_state ("Common", "KeepTearoffs", &RCConfiguration::set_keep_tearoffs, &RCConfiguration::get_keep_tearoffs);
+
        ARDOUR_UI::toggle_editing_space ();
 }
 
@@ -68,7 +69,7 @@ when the pull up/down setting is non-zero."));
                                return;
                        }
                }
-                                                                   
+
                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));
        }
 }
@@ -240,12 +241,12 @@ ARDOUR_UI::show_loop_punch_ruler_and_disallow_hide ()
        }
 
        act->set_sensitive (false);
-       
+
        Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act);
        if (!tact) {
                return;
        }
-       
+
        if (!tact->get_active()) {
                tact->set_active ();
        }
@@ -296,27 +297,6 @@ ARDOUR_UI::setup_session_options ()
        _session->config.map_parameters (pc);
 }
 
-#if 0
-void
-ARDOUR_UI::handle_sync_change ()
-{
-       if (!_session) {
-               return;
-       }
-       if (!_session->config.get_external_sync()) {
-               sync_button.set_label (_("Internal"));
-               ActionManager::get_action ("Transport", "ToggleAutoPlay")->set_sensitive (true);
-               ActionManager::get_action ("Transport", "ToggleAutoReturn")->set_sensitive (true);
-       } else {
-               sync_button.set_label (_("External"));
-               /* 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);
-       }
-
-}
-#endif
-
 void
 ARDOUR_UI::parameter_changed (std::string p)
 {
@@ -336,7 +316,7 @@ ARDOUR_UI::parameter_changed (std::string p)
                        ActionManager::get_action ("Transport", "ToggleAutoPlay")->set_sensitive (false);
                        ActionManager::get_action ("Transport", "ToggleAutoReturn")->set_sensitive (false);
                }
-       
+
        } else if (p == "send-mtc") {
 
                ActionManager::map_some_state ("options", "SendMTC", &RCConfiguration::get_send_mtc);
@@ -383,35 +363,6 @@ ARDOUR_UI::parameter_changed (std::string p)
                ActionManager::map_some_state ("Transport",  "ToggleTimeMaster", sigc::mem_fun (_session->config, &SessionConfiguration::get_jack_time_master));
        } else if (p == "use-video-sync") {
                ActionManager::map_some_state ("Transport",  "ToggleVideoSync", sigc::mem_fun (_session->config, &SessionConfiguration::get_use_video_sync));
-       } else if (p == "shuttle-behaviour") {
-
-               switch (Config->get_shuttle_behaviour ()) {
-               case Sprung:
-                       shuttle_style_button.set_active_text (_("sprung"));
-                       shuttle_fract = 0.0;
-                       shuttle_box.queue_draw ();
-                       if (_session) {
-                               if (_session->transport_rolling()) {
-                                       shuttle_fract = SHUTTLE_FRACT_SPEED1;
-                                       _session->request_transport_speed (1.0);
-                               }
-                       }
-                       break;
-               case Wheel:
-                       shuttle_style_button.set_active_text (_("wheel"));
-                       break;
-               }
-
-       } else if (p == "shuttle-units") {
-
-               switch (Config->get_shuttle_units()) {
-               case Percentage:
-                       shuttle_units_button.set_label("% ");
-                       break;
-               case Semitones:
-                       shuttle_units_button.set_label(_("ST"));
-                       break;
-               }
        } else if (p == "video-pullup" || p == "timecode-format") {
 
                synchronize_sync_source_and_video_pullup ();
@@ -424,9 +375,17 @@ 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());
+               primary_clock->set_is_duration (Config->get_primary_clock_delta_edit_cursor());
        } else if (p == "secondary-clock-delta-edit-cursor") {
-               secondary_clock.set_is_duration (Config->get_secondary_clock_delta_edit_cursor());
+               secondary_clock->set_is_duration (Config->get_secondary_clock_delta_edit_cursor());
+       }
+}
+
+void
+ARDOUR_UI::session_parameter_changed (std::string p)
+{
+       if (p == "native-file-data-format" || p == "native-file-header-format") {
+               update_format ();
        }
 }
 
@@ -436,11 +395,11 @@ ARDOUR_UI::reset_main_clocks ()
        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);
+               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);
+               primary_clock->set (0, true);
+               secondary_clock->set (0, true);
        }
 }