diff options
Diffstat (limited to 'gui/src')
| -rw-r--r-- | gui/src/AudioPlotter.cpp | 12 | ||||
| -rw-r--r-- | gui/src/AudioPlotter.h | 1 | ||||
| -rw-r--r-- | gui/src/ofApp.cpp | 5 |
3 files changed, 16 insertions, 2 deletions
diff --git a/gui/src/AudioPlotter.cpp b/gui/src/AudioPlotter.cpp index 22eb757..a4ea5f3 100644 --- a/gui/src/AudioPlotter.cpp +++ b/gui/src/AudioPlotter.cpp @@ -21,6 +21,12 @@ vector <colourPolyline> Audioplotter::output(float plotscale,float plotdecay){ x.scale(((ofVec2f)scale).x,((ofVec2f)scale).y,1.0f); x.translate((ofGetWidth()/2),(ofGetHeight()/2),0); + + + ofMatrix4x4 flip = ofMatrix4x4::newIdentityMatrix(); + flip.translate((-ofGetWidth()/2),(-ofGetHeight()/2),0); + flip.scale(-1.0f,1.0f,1.0f); + flip.translate((ofGetWidth()/2),(ofGetHeight()/2),0); //destructive or non? float fadefactor=plotdecay<0.0f?1.0f-(1.0f/history_size):plotdecay; @@ -41,8 +47,14 @@ vector <colourPolyline> Audioplotter::output(float plotscale,float plotdecay){ //ofLog() << "set colour to "<<col; newdata.push_back(line); outdata.push_back(line); + } data[i]=newdata; + if (mirror){ + for (int j=0;j<data[i].size();j++){ + outdata.push_back(lineTransformer::polyLineTransform(flip,data[i][j])); + } + } } return outdata; } diff --git a/gui/src/AudioPlotter.h b/gui/src/AudioPlotter.h index 1a5aa4e..9cd37ae 100644 --- a/gui/src/AudioPlotter.h +++ b/gui/src/AudioPlotter.h @@ -29,6 +29,7 @@ public: ofParameter<bool> random; ofParameter<bool> joined; ofParameter<bool> bars; + ofParameter<bool> mirror; ofParameter<int> width; ofParameter<int> history_size; ofParameter<int> num_points; diff --git a/gui/src/ofApp.cpp b/gui/src/ofApp.cpp index 367fdd2..7d14996 100644 --- a/gui/src/ofApp.cpp +++ b/gui/src/ofApp.cpp @@ -113,9 +113,10 @@ void ofApp::setup(){ audiogui.add(plotter.random.set("random",true)); audiogui.add(plotter.joined.set("joined",true)); audiogui.add(plotter.bars.set("bars",true)); + audiogui.add(plotter.mirror.set("mirror",false)); audiogui.add(plotter.width.set("point width", 2, 1, 256)); - audiogui.add(plotter.num_points.set("num points", 50, 1, 512)); - audiogui.add(plotter.history_size.set("num plots", 5, 1, 100)); + audiogui.add(plotter.num_points.set("num points", 50, 1, 64)); + audiogui.add(plotter.history_size.set("num plots", 5, 1, 64)); audiogui.add(plotter.translate.set("translate",ofVec2f(0,0),ofVec2f(-50,-50),ofVec2f(50,50))); audiogui.add(plotter.rotate.set("rotate",0.0f,-10.0f,10.0f)); audiogui.add(plotter.scale.set("scale",ofVec2f(1.0f,1.0f),ofVec2f(0.5f,0.5f),ofVec2f(2.0f,2.0f))); |
