X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Finternal_return.h;h=48fcab151e32e26d24479bb86e08a7cd74015eae;hb=efc2660fec0d01c4c47d3fffcc5443025b33afc0;hp=56fa3cf3baf15121a3e38c59adddba240855986c;hpb=26366a40629693b387331c81ed255116fa8f7f7c;p=ardour.git diff --git a/libs/ardour/ardour/internal_return.h b/libs/ardour/ardour/internal_return.h index 56fa3cf3ba..48fcab151e 100644 --- a/libs/ardour/ardour/internal_return.h +++ b/libs/ardour/ardour/internal_return.h @@ -29,7 +29,7 @@ namespace ARDOUR { class InternalSend; -class InternalReturn : public Return +class LIBARDOUR_API InternalReturn : public Return { public: InternalReturn (Session&); @@ -37,8 +37,9 @@ class InternalReturn : public Return XMLNode& state (bool full); XMLNode& get_state (); - void run (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame, pframes_t nframes, bool); - bool can_support_io_configuration (const ChanCount& in, ChanCount& out) const; + 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 *); @@ -46,6 +47,8 @@ class InternalReturn : public Return private: /** sends that we are receiving data from */ std::list _sends; + /** mutex to protect _sends */ + Glib::Threads::Mutex _sends_mutex; }; } // namespace ARDOUR