diff options
author | Robin Gareus <robin@gareus.org> | 2017-11-04 16:24:09 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-11-04 16:24:09 +0100 |
commit | 06abdee652d69a22ad7573d2392148c6fbe6d968 (patch) | |
tree | 77b85a9789bba2b2864bbf478d6febf68585cebb /libs/ardour/ardour | |
parent | d26ad5573ca47a851575d9fe3e11e9d5c4b7dd67 (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.h | 13 |
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 (); |