diff options
author | Robin Gareus <robin@gareus.org> | 2017-09-22 01:52:37 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-09-22 01:52:37 +0200 |
commit | 7a51d8f768c3ec529e7585b65e5e658eba1cf33d (patch) | |
tree | 6ce3e2bc6c72a0ba25db191e38e2d2f2d26123e3 /libs/ardour/track.cc | |
parent | 506a29e2d3a8a669678e18d7eff5f3d708627c37 (diff) |
AlignmentChoise is a Track Property
The DiskWriter uses AlignStyle which is set dynamically
by the Track and may depend on I/O connections.
Diffstat (limited to 'libs/ardour/track.cc')
-rw-r--r-- | libs/ardour/track.cc | 22 |
1 files changed, 12 insertions, 10 deletions
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<Route> (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<Route> (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 |