diff options
author | Julien "_FrnchFrgg_" RIVAUD <frnchfrgg@free.fr> | 2016-07-15 01:51:55 +0200 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-07-14 21:55:49 -0400 |
commit | 9ba6e938d8f7d61bc747ed5e9a102638bb1a8eb1 (patch) | |
tree | 28e156038e560d286b26cb7840177d27452a8fc9 /libs/ardour/ardour/port_insert.h | |
parent | 8af589b322408aba38413dc2c85dc77ae1c9f2e4 (diff) |
Also flush buffers of the inner delivery of inserts
When flushing the buffers of Delivery processors owned by a Route/Track,
inner deliveries of PortInsert processors were missed since PortInsert
is not a Delivery subclass, but rather owns a Delivery as a private
member. Expose a flush_buffers() for PortInsert and call it too.
This is correct since (external) Send is a Delivery subclass, so that
just makes the send part of inserts behave as external sends do.
Diffstat (limited to 'libs/ardour/ardour/port_insert.h')
-rw-r--r-- | libs/ardour/ardour/port_insert.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libs/ardour/ardour/port_insert.h b/libs/ardour/ardour/port_insert.h index fee1f4694c..0b1b3fbc00 100644 --- a/libs/ardour/ardour/port_insert.h +++ b/libs/ardour/ardour/port_insert.h @@ -26,6 +26,7 @@ #include "ardour/ardour.h" #include "ardour/io_processor.h" +#include "ardour/delivery.h" #include "ardour/libardour_visibility.h" #include "ardour/types.h" @@ -54,6 +55,10 @@ class LIBARDOUR_API PortInsert : public IOProcessor void run (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame, double speed, pframes_t nframes, bool); + void flush_buffers (framecnt_t nframes) { + _out->flush_buffers (nframes); + } + framecnt_t signal_latency () const; bool set_name (const std::string& name); |