diff options
Diffstat (limited to 'passadesgui/src/AudioPlotter.h')
| -rw-r--r-- | passadesgui/src/AudioPlotter.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/passadesgui/src/AudioPlotter.h b/passadesgui/src/AudioPlotter.h new file mode 100644 index 0000000..9cd37ae --- /dev/null +++ b/passadesgui/src/AudioPlotter.h @@ -0,0 +1,57 @@ +#include "ofMain.h" +#include "ofxAChaoslib.h" + +#include "lineTransformer.h" + +class Audioplotter{ + //store and draw a numbr of audio samples + //how best to handle transforms - maybe pass in a transform to be added to 2nd and subsequent + //how best to handle length of history data - fixed number that can be set, or line budget? +public: + Audioplotter(int _size=1,bool _joined=true,bool _bars=false,int _width=2){ + setup(_size,_joined,_bars,_width); + } + void setup(int _size=1,bool _joined=true,bool _bars=false,int _width=2){ + history_size=_size; + joined=_joined; + bars=_bars; + width=_width; + startColour=ofColor(255,255,255); + endColour=ofColor(0,0,0); + attractor.setup(); + } + colourPolyline compute_chaos(colourPolyline& poly,float colourFade=1.0f); + vector <colourPolyline> output(float scale=1.0f,float decay=-1.0f); + void addpoints(vector <float> &audio); + void blankframe(); + int numpoints(); + + ofParameter<bool> random; + ofParameter<bool> joined; + ofParameter<bool> bars; + ofParameter<bool> mirror; + ofParameter<int> width; + ofParameter<int> history_size; + ofParameter<int> num_points; + +//feedback transformation + ofParameter<ofVec2f> translate; + ofParameter<float> rotate; + ofParameter<ofVec2f> scale; + + ofParameter<ofColor> startColour; + ofParameter<ofColor> endColour; + + ofParameter<bool> usechaos; + ofParameter<float> chaosamount; + ofParameter<float> chaosscale; + ofParameter<float> chaos_a; + ofParameter<float> chaos_b; + ofParameter<float> chaos_k; + ofParameter<float> chaos_p; + +private: + vector < vector<colourPolyline>> data; + AChaosIkeda attractor; + +};
\ No newline at end of file |
