summaryrefslogtreecommitdiff
path: root/libs/ardour/audio_track.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-10-20 18:50:29 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-10-20 18:50:29 +0000
commit3764eedca0d8ca8d666401c8bb8364705a64317e (patch)
treeeb666341e2b9a48c2cb8f2534725d6adfb33107e /libs/ardour/audio_track.cc
parent49b459f8d32ccabdac7cc0bacf3976557c00b2a6 (diff)
add initial implementation of explicit monitor (input|disk) control. some behaviour to be worked out, still
git-svn-id: svn://localhost/ardour2/branches/3.0@10256 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/audio_track.cc')
-rw-r--r--libs/ardour/audio_track.cc10
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();
}
+
+