X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Finternal_return.h;h=1dff465cba09ed62d1455718d75dca607036fa2e;hb=16f91163e5989ebdd224fbbe976e10e24b778d06;hp=205559fe4e8f7ad4596cd0f2e16da1a3fc5dcf47;hpb=47b8fa21699e58f733f0ecb879193092f93c93d8;p=ardour.git diff --git a/libs/ardour/ardour/internal_return.h b/libs/ardour/ardour/internal_return.h index 205559fe4e..1dff465cba 100644 --- a/libs/ardour/ardour/internal_return.h +++ b/libs/ardour/ardour/internal_return.h @@ -20,7 +20,6 @@ #ifndef __ardour_internal_return_h__ #define __ardour_internal_return_h__ -#include #include "ardour/ardour.h" #include "ardour/return.h" @@ -28,33 +27,26 @@ namespace ARDOUR { +class InternalSend; + class InternalReturn : public Return { public: InternalReturn (Session&); - InternalReturn (Session&, const XMLNode&); - - bool visible() const; - XMLNode& state(bool full); - XMLNode& get_state(void); - int set_state(const XMLNode&, int version); + XMLNode& state (bool full); + XMLNode& get_state (); - void run (BufferSet& bufs, sframes_t start_frame, sframes_t end_frame, nframes_t nframes, bool); - bool configure_io (ChanCount in, ChanCount out); + void run (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame, pframes_t nframes, bool); + bool configure_io (ChanCount, ChanCount); bool can_support_io_configuration (const ChanCount& in, ChanCount& out) const; - void set_block_size (nframes_t); - - BufferSet* get_buffers(); - void release_buffers(); - static sigc::signal CycleStart; + void add_send (InternalSend *); + void remove_send (InternalSend *); private: - BufferSet buffers; - gint user_count; /* atomic */ - void allocate_buffers (nframes_t); - void cycle_start (nframes_t); + /** sends that we are receiving data from */ + std::list _sends; }; } // namespace ARDOUR