diff --git a/libs/ardour/audio_track.cc b/libs/ardour/audio_track.cc index 70f385a890..ad2c3a96e1 100644 --- a/libs/ardour/audio_track.cc +++ b/libs/ardour/audio_track.cc @@ -354,7 +354,7 @@ AudioTrack::roll (pframes_t nframes, framepos_t start_frame, framepos_t end_fram fill_buffers_with_input (bufs, _input, nframes); - if (_meter_point == MeterInput && (_monitoring & MonitorInput)) { + if (_meter_point == MeterInput && (_monitoring & MonitorInput || _diskstream->record_enabled())) { _meter->run (bufs, start_frame, end_frame, nframes, true); } diff --git a/libs/ardour/midi_track.cc b/libs/ardour/midi_track.cc index 23077bafc8..16a0e89077 100644 --- a/libs/ardour/midi_track.cc +++ b/libs/ardour/midi_track.cc @@ -354,7 +354,7 @@ MidiTrack::roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame fill_buffers_with_input (bufs, _input, nframes); - if (_meter_point == MeterInput && (_monitoring & MonitorInput)) { + if (_meter_point == MeterInput && (_monitoring & MonitorInput || _diskstream->record_enabled())) { _meter->run (bufs, start_frame, end_frame, nframes, true); } diff --git a/libs/ardour/track.cc b/libs/ardour/track.cc index b88cc0480a..1cf9887594 100644 --- a/libs/ardour/track.cc +++ b/libs/ardour/track.cc @@ -948,7 +948,7 @@ Track::metering_state () const bool rv; if (_session.transport_rolling ()) { // audio_track.cc || midi_track.cc roll() runs meter IFF: - rv = _meter_point == MeterInput && (_monitoring & MonitorInput); + rv = _meter_point == MeterInput && (_monitoring & MonitorInput || _diskstream->record_enabled()); } else { // track no_roll() always metering if rv = _meter_point == MeterInput;