diff options
| author | Tim Redfern <tim@getdrop.com> | 2022-10-12 17:46:36 +0100 |
|---|---|---|
| committer | Tim Redfern <tim@getdrop.com> | 2022-10-12 17:46:36 +0100 |
| commit | 0067bb80914da6e04f7f821fbe7b1fcb76fda799 (patch) | |
| tree | aaa8d0f69f7093a338b60c4241ab00cd9538976d /pluginchooser/src | |
| parent | d5bd6fa3ecaf5103a8774e90bab9d9d253e58714 (diff) | |
init params through struct
Diffstat (limited to 'pluginchooser/src')
| -rw-r--r-- | pluginchooser/src/pluginpanel.h | 39 |
1 files changed, 29 insertions, 10 deletions
diff --git a/pluginchooser/src/pluginpanel.h b/pluginchooser/src/pluginpanel.h index 052eb78..6e8e07d 100644 --- a/pluginchooser/src/pluginpanel.h +++ b/pluginchooser/src/pluginpanel.h @@ -4,24 +4,24 @@ #include "ofxGui.h" #include "ofxAChaoslib.h" -class float_param { +struct float_param { public: string name; - float val - float min, - float max -} + float val; + float min; + float max; +}; class loader { public: - loader(string _n,AChaosBase *_plugin,vector<string> _params={}){ + loader(string _n,AChaosBase *_plugin,vector<float_param> _params={}){ name=_n; plugin=_plugin; params=_params; } string name; AChaosBase *plugin; - vector<string> params; + vector<float_param> params; }; class pluginPanel : public ofxPanel { @@ -30,7 +30,13 @@ class pluginPanel : public ofxPanel { ofRegisterKeyEvents(this, defaultEventsPriority); plugins={ loader("baker",&baker), - loader("clifford",&clifford,{"a","b","c","d"}), + loader("clifford",&clifford,{ + {"a",0.0f,-1.0f,1.0f}, + {"b",0.0f,-1.0f,1.0f}, + {"c",0.0f,-1.0f,1.0f}, + {"d",0.0f,-1.0f,1.0f} + } + ) }; index=0; update(); @@ -94,11 +100,24 @@ class pluginPanel : public ofxPanel { params.clear(); for (int i=0;i<plugins[index].params.size();i++){ ofParameter<float> param; - ofLog()<<"creating parameter: "<<plugins[index].params[i]; - add(param.set(plugins[index].params[i], 0.0f, -1.0f, 1.0f)); + ofLog()<<"creating parameter: "<<plugins[index].params[i].name; + add(param.set( + plugins[index].params[i].name, + plugins[index].params[i].val, + plugins[index].params[i].min, + plugins[index].params[i].max + )); params.push_back(param); } } + ofVec2f calc(ofVec2f point){ + REAL iv[6]={point.x,point.y}; + for (int i=0;i<params.size();i++){ + iv[i+2]=params[i]; + } + plugins[index].plugin->set(iv); + plugins[index].plugin->calc(); + } private: int index; bool isSelected; |
