From 19be92e0aff674b95bdae72fe7a2e409fd1bf77a Mon Sep 17 00:00:00 2001 From: Tim Redfern Date: Mon, 17 Apr 2023 19:44:00 +0100 Subject: add to archive --- FESgui/src/audiobuffer.h | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 FESgui/src/audiobuffer.h (limited to 'FESgui/src/audiobuffer.h') diff --git a/FESgui/src/audiobuffer.h b/FESgui/src/audiobuffer.h new file mode 100644 index 0000000..a56dd4b --- /dev/null +++ b/FESgui/src/audiobuffer.h @@ -0,0 +1,42 @@ +#pragma once + + +#define min(a,b) (ab?a:b) + +class Buffer{ +public: + Buffer(size_t sz=0){ + if (sz){ + data =new float[sz]; + memset(data,0,sz*sizeof(float)); + size=sz; + } + else data=NULL; + } + ~Buffer(){ + if (data){ + delete[] data; //why is this throwing an error + } + } + void add(float * input, int num){ + //this assumes that num < size + memcpy(&data[writePoint],input,min(num,size-writePoint)*sizeof(float)); + if (size-writePointi?writePoint-i:size-(i-writePoint))-1]; + } + float& operator [] (int i) { + return data[(writePoint>i?writePoint-i:size-(i-writePoint))-1]; + } +private: + size_t size; + float *data; + int writePoint; +}; \ No newline at end of file -- cgit v1.2.3