summaryrefslogtreecommitdiff
path: root/pluginchooser/src/pluginpanel.h
diff options
context:
space:
mode:
authorTim Redfern <tim@getdrop.com>2022-10-12 17:46:36 +0100
committerTim Redfern <tim@getdrop.com>2022-10-12 17:46:36 +0100
commit0067bb80914da6e04f7f821fbe7b1fcb76fda799 (patch)
treeaaa8d0f69f7093a338b60c4241ab00cd9538976d /pluginchooser/src/pluginpanel.h
parentd5bd6fa3ecaf5103a8774e90bab9d9d253e58714 (diff)
init params through struct
Diffstat (limited to 'pluginchooser/src/pluginpanel.h')
-rw-r--r--pluginchooser/src/pluginpanel.h39
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;