annotate 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
rev   line source
f@0 1 #pragma once
f@0 2
f@0 3 #include "cinder/audio/dsp/RingBuffer.h"
f@0 4
f@0 5
f@0 6 /* Packs together a RingBuffer and the erlated array used to exchange data (read/write) with the ring buffer
f@0 7 */
f@0 8 template <typename T>
f@0 9 class RingBufferPack {
f@0 10
f@0 11 public:
f@0 12
f@0 13 RingBufferPack( size_t size ) :
f@0 14 mSize( size ),
f@0 15 mBuffer( size )
f@0 16 {
f@0 17 mArray = new T[size];
f@0 18 }
f@0 19
f@0 20 ~RingBufferPack()
f@0 21 {
f@0 22 delete[] mArray;
f@0 23 }
f@0 24
f@0 25 // no copy
f@0 26 RingBufferPack( const RingBufferPack &copy ) = delete;
f@0 27 RingBufferPack & operator=(const RingBufferPack &copy) = delete;
f@0 28
f@0 29 ci::audio::dsp::RingBufferT<T> & getBuffer() { return mBuffer; }
f@0 30
f@0 31 T* getExchangeArray() { return mArray; }
f@0 32
f@0 33 std::size_t getSize() { return mSize; }
f@0 34
f@0 35 private:
f@0 36 size_t mSize;
f@0 37
f@0 38 ci::audio::dsp::RingBufferT<T> mBuffer;
f@0 39
f@0 40 T* mArray;
f@0 41
f@0 42
f@0 43 };