update track-header width when track-number visibility is toggled
[ardour.git] / gtk2_ardour / ardour_ui_options.cc
index e1435f7a8dae4dc65e479a11ebe6d9237b123bf2..a8be3ccd0cfb63b56c7579840fc38651344370e3 100644 (file)
@@ -326,9 +326,9 @@ ARDOUR_UI::parameter_changed (std::string p)
                        ActionManager::get_action ("Transport", "ToggleFollowEdits")->set_sensitive (false);
                }
 
-       } else if (p == "always-play-range") {
+       } else if (p == "follow-edits") {
 
-               ActionManager::map_some_state ("Transport", "ToggleFollowEdits", &RCConfiguration::get_always_play_range);
+               ActionManager::map_some_state ("Transport", "ToggleFollowEdits", &RCConfiguration::get_follow_edits);
 
        } else if (p == "send-mtc") {
 
@@ -364,15 +364,10 @@ ARDOUR_UI::parameter_changed (std::string p)
                ActionManager::map_some_state ("Transport", "ToggleClick", &RCConfiguration::get_clicking);
        } 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 == "video-pullup" || p == "timecode-format") {
-
-               synchronize_sync_source_and_video_pullup ();
-               reset_main_clocks ();
-               editor->queue_visual_videotimeline_update();
-
        } else if (p == "sync-source") {
 
                synchronize_sync_source_and_video_pullup ();
+               set_fps_timeout_connection ();
 
        } else if (p == "show-track-meters") {
                editor->toggle_meter_updating();
@@ -417,6 +412,13 @@ ARDOUR_UI::parameter_changed (std::string p)
                                editor_meter_peak_display.show();
                        } 
                }
+       } else if (p == "waveform-scale") {
+               ArdourCanvas::WaveView::set_global_logscaled (Config->get_waveform_scale() == Logarithmic);
+       } else if (p == "waveform-shape") {
+               ArdourCanvas::WaveView::set_global_shape (Config->get_waveform_shape() == Rectified
+                               ? ArdourCanvas::WaveView::Rectified : ArdourCanvas::WaveView::Normal);
+       } else if (p == "show-waveform-clipping") {
+               ArdourCanvas::WaveView::set_global_show_waveform_clipping (ARDOUR_UI::config()->get_show_waveform_clipping());
        }
 }
 
@@ -425,6 +427,21 @@ ARDOUR_UI::session_parameter_changed (std::string p)
 {
        if (p == "native-file-data-format" || p == "native-file-header-format") {
                update_format ();
+       } else if (p == "timecode-format") {
+               set_fps_timeout_connection ();
+       } else if (p == "video-pullup" || p == "timecode-format") {
+               set_fps_timeout_connection ();
+
+               synchronize_sync_source_and_video_pullup ();
+               reset_main_clocks ();
+               editor->queue_visual_videotimeline_update();
+       } else if (p == "track-name-number") {
+               /* DisplaySuspender triggers _route->redisplay() when going out of scope
+                * which eventually calls reset_controls_layout_width() and re-sets the
+                * track-header width.
+                * see also RouteTimeAxisView::update_track_number_visibility()
+                */
+               DisplaySuspender ds;
        }
 }