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
committerPaul Davis <paul@linuxaudiosystems.com>2013-08-08 15:26:01 -0400
commitff9296e17ce3a5c7ef7d27c8feecefbeeb46a60c (patch)
treeed9b923628b890dcffc1edf185fa9eafd4be9920 /gtk2_ardour/level_meter.cc
parentd4c864d80328c1f4dcd6127b29cc8b837a11bacf (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 951c9c658d..9c32fd68fc 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) {