summaryrefslogtreecommitdiff
path: root/gistanalysis/src/ofApp.h
diff options
context:
space:
mode:
Diffstat (limited to 'gistanalysis/src/ofApp.h')
-rw-r--r--gistanalysis/src/ofApp.h38
1 files changed, 27 insertions, 11 deletions
diff --git a/gistanalysis/src/ofApp.h b/gistanalysis/src/ofApp.h
index eca2a91..59bbfe6 100644
--- a/gistanalysis/src/ofApp.h
+++ b/gistanalysis/src/ofApp.h
@@ -35,7 +35,7 @@ public:
void set_joined(bool _joined){
joined=_joined;
}
- const vector <colourPolyline> &output(const ofMatrix4x4 xform=ofMatrix4x4(1.0f,0.0f,0.0f,0.0f,
+ vector <colourPolyline> output(const ofMatrix4x4 xform=ofMatrix4x4(1.0f,0.0f,0.0f,0.0f,
0.0f,1.0f,0.0f,0.0f,
0.0f,0.0f,1.0f,0.0f,
0.0f,0.0f,0.0f,1.0f),
@@ -44,27 +44,42 @@ public:
//destructive or non?
float fadefactor=decay<0.0f?1.0f-(1.0f/history_size):decay;
+ vector <colourPolyline> outdata;
+
for (int i=0;i<data.size();i++){
- data[i]=lineTransformer::polyLineTransform(xform,data[i],fadefactor);
+ vector <colourPolyline> newdata;
+ for (int j=0;j<data[i].size();j++){
+ colourPolyline line=lineTransformer::polyLineTransform(xform,data[i][j],fadefactor);
+ newdata.push_back(line);
+ outdata.push_back(line);
+ }
+ data[i]=newdata;
}
-
- return data;
+ return outdata;
}
void addpoints(vector <float> &audio,int number){
- colourPolyline newdata;
int num=min(number,(int)audio.size());
int step=audio.size()/(num+1);
- for (int i=0;i<num;i++){
- newdata.addVertex(((step*(i+1))*ofGetWidth())/audio.size(),audio[step*(i+1)]*ofGetHeight(),colour);
- if (!joined){
- newdata.addVertex((((step*(i+1))*ofGetWidth())/audio.size())+5,(audio[step*(i+1)])*ofGetHeight(),0,0,0);
+ vector <colourPolyline> newdata;
+ if (joined){
+ colourPolyline line;
+ for (int i=0;i<num;i++){
+ line.addVertex(((step*(i+1))*ofGetWidth())/audio.size(),audio[step*(i+1)]*ofGetHeight(),colour);
+ }
+ newdata.push_back(line);
+ }
+ else{
+ for (int i=0;i<num;i++){
+ colourPolyline line;
+ line.addVertex(((step*(i+1))*ofGetWidth())/audio.size(),audio[step*(i+1)]*ofGetHeight(),colour);
+ line.addVertex(((step*(i+1))*ofGetWidth())/audio.size()+2,audio[step*(i+1)]*ofGetHeight(),colour);
+ newdata.push_back(line);
}
}
data.insert(data.begin(),newdata);
while (data.size()>history_size) {
data.pop_back();
}
-
}
int numpoints(){
int num=0;
@@ -74,7 +89,7 @@ public:
return num;
}
private:
- vector <colourPolyline> data;
+ vector < vector<colourPolyline>> data;
bool joined;
int history_size;
ofColor colour;
@@ -157,6 +172,7 @@ class ofApp : public ofBaseApp, public ofxMidiListener{
ofxPanel gui;
+ ofParameter<bool> joined;
ofParameter<int> numPlots;
ofParameter<float> scalePlot;
ofParameter<float> decayPlot;