#pragma once #include "ofMain.h" //#include #define SAMPLERATE 48000 #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){ 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; }; class ofApp : public ofBaseApp{ public: void setup(); void update(); void draw(); void keyPressed(int key); void keyReleased(int key); void mouseMoved(int x, int y ); void mouseDragged(int x, int y, int button); void mousePressed(int x, int y, int button); void mouseReleased(int x, int y, int button); void windowResized(int w, int h); void dragEvent(ofDragInfo dragInfo); void gotMessage(ofMessage msg); void audioIn(float * input, int bufferSize, int nChannels); ofSoundStream soundStream; int blockSize; int sampleRate; int frameHead; //last sample drawn //baudvine::RingBuf buffer; Buffer buffer; float hScale; float vScale; float lineWidth; };