diff options
Diffstat (limited to 'gui/src/AudioPlotter.h')
| -rw-r--r-- | gui/src/AudioPlotter.h | 67 |
1 files changed, 3 insertions, 64 deletions
diff --git a/gui/src/AudioPlotter.h b/gui/src/AudioPlotter.h index 42fe190..d001d22 100644 --- a/gui/src/AudioPlotter.h +++ b/gui/src/AudioPlotter.h @@ -3,70 +3,9 @@ #include "lineTransformer.h" -class AChaosplugin{ - public: - AChaosBase* plugin; - vector <ofParameter <float>> params; - string name; - AChaosplugin(AChaosBase* _plugin,string _name,vector <REAL> _params={0,0,0,0,0,0}){ - plugin=_plugin; - name=_name; - ofLog()<<"AChaosplugin creating "<<_name<<" with "<<_plugin->param_labels.size()<<" parameters"; - ofLog()<<"AChaosplugin copied "<<name<<" with "<<plugin->param_labels.size()<<" parameters"; - plugin->setup(); - load_defaults(); - ofLog()<<"AChaosplugin created "<<name<<" with "<<params.size()<<" parameters"; - } - void load_defaults(){ - params.clear(); - for (int i=0;i<plugin->iv.size();i++){ - if (plugin->param_labels[i].size()){ - params.push_back(ofParameter <float>().set(plugin->param_labels[i],plugin->iv[i],0,plugin->iv[i]*5)); - } - } - } -}; +#include "chaoslib.h" + -class Chaos{ - public: - vector <AChaosplugin*> plugins; - vector <vector <REAL>> params; - int whichplugin; - ofParameter <string> name; - Chaos(){ - //can only use those that have 2 output params? - //or just make it 1 dimensional? only affect the x axis? - plugins.push_back(new AChaosplugin(new AChaosBaker(),"Baker")); - plugins.push_back(new AChaosplugin(new AChaosClifford(),"Clifford")); - plugins.push_back(new AChaosplugin(new AChaosCollatz(),"Collatz")); - plugins.push_back(new AChaosplugin(new AChaosDuffing(),"Duffing")); - plugins.push_back(new AChaosplugin(new AChaosGinger(),"Ginger")); - plugins.push_back(new AChaosplugin(new AChaosHenon(),"Henon")); - whichplugin=0; - update_name(); - } - AChaosplugin &get(){ - return *plugins[whichplugin]; - } - void next(){ - whichplugin=(whichplugin+1)%plugins.size(); - update_name(); - } - void previous(){ - whichplugin=whichplugin-1; - if (whichplugin<0){ - whichplugin=plugins.size()-1; - } - update_name(); - } - void update_name(){ - name=plugins[whichplugin]->name; - //save old params & load new - } - std::string &get_name(){ - return plugins[whichplugin]->name; - } -}; /* vector <string> names = { @@ -144,7 +83,7 @@ public: ofParameter<float> chaos_k; ofParameter<float> chaos_p; - Chaos chaosloader; + Chaoslib chaosloader; private: vector < vector<colourPolyline>> data; |
