summaryrefslogtreecommitdiff
path: root/gtk2_ardour/level_meter.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2013-07-28 03:29:16 +0200
committerRobin Gareus <robin@gareus.org>2013-07-28 03:31:44 +0200
commit16339aa4464ddadbbaeb19cc16b8bb146d2ddc98 (patch)
treed59110c47abe89f43e471e14eb3e40d54d0d37cd /gtk2_ardour/level_meter.cc
parent92d2075d839990e2ec0a981eea0f6ebabe22aadf (diff)
add dedicated line-up level for IEC1/DIN meter (15dbFS)
Diffstat (limited to 'gtk2_ardour/level_meter.cc')
-rw-r--r--gtk2_ardour/level_meter.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/gtk2_ardour/level_meter.cc b/gtk2_ardour/level_meter.cc
index 3c8527bede..55b9001261 100644
--- a/gtk2_ardour/level_meter.cc
+++ b/gtk2_ardour/level_meter.cc
@@ -85,8 +85,8 @@ LevelMeterBase::set_meter (PeakMeter* meter)
}
}
-static float meter_lineup(float offset) {
- switch (Config->get_meter_line_up_level()) {
+static float meter_lineup_cfg(MeterLineUp lul, float offset) {
+ switch (lul) {
case MeteringLineUp24:
return offset + 6.0;
case MeteringLineUp20:
@@ -101,6 +101,10 @@ static float meter_lineup(float offset) {
return offset;
}
+static float meter_lineup(float offset) {
+ return meter_lineup_cfg(Config->get_meter_line_up_level(), offset);
+}
+
static float vu_standard() {
// note - default meter config is +2dB (france)
switch (Config->get_meter_vu_standard()) {
@@ -148,7 +152,7 @@ LevelMeterBase::update_meters ()
} else if (meter_type == MeterIEC1NOR) {
(*i).meter->set (meter_deflect_nordic (peak + meter_lineup(0)));
} else if (meter_type == MeterIEC1DIN) {
- (*i).meter->set (meter_deflect_din (peak + meter_lineup(3.0)));
+ (*i).meter->set (meter_deflect_din (peak + meter_lineup_cfg(Config->get_meter_line_up_din(), 3.0)));
} else if (meter_type == MeterIEC2BBC || meter_type == MeterIEC2EBU) {
(*i).meter->set (meter_deflect_ppm (peak + meter_lineup(0)));
} else if (meter_type == MeterVU) {