diff options
Diffstat (limited to 'libs/ardour/ardour/buffer_manager.h')
-rw-r--r-- | libs/ardour/ardour/buffer_manager.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/libs/ardour/ardour/buffer_manager.h b/libs/ardour/ardour/buffer_manager.h new file mode 100644 index 0000000000..4da8d0637f --- /dev/null +++ b/libs/ardour/ardour/buffer_manager.h @@ -0,0 +1,31 @@ +#ifndef __libardour_buffer_manager__ +#define __libardour_buffer_manager__ + +#include <stdint.h> + +#include "pbd/ringbufferNPT.h" + +#include "ardour/chan_count.h" + +namespace ARDOUR { + +class ThreadBuffers; + +class BufferManager +{ + public: + static void init (uint32_t); + + static ThreadBuffers* get_thread_buffers (); + static void put_thread_buffers (ThreadBuffers*); + + static void ensure_buffers (ChanCount howmany = ChanCount::ZERO); + + private: + typedef RingBufferNPT<ThreadBuffers*> ThreadBufferFIFO; + static ThreadBufferFIFO* thread_buffers; +}; + +} + +#endif /* __libardour_buffer_manager__ */ |