diff options
author | David Robillard <d@drobilla.net> | 2008-02-17 17:49:38 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-02-17 17:49:38 +0000 |
commit | 8fed7470f5fb37ebd007410f4095851ba29ad2b4 (patch) | |
tree | 95edb188d98c6397ecd6be408f26524461270f85 /libs/ardour/audio_track.cc | |
parent | 859e9106e72a7908fa093d946111d148223225a0 (diff) |
Merge with 2.0-ongoing R3077.
git-svn-id: svn://localhost/ardour2/branches/3.0@3078 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/audio_track.cc')
-rw-r--r-- | libs/ardour/audio_track.cc | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/libs/ardour/audio_track.cc b/libs/ardour/audio_track.cc index 7d55cc343a..53f918ec4e 100644 --- a/libs/ardour/audio_track.cc +++ b/libs/ardour/audio_track.cc @@ -457,19 +457,24 @@ AudioTrack::no_roll (nframes_t nframes, nframes_t start_frame, nframes_t end_fra send_silence = true; } else { - if (Config->get_auto_input()) { - if (Config->get_monitoring_model() == SoftwareMonitoring) { + if (!Config->get_tape_machine_mode()) { + /* + ADATs work in a strange way.. + they monitor input always when stopped.and auto-input is engaged. + */ + if ((Config->get_monitoring_model() == SoftwareMonitoring) && (Config->get_auto_input () || _diskstream->record_enabled())) { send_silence = false; } else { send_silence = true; } } else { - if (_diskstream->record_enabled()) { - if (Config->get_monitoring_model() == SoftwareMonitoring) { - send_silence = false; - } else { - send_silence = true; - } + /* + Other machines switch to input on stop if the track is record enabled, + regardless of the auto input setting (auto input only changes the + monitoring state when the transport is rolling) + */ + if ((Config->get_monitoring_model() == SoftwareMonitoring) && _diskstream->record_enabled()) { + send_silence = false; } else { send_silence = true; } |