From 7a51d8f768c3ec529e7585b65e5e658eba1cf33d Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Fri, 22 Sep 2017 01:52:37 +0200 Subject: AlignmentChoise is a Track Property The DiskWriter uses AlignStyle which is set dynamically by the Track and may depend on I/O connections. --- libs/ardour/track.cc | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'libs/ardour/track.cc') diff --git a/libs/ardour/track.cc b/libs/ardour/track.cc index f451a3ed51..2ad41dc34d 100644 --- a/libs/ardour/track.cc +++ b/libs/ardour/track.cc @@ -97,6 +97,7 @@ Track::init () _disk_reader->set_block_size (_session.get_block_size ()); _disk_reader->set_route (boost::dynamic_pointer_cast (shared_from_this())); + set_align_choice_from_io (); _disk_writer.reset (new DiskWriter (_session, name(), dflags)); _disk_writer->set_block_size (_session.get_block_size ()); _disk_writer->set_route (boost::dynamic_pointer_cast (shared_from_this())); @@ -772,7 +773,7 @@ Track::alignment_style () const AlignChoice Track::alignment_choice () const { - return _disk_writer->alignment_choice (); + return _alignment_choice; } samplepos_t @@ -876,17 +877,18 @@ Track::use_new_playlist (DataType dt) void Track::set_align_choice (AlignChoice ac, bool force) { + _alignment_choice = ac; switch (ac) { - case Automatic: - _alignment_choice = Automatic; - set_align_choice_from_io (); - return; - default: - break; + case Automatic: + set_align_choice_from_io (); + break; + case UseCaptureTime: + _disk_writer->set_align_style (CaptureTime, force); + break; + case UseExistingMaterial: + _disk_writer->set_align_style (ExistingMaterial, force); + break; } - - _disk_writer->set_align_choice (ac, force); - _alignment_choice = ac; } void -- cgit v1.2.3