make LED meter style optional
authorRobin Gareus <robin@gareus.org>
Sun, 28 Jul 2013 01:01:37 +0000 (03:01 +0200)
committerRobin Gareus <robin@gareus.org>
Sun, 28 Jul 2013 01:31:39 +0000 (03:31 +0200)
gtk2_ardour/level_meter.cc
gtk2_ardour/rc_option_editor.cc
libs/ardour/ardour/rc_configuration_vars.h

index 433f028aeea3d4b6d10e3ca5fbcb84719285885d..3c8527bede3e4db95d6d1d5e2c5ec8b18295652d 100644 (file)
@@ -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<MeterInfo>::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)
index 17da6ad7447e26b6a9e015561f038a9523f2f2e1..f8f0272b366a0e7330b1998e3ab81999d00b91d3 100644 (file)
@@ -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
index 6c351faf255fe1499c43a96d80672447690d4bc8..3dd84d288561db7ee0c16fb33080d46dbe24977a 100644 (file)
@@ -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 */