From d503992380630c1ee6d2edce8861d5f6e31cf8a1 Mon Sep 17 00:00:00 2001 From: Tim Redfern Date: Sat, 18 Aug 2018 12:09:34 +0100 Subject: start vector plugin arch --- gui/src/AudioPlotter.h | 67 +++----------------------------------------------- 1 file changed, 3 insertions(+), 64 deletions(-) (limited to 'gui/src/AudioPlotter.h') 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 > params; - string name; - AChaosplugin(AChaosBase* _plugin,string _name,vector _params={0,0,0,0,0,0}){ - plugin=_plugin; - name=_name; - ofLog()<<"AChaosplugin creating "<<_name<<" with "<<_plugin->param_labels.size()<<" parameters"; - ofLog()<<"AChaosplugin copied "<param_labels.size()<<" parameters"; - plugin->setup(); - load_defaults(); - ofLog()<<"AChaosplugin created "<iv.size();i++){ - if (plugin->param_labels[i].size()){ - params.push_back(ofParameter ().set(plugin->param_labels[i],plugin->iv[i],0,plugin->iv[i]*5)); - } - } - } -}; +#include "chaoslib.h" + -class Chaos{ - public: - vector plugins; - vector > params; - int whichplugin; - ofParameter 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 names = { @@ -144,7 +83,7 @@ public: ofParameter chaos_k; ofParameter chaos_p; - Chaos chaosloader; + Chaoslib chaosloader; private: vector < vector> data; -- cgit v1.2.3