diff options
| author | Tim Redfern <tim@getdrop.com> | 2023-04-19 12:01:10 +0100 |
|---|---|---|
| committer | Tim Redfern <tim@getdrop.com> | 2023-04-19 12:01:10 +0100 |
| commit | 28718e114696f1d5d735992c29f8e0b1dd83a90d (patch) | |
| tree | 516190f74c9242d7343a088107ae61fa043546ed /nextus/src/vectorPlugin.h | |
| parent | beaeeb0a47d1e4a0b62264263dd319dc49d6a2f9 (diff) | |
WIP some svg stuff working
Diffstat (limited to 'nextus/src/vectorPlugin.h')
| -rw-r--r-- | nextus/src/vectorPlugin.h | 34 |
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 |
