From 92d2075d839990e2ec0a981eea0f6ebabe22aadf Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sun, 28 Jul 2013 03:01:37 +0200 Subject: [PATCH] make LED meter style optional --- gtk2_ardour/level_meter.cc | 7 +++++-- gtk2_ardour/rc_option_editor.cc | 9 +++++++++ libs/ardour/ardour/rc_configuration_vars.h | 1 + 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/gtk2_ardour/level_meter.cc b/gtk2_ardour/level_meter.cc index 433f028aee..3c8527bede 100644 --- a/gtk2_ardour/level_meter.cc +++ b/gtk2_ardour/level_meter.cc @@ -183,6 +183,10 @@ LevelMeterBase::parameter_changed (string p) color_changed = true; setup_meters (meter_length, regular_meter_width, thin_meter_width); } + else if (p == "meter-style-led") { + color_changed = true; + setup_meters (meter_length, regular_meter_width, thin_meter_width); + } else if (p == "meter-peak") { vector::iterator i; uint32_t n; @@ -257,7 +261,7 @@ LevelMeterBase::setup_meters (int len, int initial_width, int thin_width) uint32_t c[10]; uint32_t b[4]; float stp[4]; - int styleflags = 3; + int styleflags = Config->get_meter_style_led() ? 3 : 1; b[0] = ARDOUR_UI::config()->canvasvar_MeterBackgroundBot.get(); b[1] = ARDOUR_UI::config()->canvasvar_MeterBackgroundTop.get(); b[2] = 0x991122ff; // red highlight gradient Bot @@ -348,7 +352,6 @@ LevelMeterBase::setup_meters (int len, int initial_width, int thin_width) stp[3] = 115.0 * meter_deflect_vu(-18); // +2 c[0] = c[1] = c[2] = c[3] = c[4] = c[5] = 0x00aa00ff; c[6] = c[7] = c[8] = c[9] = 0xff8800ff; - styleflags = 1; break; default: // PEAK, RMS stp[1] = 77.5; // 115 * log_meter(-10) diff --git a/gtk2_ardour/rc_option_editor.cc b/gtk2_ardour/rc_option_editor.cc index 17da6ad744..f8f0272b36 100644 --- a/gtk2_ardour/rc_option_editor.cc +++ b/gtk2_ardour/rc_option_editor.cc @@ -1970,6 +1970,15 @@ RCOptionEditor::RCOptionEditor () _("Specify the audio signal level in dbFS at and above which the meter-peak indicator will flash red.")); add_option (S_("Preferences|GUI"), mpks); + + add_option (S_("Preferences|GUI"), + new BoolOption ( + "meter-style-led", + _("LED meter style"), + sigc::mem_fun (*_rc_config, &RCConfiguration::get_meter_style_led), + sigc::mem_fun (*_rc_config, &RCConfiguration::set_meter_style_led) + )); + } void diff --git a/libs/ardour/ardour/rc_configuration_vars.h b/libs/ardour/ardour/rc_configuration_vars.h index 6c351faf25..3dd84d2885 100644 --- a/libs/ardour/ardour/rc_configuration_vars.h +++ b/libs/ardour/ardour/rc_configuration_vars.h @@ -152,6 +152,7 @@ CONFIG_VARIABLE (float, meter_falloff, "meter-falloff", 32.0f) CONFIG_VARIABLE (VUMeterStandard, meter_vu_standard, "meter-vu-standard", MeteringVUstandard) CONFIG_VARIABLE (MeterLineUp, meter_line_up_level, "meter-line-up-level", MeteringLineUp18) CONFIG_VARIABLE (float, meter_peak, "meter-peak", 0.0f) +CONFIG_VARIABLE (bool, meter_style_led, "meter-style-led", true) /* miscellany */ -- 2.30.2