X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fardour_ui_options.cc;h=365810df75f0c3b3fc48d337958bdbddfb4bb995;hb=ecb92f474f8f39e04f2aee02dabab7fa03af6c19;hp=618169d2e8578af170fc51a09daa32815188127a;hpb=eb3cc04eff05d8bc3024ce5ae3e4a5e84fd7aeb2;p=ardour.git diff --git a/gtk2_ardour/ardour_ui_options.cc b/gtk2_ardour/ardour_ui_options.cc index 618169d2e8..365810df75 100644 --- a/gtk2_ardour/ardour_ui_options.cc +++ b/gtk2_ardour/ardour_ui_options.cc @@ -29,9 +29,7 @@ #include "ardour/rc_configuration.h" #include "ardour/session.h" -#ifdef HAVE_LIBLO -#include "ardour/osc.h" -#endif +#include "canvas/wave_view.h" #include "audio_clock.h" #include "ardour_ui.h" @@ -311,8 +309,6 @@ ARDOUR_UI::setup_session_options () void ARDOUR_UI::parameter_changed (std::string p) { - ENSURE_GUI_THREAD (*this, &ARDOUR_UI::parameter_changed, p) - if (p == "external-sync") { ActionManager::map_some_state ("Transport", "ToggleExternalSync", sigc::mem_fun (_session->config, &SessionConfiguration::get_external_sync)); @@ -342,16 +338,6 @@ ARDOUR_UI::parameter_changed (std::string p) ActionManager::map_some_state ("options", "SendMMC", &RCConfiguration::get_send_mmc); - } else if (p == "use-osc") { - -#ifdef HAVE_LIBLO - if (Config->get_use_osc()) { - osc->start (); - } else { - osc->stop (); - } -#endif - } else if (p == "keep-tearoffs") { ActionManager::map_some_state ("Common", "KeepTearoffs", &RCConfiguration::get_keep_tearoffs); } else if (p == "mmc-control") { @@ -413,15 +399,31 @@ ARDOUR_UI::parameter_changed (std::string p) } else if (p == "super-rapid-clock-update") { stop_clocking (); start_clocking (); + } else if (p == "waveform-gradient-depth") { + ArdourCanvas::WaveView::set_global_gradient_depth (config()->get_waveform_gradient_depth()); } else if (p == "show-editor-meter") { bool show = Config->get_show_editor_meter(); - if (editor_meter && show) { - meter_box.show(); - editor_meter_peak_display.show(); - } else if (editor_meter && !show) { - meter_box.hide(); - editor_meter_peak_display.hide(); + + if (editor_meter) { + if (meter_box.get_parent()) { + transport_tearoff_hbox.remove (meter_box); + transport_tearoff_hbox.remove (editor_meter_peak_display); + } + + if (show) { + transport_tearoff_hbox.pack_start (meter_box, false, false); + transport_tearoff_hbox.pack_start (editor_meter_peak_display, false, false); + meter_box.show(); + 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()); } }