summaryrefslogtreecommitdiff
path: root/libs/ardour/audio_diskstream.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-03-09 05:19:44 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-03-09 05:19:44 +0000
commit8849cb428741d7d60261d1e44ceec665912281f5 (patch)
tree94649231bdf12dfb30cf2f43b8e9029ba2b0cb2b /libs/ardour/audio_diskstream.cc
parent30ac00b92d420da94b3cd3d9dd7fbe200ee69667 (diff)
add new concept for managing alignment style (AlignChoice); switch to using worst_playback_latency() just about everywhere we were using worst_output_latency() - the former includes plugin latency. answer appears to break earlier fixes to alignment, but is semantically right, so plan to investigate in another 8 hours or so
git-svn-id: svn://localhost/ardour2/branches/3.0@9112 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/audio_diskstream.cc')
-rw-r--r--libs/ardour/audio_diskstream.cc14
1 files changed, 6 insertions, 8 deletions
diff --git a/libs/ardour/audio_diskstream.cc b/libs/ardour/audio_diskstream.cc
index 6da9fb6f0a..dd4310294b 100644
--- a/libs/ardour/audio_diskstream.cc
+++ b/libs/ardour/audio_diskstream.cc
@@ -177,13 +177,7 @@ AudioDiskstream::non_realtime_input_change ()
get_input_sources ();
set_capture_offset ();
-
- if (first_input_change) {
- set_align_style (_persistent_alignment_style);
- first_input_change = false;
- } else {
- set_align_style_from_io ();
- }
+ set_align_style_from_io ();
input_change_pending = IOChange::NoChange;
@@ -1554,7 +1548,7 @@ AudioDiskstream::transport_looped (framepos_t transport_frame)
capture_captured += _capture_offset;
if (_alignment_style == ExistingMaterial) {
- capture_captured += _session.worst_output_latency();
+ capture_captured += _session.worst_playback_latency();
} else {
capture_captured += _roll_delay;
}
@@ -2006,6 +2000,10 @@ AudioDiskstream::set_align_style_from_io ()
{
bool have_physical = false;
+ if (_alignment_choice != Automatic) {
+ return;
+ }
+
if (_io == 0) {
return;
}