X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fport_insert.h;h=e96779c63e65f984362147d4e8eaf2052a3d0924;hb=21102b45d0d22f2761697b1b9fdfa92aafc25834;hp=327080984ab5c7646201670074522994d2312b0e;hpb=2e27e21d3a09889311e18a8efe11abcaa6d9c8b3;p=ardour.git diff --git a/libs/ardour/ardour/port_insert.h b/libs/ardour/ardour/port_insert.h index 327080984a..e96779c63e 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" @@ -44,17 +45,19 @@ class Pannable; */ class LIBARDOUR_API PortInsert : public IOProcessor { - public: +public: PortInsert (Session&, boost::shared_ptr, boost::shared_ptr mm); ~PortInsert (); - XMLNode& state(bool full); - XMLNode& get_state(void); int set_state (const XMLNode&, int version); - void run (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame, pframes_t nframes, bool); + void run (BufferSet& bufs, samplepos_t start_sample, samplepos_t end_sample, double speed, pframes_t nframes, bool); - framecnt_t signal_latency () const; + void flush_buffers (samplecnt_t nframes) { + _out->flush_buffers (nframes); + } + + samplecnt_t signal_latency () const; bool set_name (const std::string& name); @@ -64,18 +67,22 @@ class LIBARDOUR_API PortInsert : public IOProcessor void activate (); void deactivate (); + void set_pre_fader (bool); + uint32_t bit_slot() const { return _bitslot; } void start_latency_detection (); void stop_latency_detection (); MTDM* mtdm () const { return _mtdm; } - void set_measured_latency (framecnt_t); - framecnt_t latency () const; + void set_measured_latency (samplecnt_t); + samplecnt_t latency () const; static std::string name_and_id_new_insert (Session&, uint32_t&); - private: +protected: + XMLNode& state (); +private: /* disallow copy construction */ PortInsert (const PortInsert&); @@ -84,8 +91,8 @@ class LIBARDOUR_API PortInsert : public IOProcessor uint32_t _bitslot; MTDM* _mtdm; bool _latency_detect; - framecnt_t _latency_flush_frames; - framecnt_t _measured_latency; + samplecnt_t _latency_flush_samples; + samplecnt_t _measured_latency; }; } // namespace ARDOUR