diff options
author | Jesse Chappell <jesse@essej.net> | 2007-01-03 20:49:03 +0000 |
---|---|---|
committer | Jesse Chappell <jesse@essej.net> | 2007-01-03 20:49:03 +0000 |
commit | 239a5db49701e977db96854cdcef96646b4d8c4f (patch) | |
tree | b669fa074f81966f4bc3d36276d2436d345ba98e /gtk2_ardour/gain_meter.cc | |
parent | ebbc8b3b6a6d77f705698aff36455c61ee07bb66 (diff) |
* added max peak hold state to IO so that the true held peaks can be displayed
in the numeric field in the gui.
* returned meter falloff to proper slower speeds
git-svn-id: svn://localhost/ardour2/trunk@1265 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/gain_meter.cc')
-rw-r--r-- | gtk2_ardour/gain_meter.cc | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc index 9c222b62c8..06b1195a18 100644 --- a/gtk2_ardour/gain_meter.cc +++ b/gtk2_ardour/gain_meter.cc @@ -312,7 +312,7 @@ GainMeter::update_meters () { vector<MeterInfo>::iterator i; uint32_t n; - float peak; + float peak, mpeak; char buf[32]; for (n = 0, i = meters.begin(); i != meters.end(); ++i, ++n) { @@ -320,9 +320,11 @@ GainMeter::update_meters () peak = _io->peak_input_power (n); (*i).meter->set (log_meter (peak), peak); - - if (peak > max_peak) { - max_peak = peak; + + mpeak = _io->max_peak_power(n); + + if (mpeak > max_peak) { + max_peak = mpeak; /* set peak display */ if (max_peak <= -200.0f) { peak_display.set_text (_("-inf")); @@ -478,7 +480,12 @@ GainMeter::peak_button_release (GdkEventButton* ev) void GainMeter::reset_peak_display () { - max_peak = minus_infinity(); + Route * r; + if ((r = dynamic_cast<Route*> (_io.get())) != 0) { + r->reset_max_peak_meters(); + } + + max_peak = -INFINITY; peak_display.set_text (_("-Inf")); peak_display.set_name ("MixerStripPeakDisplay"); } |