diff options
Diffstat (limited to 'libs/ardour/audio_track.cc')
-rw-r--r-- | libs/ardour/audio_track.cc | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/libs/ardour/audio_track.cc b/libs/ardour/audio_track.cc index 14870cb72d..b22b28d277 100644 --- a/libs/ardour/audio_track.cc +++ b/libs/ardour/audio_track.cc @@ -403,12 +403,16 @@ AudioTrack::roll (pframes_t nframes, framepos_t start_frame, framepos_t end_fram _input->process_input (_meter, start_frame, end_frame, nframes); } - if (diskstream->record_enabled() && !can_record && !_session.config.get_auto_input()) { - + if ((_monitoring & MonitorInput) || + (!(_monitoring & MonitorDisk) && + (diskstream->record_enabled() && !can_record && !_session.config.get_auto_input()))) { + /* not actually recording, but we want to hear the input material anyway, at least potentially (depending on monitoring options) */ + cerr << name() << " do the passthru thing with monitoring = " << enum_2_string (_monitoring) << endl; + passthru (start_frame, end_frame, nframes, false); } else if ((b = diskstream->playback_buffer(0)) != 0) { @@ -734,3 +738,5 @@ AudioTrack::bounceable () const { return n_inputs().n_audio() >= n_outputs().n_audio(); } + + |