X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Finternal_return.h;h=48fcab151e32e26d24479bb86e08a7cd74015eae;hb=2cc33684c71131fd483346fe05e3b1a0e1706de9;hp=17688b892f319b397370f42378b255ed49bfe843;hpb=8f0750cc7e2a9c9d7c7a8c75a6df332c465a5292;p=ardour.git diff --git a/libs/ardour/ardour/internal_return.h b/libs/ardour/ardour/internal_return.h index 17688b892f..48fcab151e 100644 --- a/libs/ardour/ardour/internal_return.h +++ b/libs/ardour/ardour/internal_return.h @@ -27,34 +27,28 @@ namespace ARDOUR { -class InternalSend; +class InternalSend; -class InternalReturn : public Return +class LIBARDOUR_API InternalReturn : public Return { public: InternalReturn (Session&); - 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, framepos_t start_frame, framepos_t end_frame, pframes_t nframes, bool); - bool configure_io (ChanCount in, ChanCount out); - bool can_support_io_configuration (const ChanCount& in, ChanCount& out) const; - int set_block_size (pframes_t); + void run (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame, double speed, pframes_t nframes, bool); + bool configure_io (ChanCount, ChanCount); + bool can_support_io_configuration (const ChanCount& in, ChanCount& out); void add_send (InternalSend *); void remove_send (InternalSend *); - - static PBD::Signal1 CycleStart; private: - BufferSet buffers; /** sends that we are receiving data from */ std::list _sends; - - void allocate_buffers (pframes_t); - void cycle_start (pframes_t); + /** mutex to protect _sends */ + Glib::Threads::Mutex _sends_mutex; }; } // namespace ARDOUR