summaryrefslogtreecommitdiff
path: root/gui/src/AudioPlotter.h
diff options
context:
space:
mode:
Diffstat (limited to 'gui/src/AudioPlotter.h')
-rw-r--r--gui/src/AudioPlotter.h67
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;