summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/export_channel.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-09-26 17:49:24 +0200
committerRobin Gareus <robin@gareus.org>2017-09-29 05:03:48 +0200
commit24ec0b974d84df061cbbe645668dc62fa7120678 (patch)
treece9274b55976d535ace89ba9e8781cef1b778b66 /libs/ardour/ardour/export_channel.h
parenta6cc58d7574ba03f0f8860e130fc4bdef305d3f3 (diff)
Properly aligned export (Stem + Session)
Delay ports being exported by their playback latency.
Diffstat (limited to 'libs/ardour/ardour/export_channel.h')
-rw-r--r--libs/ardour/ardour/export_channel.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/libs/ardour/ardour/export_channel.h b/libs/ardour/ardour/export_channel.h
index a94d65fbdc..8f4d8fc27c 100644
--- a/libs/ardour/ardour/export_channel.h
+++ b/libs/ardour/ardour/export_channel.h
@@ -22,11 +22,13 @@
#define __ardour_export_channel_h__
#include <set>
+#include <list>
#include <boost/scoped_array.hpp>
#include <boost/shared_ptr.hpp>
#include "pbd/signals.h"
+#include "pbd/ringbuffer.h"
#include "ardour/buffer_set.h"
#include "ardour/export_pointers.h"
@@ -68,6 +70,8 @@ class LIBARDOUR_API PortExportChannel : public ExportChannel
typedef std::set<boost::weak_ptr<AudioPort> > PortSet;
PortExportChannel ();
+ ~PortExportChannel ();
+
void set_max_buffer_size(samplecnt_t samples);
void read (Sample const *& data, samplecnt_t samples) const;
@@ -83,8 +87,9 @@ class LIBARDOUR_API PortExportChannel : public ExportChannel
private:
PortSet ports;
- boost::scoped_array<Sample> buffer;
- samplecnt_t buffer_size;
+ samplecnt_t _buffer_size;
+ boost::scoped_array<Sample> _buffer;
+ std::list <boost::shared_ptr<PBD::RingBuffer<Sample> > > _delaylines;
};