diff options
author | Robin Gareus <robin@gareus.org> | 2013-07-28 03:29:16 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2013-07-28 03:31:44 +0200 |
commit | 16339aa4464ddadbbaeb19cc16b8bb146d2ddc98 (patch) | |
tree | d59110c47abe89f43e471e14eb3e40d54d0d37cd /gtk2_ardour | |
parent | 92d2075d839990e2ec0a981eea0f6ebabe22aadf (diff) |
add dedicated line-up level for IEC1/DIN meter (15dbFS)
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/level_meter.cc | 10 | ||||
-rw-r--r-- | gtk2_ardour/rc_option_editor.cc | 17 |
2 files changed, 23 insertions, 4 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) { diff --git a/gtk2_ardour/rc_option_editor.cc b/gtk2_ardour/rc_option_editor.cc index f8f0272b36..17ca374f60 100644 --- a/gtk2_ardour/rc_option_editor.cc +++ b/gtk2_ardour/rc_option_editor.cc @@ -1938,10 +1938,25 @@ RCOptionEditor::RCOptionEditor () mlu->add (MeteringLineUp18, _("-18dBFS (EBU, BBC)")); mlu->add (MeteringLineUp15, _("-15dBFS (DIN)")); - Gtkmm2ext::UI::instance()->set_tip (mlu->tip_widget(), _("Configure meter-ticks and color-knee point for dBFS scale DPM, set reference/offset level for IEC PPM.")); + Gtkmm2ext::UI::instance()->set_tip (mlu->tip_widget(), _("Configure meter-marks and color-knee point for dBFS scale DPM, set reference level for IEC1/Nordic, IEC2 PPM and VU meter.")); add_option (S_("Preferences|GUI"), mlu); + ComboOption<MeterLineUp>* mld = new ComboOption<MeterLineUp> ( + "meter-line-up-din", + _("IEC1/DIN Meter line-up level; 0dBu"), + sigc::mem_fun (*_rc_config, &RCConfiguration::get_meter_line_up_din), + sigc::mem_fun (*_rc_config, &RCConfiguration::set_meter_line_up_din) + ); + + mld->add (MeteringLineUp24, _("-24dBFS (SMPTE US: 4dBu = -20dBFS)")); + mld->add (MeteringLineUp20, _("-20dBFS (SMPTE RP.0155)")); + mld->add (MeteringLineUp18, _("-18dBFS (EBU, BBC)")); + mld->add (MeteringLineUp15, _("-15dBFS (DIN)")); + + Gtkmm2ext::UI::instance()->set_tip (mld->tip_widget(), _("Reference level for IEC1/DIN meter.")); + + add_option (S_("Preferences|GUI"), mld); ComboOption<VUMeterStandard>* mvu = new ComboOption<VUMeterStandard> ( "meter-vu-standard", |