summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-06-11 17:14:18 +0200
committerRobin Gareus <robin@gareus.org>2014-06-11 17:14:18 +0200
commitca3c9cae6e36b3d7d0f0192fe6eb46d5e33dd2e9 (patch)
treef90b55d4fd7401834b3f59719f54b424eb5275c0 /libs/ardour/ardour
parent626b2daa8294e8ddb5526c1c6a9540f72b2bd063 (diff)
basic integration of delaylines (still un-nused)
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/debug.h1
-rw-r--r--libs/ardour/ardour/route.h3
-rw-r--r--libs/ardour/ardour/send.h11
3 files changed, 15 insertions, 0 deletions
diff --git a/libs/ardour/ardour/debug.h b/libs/ardour/ardour/debug.h
index 889a99b9ca..9a7b0a495f 100644
--- a/libs/ardour/ardour/debug.h
+++ b/libs/ardour/ardour/debug.h
@@ -35,6 +35,7 @@ namespace PBD {
LIBARDOUR_API extern uint64_t SnapBBT;
LIBARDOUR_API extern uint64_t Configuration;
LIBARDOUR_API extern uint64_t Latency;
+ LIBARDOUR_API extern uint64_t LatencyCompensation;
LIBARDOUR_API extern uint64_t Peaks;
LIBARDOUR_API extern uint64_t Processors;
LIBARDOUR_API extern uint64_t ProcessThreads;
diff --git a/libs/ardour/ardour/route.h b/libs/ardour/ardour/route.h
index 7eb115490d..ff06724731 100644
--- a/libs/ardour/ardour/route.h
+++ b/libs/ardour/ardour/route.h
@@ -54,6 +54,7 @@
namespace ARDOUR {
class Amp;
+class DelayLine;
class Delivery;
class IOProcessor;
class Panner;
@@ -190,6 +191,7 @@ class LIBARDOUR_API Route : public SessionObject, public Automatable, public Rou
PeakMeter& peak_meter() { return *_meter.get(); }
const PeakMeter& peak_meter() const { return *_meter.get(); }
boost::shared_ptr<PeakMeter> shared_peak_meter() const { return _meter; }
+ boost::shared_ptr<DelayLine> delay_line() const { return _delayline; }
void flush_processors ();
@@ -547,6 +549,7 @@ class LIBARDOUR_API Route : public SessionObject, public Automatable, public Rou
boost::shared_ptr<Amp> _amp;
boost::shared_ptr<PeakMeter> _meter;
+ boost::shared_ptr<DelayLine> _delayline;
boost::shared_ptr<Processor> the_instrument_unlocked() const;
diff --git a/libs/ardour/ardour/send.h b/libs/ardour/ardour/send.h
index a9d2c5dacd..17343bff96 100644
--- a/libs/ardour/ardour/send.h
+++ b/libs/ardour/ardour/send.h
@@ -26,6 +26,7 @@
#include "ardour/ardour.h"
#include "ardour/delivery.h"
+#include "ardour/delayline.h"
namespace ARDOUR {
@@ -59,6 +60,12 @@ class LIBARDOUR_API Send : public Delivery
bool can_support_io_configuration (const ChanCount& in, ChanCount& out);
bool configure_io (ChanCount in, ChanCount out);
+ /* latency compensation */
+ void set_delay_in (framecnt_t);
+ void set_delay_out (framecnt_t);
+ framecnt_t get_delay_in () const { return _delay_in; }
+ framecnt_t get_delay_out () const { return _delay_out; }
+
void activate ();
void deactivate ();
@@ -73,6 +80,7 @@ class LIBARDOUR_API Send : public Delivery
bool _metering;
boost::shared_ptr<Amp> _amp;
boost::shared_ptr<PeakMeter> _meter;
+ boost::shared_ptr<DelayLine> _delayline;
private:
/* disallow copy construction */
@@ -82,6 +90,9 @@ class LIBARDOUR_API Send : public Delivery
int set_state_2X (XMLNode const &, int);
uint32_t _bitslot;
+
+ framecnt_t _delay_in;
+ framecnt_t _delay_out;
};
} // namespace ARDOUR