summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-11-04 16:24:09 +0100
committerRobin Gareus <robin@gareus.org>2017-11-04 16:24:09 +0100
commit06abdee652d69a22ad7573d2392148c6fbe6d968 (patch)
tree77b85a9789bba2b2864bbf478d6febf68585cebb /libs/ardour/ardour
parentd26ad5573ca47a851575d9fe3e11e9d5c4b7dd67 (diff)
[Re]-Implement Delayline flush.
Also don't automatically flush the delayline at transport or monitor- changes anymore. With full-graph latency compensation, delaylines are before the disk-reader, aligning input (disk uses read-ahead to align). Flushing the delayline should only happen when input-monitoring is disengaged. It's best degated to the Route or object using the Delayline (potentially latency-aligned delayed flush).
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/delayline.h13
1 files changed, 4 insertions, 9 deletions
diff --git a/libs/ardour/ardour/delayline.h b/libs/ardour/ardour/delayline.h
index 58e2aaca96..6ac4561e5d 100644
--- a/libs/ardour/ardour/delayline.h
+++ b/libs/ardour/ardour/delayline.h
@@ -40,21 +40,16 @@ public:
DelayLine (Session& s, const std::string& name);
~DelayLine ();
- bool display_to_user () const { return false; }
-
- void run (BufferSet&, samplepos_t, samplepos_t, double, pframes_t, bool);
+ bool set_name (const std::string& str);
bool set_delay (samplecnt_t signal_delay);
samplecnt_t delay () { return _pending_delay; }
+ /* processor interface */
+ bool display_to_user () const { return false; }
+ void run (BufferSet&, samplepos_t, samplepos_t, double, pframes_t, bool);
bool configure_io (ChanCount in, ChanCount out);
bool can_support_io_configuration (const ChanCount& in, ChanCount& out);
-
void flush ();
- void realtime_handle_transport_stopped () { flush (); }
- void realtime_locate () { flush (); }
- void monitoring_changed () { flush (); }
-
- bool set_name (const std::string& str);
protected:
XMLNode& state ();