summaryrefslogtreecommitdiff
path: root/libs/ardour/audio_track.cc
diff options
context:
space:
mode:
authorNick Mainsbridge <beatroute@iprimus.com.au>2008-02-17 12:20:16 +0000
committerNick Mainsbridge <beatroute@iprimus.com.au>2008-02-17 12:20:16 +0000
commitc905d80ce4712faa66f2b11f3faea3b0fc112898 (patch)
tree48f4a40c02ca887f507444bdb0c1d59618733ebf /libs/ardour/audio_track.cc
parent126d74e971d1d9651bcf74c91ddd98bf7891fb8f (diff)
Remove beat entry from meter dialog (beats are not allowed in API), clean up some hardware monitoring code, new configuration vars: ADAT Monitor Mode (documented) and Rubberbanding Snaps to Grid (self explanitory I hope, defaults to off), add some monitoring documentation.
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3076 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/audio_track.cc')
-rw-r--r--libs/ardour/audio_track.cc21
1 files changed, 13 insertions, 8 deletions
diff --git a/libs/ardour/audio_track.cc b/libs/ardour/audio_track.cc
index 50f688d2b2..e5a67bcb1f 100644
--- a/libs/ardour/audio_track.cc
+++ b/libs/ardour/audio_track.cc
@@ -477,19 +477,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_adat_monitor_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()) {
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;
}