diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc index 9d0228dba6..60b4854600 100644 --- a/gtk2_ardour/gain_meter.cc +++ b/gtk2_ardour/gain_meter.cc @@ -326,23 +326,27 @@ GainMeter::update_meters () char buf[32]; for (n = 0, i = meters.begin(); i != meters.end(); ++i, ++n) { - if ((*i).packed) { - peak = _io.peak_input_power (n); + if ((*i).packed) { + peak = _io.peak_input_power (n); (*i).meter->set (log_meter (peak), peak); - - if (peak > max_peak) { - max_peak = peak; - /* set peak display */ - snprintf (buf, sizeof(buf), "%.1f", max_peak); - peak_display_label.set_text (buf); + + if (peak > max_peak) { + max_peak = peak; + /* set peak display */ + if (max_peak <= -200.0f) { + peak_display_label.set_text (_("-inf")); + } else { + snprintf (buf, sizeof(buf), "%.1f", max_peak); + peak_display_label.set_text (buf); + } - if (max_peak >= 0.0f) { - peak_display.set_name ("MixerStripPeakDisplayPeak"); - } - } - } - } + if (max_peak >= 0.0f) { + peak_display.set_name ("MixerStripPeakDisplayPeak"); + } + } + } + } } void diff --git a/libs/ardour/io.cc b/libs/ardour/io.cc index fa30463bd4..9f4c3cd9e3 100644 --- a/libs/ardour/io.cc +++ b/libs/ardour/io.cc @@ -2493,7 +2493,7 @@ IO::meter () } else { // do falloff new_peak = _visible_peak_power[n] - _session.meter_falloff(); - _visible_peak_power[n] = max (new_peak, -200.0f); + _visible_peak_power[n] = max (new_peak, -INFINITY); } } }