summaryrefslogtreecommitdiff
path: root/libs/ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2017-09-19 10:09:37 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2017-09-19 11:15:22 -0400
commitebf6856579af286cde2c7e9046b59ea2f0761603 (patch)
tree2d90f32ee835fa4d2941d395747f667b9f57c125 /libs/ardour
parent41bd6d3721f20e5c7a668c4566cef65a06a95c7f (diff)
Revert "remove unusued roll_delay member of DiskReader"
This reverts commit 92c2e06eb72950f91ca943a5219e2caeaeecda9f.
Diffstat (limited to 'libs/ardour')
-rw-r--r--libs/ardour/ardour/disk_reader.h7
-rw-r--r--libs/ardour/disk_reader.cc7
2 files changed, 14 insertions, 0 deletions
diff --git a/libs/ardour/ardour/disk_reader.h b/libs/ardour/ardour/disk_reader.h
index cab4a33501..8e124a27dd 100644
--- a/libs/ardour/ardour/disk_reader.h
+++ b/libs/ardour/ardour/disk_reader.h
@@ -52,6 +52,9 @@ class LIBARDOUR_API DiskReader : public DiskIOProcessor
int overwrite_existing_buffers ();
void set_pending_overwrite (bool yn);
+ samplecnt_t roll_delay() const { return _roll_delay; }
+ void set_roll_delay (samplecnt_t);
+
virtual XMLNode& state (bool full);
int set_state (const XMLNode&, int version);
@@ -111,6 +114,10 @@ class LIBARDOUR_API DiskReader : public DiskIOProcessor
void playlist_ranges_moved (std::list< Evoral::RangeMove<samplepos_t> > const &, bool);
private:
+ /** The number of samples by which this diskstream's output should be delayed
+ with respect to the transport sample. This is used for latency compensation.
+ */
+ samplecnt_t _roll_delay;
samplepos_t overwrite_sample;
off_t overwrite_offset;
bool _pending_overwrite;
diff --git a/libs/ardour/disk_reader.cc b/libs/ardour/disk_reader.cc
index 254b81e168..6f559b6167 100644
--- a/libs/ardour/disk_reader.cc
+++ b/libs/ardour/disk_reader.cc
@@ -49,6 +49,7 @@ bool DiskReader::_no_disk_output = false;
DiskReader::DiskReader (Session& s, string const & str, DiskIOProcessor::Flag f)
: DiskIOProcessor (s, str, f)
+ , _roll_delay (0)
, overwrite_sample (0)
, overwrite_offset (0)
, _pending_overwrite (false)
@@ -125,6 +126,12 @@ DiskReader::set_name (string const & str)
return true;
}
+void
+DiskReader::set_roll_delay (ARDOUR::samplecnt_t nframes)
+{
+ _roll_delay = nframes;
+}
+
XMLNode&
DiskReader::state (bool full)
{