diff options
author | Robin Gareus <robin@gareus.org> | 2013-07-05 10:44:09 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2013-07-05 10:44:09 +0200 |
commit | 398839f6e1471eb784a8267dfb5cf805b1fb33a4 (patch) | |
tree | fb4d723c733c76054b3ffe8fdbb778f9765d647d /libs | |
parent | b28706852d9f6771ff37e794267c3e038055de08 (diff) |
reset meters when changing metering-point or ports
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ardour/meter.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libs/ardour/meter.cc b/libs/ardour/meter.cc index 38c5bb63de..4d096aae89 100644 --- a/libs/ardour/meter.cc +++ b/libs/ardour/meter.cc @@ -137,6 +137,18 @@ PeakMeter::reflect_inputs (const ChanCount& in) { current_meters = in; + const size_t limit = min (_peak_power.size(), (size_t) current_meters.n_total ()); + const size_t n_midi = min (_peak_power.size(), (size_t) current_meters.n_midi()); + + for (size_t n = 0; n < limit; ++n) { + if (n < n_midi) { + _visible_peak_power[n] = 0; + } else { + _visible_peak_power[n] = -INFINITY; + } + } + reset_max(); + ConfigurationChanged (in, in); /* EMIT SIGNAL */ } |