summaryrefslogtreecommitdiff
path: root/libs/ardour/track.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-09-22 01:52:37 +0200
committerRobin Gareus <robin@gareus.org>2017-09-22 01:52:37 +0200
commit7a51d8f768c3ec529e7585b65e5e658eba1cf33d (patch)
tree6ce3e2bc6c72a0ba25db191e38e2d2f2d26123e3 /libs/ardour/track.cc
parent506a29e2d3a8a669678e18d7eff5f3d708627c37 (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.cc22
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