summaryrefslogtreecommitdiff
path: root/libs/ardour/meter.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2013-07-05 10:44:09 +0200
committerRobin Gareus <robin@gareus.org>2013-07-05 10:44:09 +0200
commit398839f6e1471eb784a8267dfb5cf805b1fb33a4 (patch)
treefb4d723c733c76054b3ffe8fdbb778f9765d647d /libs/ardour/meter.cc
parentb28706852d9f6771ff37e794267c3e038055de08 (diff)
reset meters when changing metering-point or ports
Diffstat (limited to 'libs/ardour/meter.cc')
-rw-r--r--libs/ardour/meter.cc12
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 */
}