summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2013-07-16 16:04:41 +0200
committerRobin Gareus <robin@gareus.org>2013-07-16 16:04:41 +0200
commite9289a19c8101ea584167d468748d2499664bc03 (patch)
tree4c6448112c57bbebd58d18c7d31385bd314f625e /libs
parent9a25fcbfe13f56665beb93a7f248f7ba8eeaa580 (diff)
fix "monitor mode 11"
see http://www.oofus.co.uk/ardour/Ardour3MonitorModesV2.pdf the overall logic can probably be simplified somewhat track-rec-enable on -> always monitor input
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/audio_track.cc2
-rw-r--r--libs/ardour/midi_track.cc2
-rw-r--r--libs/ardour/track.cc2
3 files changed, 3 insertions, 3 deletions
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;