diff CollidoscopeApp/include/RingBufferPack.h @ 0:02467299402e

First import CollidoscopeApp for Raspberry Pi JackDevice Teensy code for Collidoscope
author Fiore Martin <f.martin@qmul.ac.uk>
date Thu, 30 Jun 2016 14:50:06 +0200
parents
children 7fb593d53361
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/CollidoscopeApp/include/RingBufferPack.h	Thu Jun 30 14:50:06 2016 +0200
@@ -0,0 +1,43 @@
+#pragma once
+
+#include "cinder/audio/dsp/RingBuffer.h"
+
+
+/* Packs together a RingBuffer and the erlated array used to exchange data (read/write) with the ring buffer 
+*/
+template <typename T>
+class RingBufferPack {
+
+public:
+
+    RingBufferPack( size_t size ) :
+        mSize( size ),
+        mBuffer( size )
+    {
+        mArray = new T[size];
+    }
+
+    ~RingBufferPack()
+    {
+        delete[]  mArray;
+    }
+
+    // no copy
+    RingBufferPack( const RingBufferPack &copy ) = delete;
+    RingBufferPack & operator=(const RingBufferPack &copy) = delete;
+
+    ci::audio::dsp::RingBufferT<T> & getBuffer() { return mBuffer; }
+
+    T* getExchangeArray() { return mArray; }
+
+    std::size_t getSize() { return mSize;  }
+
+private:
+    size_t mSize;
+
+    ci::audio::dsp::RingBufferT<T> mBuffer;
+
+    T* mArray;
+
+
+};
\ No newline at end of file