summaryrefslogtreecommitdiff
path: root/gtk2_ardour/level_meter.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2013-12-22 09:25:33 +0100
committerRobin Gareus <robin@gareus.org>2013-12-22 09:25:33 +0100
commit0acafa4d3dbcd1fc198cc2dee0cd0b3bc8ed191f (patch)
tree0239fb3a0f7d920c89b87f32cd182dbd587f71b9 /gtk2_ardour/level_meter.cc
parent2065a2a2ac8b5042a7277790657de449c00b229d (diff)
add K12/RMS meter type
Diffstat (limited to 'gtk2_ardour/level_meter.cc')
-rw-r--r--gtk2_ardour/level_meter.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/gtk2_ardour/level_meter.cc b/gtk2_ardour/level_meter.cc
index bf9823518b..493a08baea 100644
--- a/gtk2_ardour/level_meter.cc
+++ b/gtk2_ardour/level_meter.cc
@@ -157,6 +157,8 @@ LevelMeterBase::update_meters ()
(*i).meter->set (meter_deflect_ppm (peak + meter_lineup(0)));
} else if (meter_type == MeterVU) {
(*i).meter->set (meter_deflect_vu (peak + vu_standard() + meter_lineup(0)));
+ } else if (meter_type == MeterK12) {
+ (*i).meter->set (meter_deflect_k (peak, 12), meter_deflect_k(_meter->meter_level(n, MeterPeak), 12));
} else if (meter_type == MeterK14) {
(*i).meter->set (meter_deflect_k (peak, 14), meter_deflect_k(_meter->meter_level(n, MeterPeak), 14));
} else if (meter_type == MeterK20) {
@@ -320,6 +322,17 @@ LevelMeterBase::setup_meters (int len, int initial_width, int thin_width)
c[6] = c[7] = 0xffff00ff;
c[8] = c[9] = 0xff0000ff;
break;
+ case MeterK12:
+ stp[0] = 115.0 * meter_deflect_k(-32, 12); //-20
+ stp[1] = 115.0 * meter_deflect_k(-12, 12); // 0
+ stp[2] = 115.0 * meter_deflect_k(-10, 12); // +2
+ stp[3] = 115.0 * meter_deflect_k( -8, 12); // +4
+ c[0] = c[1] = 0x008800ff;
+ c[2] = c[3] = 0x00ff00ff;
+ c[4] = c[5] = 0xffff00ff;
+ c[6] = c[7] = 0xffff00ff;
+ c[8] = c[9] = 0xff0000ff;
+ break;
case MeterIEC2BBC:
c[0] = c[1] = c[2] = c[3] = c[4] = c[5] = c[6] = c[7] = c[8] = c[9] =
ARDOUR_UI::config()->color_by_name ("meter color BBC");