fix input metering:
[ardour.git] / libs / ardour / track.cc
index 6d153e1cbf1068897c1cf74eecbadc817077dc98..b88cc0480ad02ab3e8f8eb5c74427492bd4f9673 100644 (file)
@@ -945,6 +945,14 @@ Track::set_monitoring (MonitorChoice mc)
 MeterState
 Track::metering_state () const
 {
-       return (_diskstream->record_enabled() || _meter_point == MeterInput) ? MeteringInput : MeteringRoute;
+       bool rv;
+       if (_session.transport_rolling ()) {
+               // audio_track.cc || midi_track.cc roll() runs meter IFF:
+               rv = _meter_point == MeterInput && (_monitoring & MonitorInput);
+       } else {
+               // track no_roll() always metering if
+               rv = _meter_point == MeterInput;
+       }
+       return rv ? MeteringInput : MeteringRoute;
 }