summaryrefslogtreecommitdiff
path: root/nextus/src/vectorPlugin.h
diff options
context:
space:
mode:
authorTim Redfern <tim@getdrop.com>2023-04-19 12:01:10 +0100
committerTim Redfern <tim@getdrop.com>2023-04-19 12:01:10 +0100
commit28718e114696f1d5d735992c29f8e0b1dd83a90d (patch)
tree516190f74c9242d7343a088107ae61fa043546ed /nextus/src/vectorPlugin.h
parentbeaeeb0a47d1e4a0b62264263dd319dc49d6a2f9 (diff)
WIP some svg stuff working
Diffstat (limited to 'nextus/src/vectorPlugin.h')
-rw-r--r--nextus/src/vectorPlugin.h34
1 files changed, 24 insertions, 10 deletions
diff --git a/nextus/src/vectorPlugin.h b/nextus/src/vectorPlugin.h
index 8a3f557..94ea947 100644
--- a/nextus/src/vectorPlugin.h
+++ b/nextus/src/vectorPlugin.h
@@ -19,15 +19,15 @@ class vectorPanel {
{
size=_size;
position=_pos;
- panel.setup(_title,"",0,size.y+5);
+ panel.setup(_title,"",_pos.x,_pos.y+size.y+5);
}
- void draw(){
+ void draw(){
+ panel.draw();
ofPushMatrix();
ofTranslate(position);
ofSetColor(255);
ofNoFill();
ofDrawRectangle(0,0,size.x,size.y);
- panel.draw();
ofPushMatrix();
ofTranslate(size/2);
ofScale(DISPLAYSIZE.x/2.0f);
@@ -39,6 +39,7 @@ class vectorPanel {
ofPopMatrix();
}
virtual vector<colourPolyline> getLines() {};
+ virtual void update() {};
protected:
ofVec2f size;
@@ -58,6 +59,7 @@ class defaultPanel: public vectorPanel{
vector<colourPolyline> output;
return output;
}
+ void update(){};
};
class svgPanel: public vectorPanel{
@@ -67,34 +69,46 @@ class svgPanel: public vectorPanel{
ofVec2f _size=DISPLAYSIZE,
ofVec2f _pos=ofPoint(5,5)
) : vectorPanel(_title,_size,_pos){
- //panel.add(ofxLabel().setup("SHAPES",""));
+ panel.add(shapeslabel.setup("SHAPES",""));
panel.add(shapes_randomise.set("randomise",false));
- panel.add(generate_shapes.set("generate",false));
+ //panel.add(shapes_generate.setup("generate"));
panel.add(shapes_amount.set("amount",0.2,0.0,1.0));
panel.add(shapes_duration.set("duration",5.0,0,10.0));
- panel.add(use_segmenter.set("SEGMENTER",false));
- panel.add(shapes_randomise.set("randomise",false));
+ panel.add(segmenterlabel.setup("SEGMENTER",""));
+ panel.add(use_segmenter.set("enable",false));
panel.add(segmenter_speed.set("speed",0.2,-1.0,1.0));
panel.add(segmenter_length.set("length",0.2,0.0,1.0));
panel.add(segmenter_number.set("number",1,1,8));
+
+ //shapes_generate.addListener(this,&svgPanel::generate_shapes);
}
void load(string filename);
- void select_random_shapes(float duration,bool generate);
+ void select_random_shapes();
+ void update_random_shapes(bool generate);
vector<colourPolyline> getAllLines();
vector<colourPolyline> getLines();
+ void update(){
+ timedelta=ofGetElapsedTimef()-last_frame_time;
+ last_frame_time=ofGetElapsedTimef();
+ phase=fmod(phase+(timedelta*segmenter_speed),1);
+ //while(phase<1) phase+=1.0f;
+ }
private:
//ofxFloatSlider contour_simplify;
+ ofxLabel shapeslabel;
//svg gui
ofParameter<bool> shapes_randomise;
- ofParameter<bool> generate_shapes; //manual version of audio driven version
+ ofxButton shapes_generate;
ofParameter<float> shapes_amount;
ofParameter<float> shapes_duration;
//ofxToggle use_mask;
//ofxToggle invert_mask;
//segmenter
+ ofxLabel segmenterlabel;
+
ofParameter<bool> use_segmenter;
//ofxToggle colour_segmenter;
ofParameter<float> segmenter_speed;
@@ -110,5 +124,5 @@ class svgPanel: public vectorPanel{
//float rotate_amt;
//float scale_phase,scale_amt;
- float last_frame_time;
+ float last_frame_time, timedelta;
}; \ No newline at end of file