From c456166dd163e12053c7cfd4554f695ab0d30b68 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 16 Jul 2013 19:36:57 +0200 Subject: zero meters for inactive tracks --- libs/ardour/audio_track.cc | 3 +++ libs/ardour/meter.cc | 4 ++++ libs/ardour/midi_track.cc | 3 +++ libs/ardour/track.cc | 3 +++ 4 files changed, 13 insertions(+) diff --git a/libs/ardour/audio_track.cc b/libs/ardour/audio_track.cc index ad2c3a96e1..4b33bbd4c6 100644 --- a/libs/ardour/audio_track.cc +++ b/libs/ardour/audio_track.cc @@ -325,6 +325,9 @@ AudioTrack::roll (pframes_t nframes, framepos_t start_frame, framepos_t end_fram if (!_active) { silence (nframes); + if (_meter_point == MeterInput && (_monitoring & MonitorInput || _diskstream->record_enabled())) { + _meter->reset(); + } return 0; } diff --git a/libs/ardour/meter.cc b/libs/ardour/meter.cc index f239a1c4b7..90f0977e4d 100644 --- a/libs/ardour/meter.cc +++ b/libs/ardour/meter.cc @@ -116,6 +116,10 @@ PeakMeter::reset () for (size_t i = 0; i < _peak_signal.size(); ++i) { _peak_signal[i] = 0.0f; } + + for (size_t n = 0; n < _kmeter.size(); ++n) { + _kmeter[n]->reset(); + } } void diff --git a/libs/ardour/midi_track.cc b/libs/ardour/midi_track.cc index 16a0e89077..c7768c7249 100644 --- a/libs/ardour/midi_track.cc +++ b/libs/ardour/midi_track.cc @@ -330,6 +330,9 @@ MidiTrack::roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame if (!_active) { silence (nframes); + if (_meter_point == MeterInput && (_monitoring & MonitorInput || _diskstream->record_enabled())) { + _meter->reset(); + } return 0; } diff --git a/libs/ardour/track.cc b/libs/ardour/track.cc index 1cf9887594..d2c9b1deb5 100644 --- a/libs/ardour/track.cc +++ b/libs/ardour/track.cc @@ -347,6 +347,9 @@ Track::no_roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame, if (!_active) { silence (nframes); + if (_meter_point == MeterInput && (_monitoring & MonitorInput || _diskstream->record_enabled())) { + _meter->reset(); + } return 0; } -- cgit v1.2.3