#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"
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));
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") {
} 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());
}
}