summaryrefslogtreecommitdiff
path: root/gui
diff options
context:
space:
mode:
authorTim Redfern <tim@getdrop.com>2018-08-18 12:09:34 +0100
committerTim Redfern <tim@getdrop.com>2018-08-18 12:09:34 +0100
commitd503992380630c1ee6d2edce8861d5f6e31cf8a1 (patch)
tree5f813f80ac7bc566534cf3fbfb7411244ec33d3b /gui
parentfb68eed64f548d090eb550047fd0d898e4e033fc (diff)
start vector plugin arch
Diffstat (limited to 'gui')
-rwxr-xr-xgui/libs/libHeliosDacAPI.dylibbin24208 -> 0 bytes
-rw-r--r--gui/libs/ofxAChaosLib/src/AChaosBaker.h2
-rw-r--r--gui/libs/ofxAChaosLib/src/AChaosBase.h15
-rwxr-xr-xgui/libs/ofxAChaosLib/src/AChaosClifford.h1
-rw-r--r--gui/libs/ofxAChaosLib/src/AChaosCollatz.h1
-rw-r--r--gui/libs/ofxAChaosLib/src/AChaosDuffing.h1
-rw-r--r--gui/libs/ofxAChaosLib/src/AChaosGinger.h1
-rw-r--r--gui/libs/ofxAChaosLib/src/AChaosHenon.h1
-rw-r--r--gui/libs/ofxAChaosLib/src/AChaosHenonF.h1
-rw-r--r--gui/libs/ofxAChaosLib/src/AChaosHenonHeilles.h1
-rw-r--r--gui/libs/ofxAChaosLib/src/AChaosHenonPhase.h1
-rw-r--r--gui/libs/ofxAChaosLib/src/AChaosIkeda.h1
-rw-r--r--gui/libs/ofxAChaosLib/src/AChaosJong.h1
-rw-r--r--gui/libs/ofxAChaosLib/src/AChaosLogistic.h1
-rw-r--r--gui/libs/ofxAChaosLib/src/AChaosLogistic1.h1
-rw-r--r--gui/libs/ofxAChaosLib/src/AChaosLorenz.h1
-rw-r--r--gui/libs/ofxAChaosLib/src/AChaosLorenzEuler.h3
-rw-r--r--gui/libs/ofxAChaosLib/src/AChaosLyapunov.h1
-rw-r--r--gui/libs/ofxAChaosLib/src/AChaosNavierStokes.h1
-rw-r--r--gui/libs/ofxAChaosLib/src/AChaosNavierStokesEuler.h1
-rw-r--r--gui/libs/ofxAChaosLib/src/AChaosRossler.h1
-rw-r--r--gui/libs/ofxAChaosLib/src/AChaosStein.h1
-rw-r--r--gui/libs/ofxAChaosLib/src/AChaosStein1.h1
-rw-r--r--gui/libs/ofxAChaosLib/src/AChaosTorus.h1
-rw-r--r--gui/libs/ofxAChaosLib/src/AChaosVerhulst.h1
-rw-r--r--gui/obj/osx/Release/.compiler_flags2
-rw-r--r--gui/src/AudioPlotter.h67
-rw-r--r--gui/src/chaoslib.h203
-rw-r--r--gui/src/lineSegmenter.cpp71
-rw-r--r--gui/src/lineSegmenter.h22
-rw-r--r--gui/src/lineTransformer.cpp126
-rw-r--r--gui/src/lineTransformer.h21
-rw-r--r--gui/src/ofApp.h107
-rw-r--r--gui/src/vectorplugin.h8
-rw-r--r--gui/src/warper.cpp0
-rw-r--r--gui/src/warper.h0
36 files changed, 511 insertions, 157 deletions
diff --git a/gui/libs/libHeliosDacAPI.dylib b/gui/libs/libHeliosDacAPI.dylib
deleted file mode 100755
index 2544dff..0000000
--- a/gui/libs/libHeliosDacAPI.dylib
+++ /dev/null
Binary files differ
diff --git a/gui/libs/ofxAChaosLib/src/AChaosBaker.h b/gui/libs/ofxAChaosLib/src/AChaosBaker.h
index c0586c3..8c5175a 100644
--- a/gui/libs/ofxAChaosLib/src/AChaosBaker.h
+++ b/gui/libs/ofxAChaosLib/src/AChaosBaker.h
@@ -19,6 +19,8 @@ public:
~AChaosBaker(){}
vector<string> param_labels={"","init"};
+
+ virtual vector<string> &get_param_labels(){return this->param_labels;};
virtual void setup(REAL * params = NULL){
AChaosBase::init(params, 2, 1);
diff --git a/gui/libs/ofxAChaosLib/src/AChaosBase.h b/gui/libs/ofxAChaosLib/src/AChaosBase.h
index 2a8b1d0..b6ef5e3 100644
--- a/gui/libs/ofxAChaosLib/src/AChaosBase.h
+++ b/gui/libs/ofxAChaosLib/src/AChaosBase.h
@@ -8,9 +8,15 @@
#pragma once
// comment for 64bits version (not all objects support)
-#define ACHAOS32
+#define ACHAOS_parameters
-#ifdef ACHAOS32
+#ifdef ACHAOS_paramaters
+#include "ofMain.h"
+ typedef ofParameter<float> REAL
+ #define SIN sin
+ #define COS cos
+
+#elif ACHAOS32
// 32bit
typedef float REAL;
#define SIN sinf
@@ -32,10 +38,11 @@ public:
~AChaosBase(){}
vector<REAL> iv;
- vector<REAL> ov;
+ vector<REAL> ov;
+
virtual void setup(REAL * params = NULL)=0;
- vector<string> param_labels;
+ virtual vector<string> &get_param_labels()=0;
void init(REAL * params = NULL, int numiv=1, int numov=1){
iv.clear();
diff --git a/gui/libs/ofxAChaosLib/src/AChaosClifford.h b/gui/libs/ofxAChaosLib/src/AChaosClifford.h
index 1bee069..ab52473 100755
--- a/gui/libs/ofxAChaosLib/src/AChaosClifford.h
+++ b/gui/libs/ofxAChaosLib/src/AChaosClifford.h
@@ -19,6 +19,7 @@ public:
~AChaosClifford(){}
vector<string> param_labels={"a","b","c","d","",""};
+ virtual vector<string> &get_param_labels(){return this->param_labels;};
virtual void setup(REAL * params = NULL){
diff --git a/gui/libs/ofxAChaosLib/src/AChaosCollatz.h b/gui/libs/ofxAChaosLib/src/AChaosCollatz.h
index f57d7b7..d7b1c00 100644
--- a/gui/libs/ofxAChaosLib/src/AChaosCollatz.h
+++ b/gui/libs/ofxAChaosLib/src/AChaosCollatz.h
@@ -20,6 +20,7 @@ public:
~AChaosCollatz(){}
vector<string> param_labels={"","offset"};
+ virtual vector<string> &get_param_labels(){return this->param_labels;};
virtual void setup(REAL * params = NULL){
AChaosBase::init(params, 3, 1);
diff --git a/gui/libs/ofxAChaosLib/src/AChaosDuffing.h b/gui/libs/ofxAChaosLib/src/AChaosDuffing.h
index 338c324..f94b638 100644
--- a/gui/libs/ofxAChaosLib/src/AChaosDuffing.h
+++ b/gui/libs/ofxAChaosLib/src/AChaosDuffing.h
@@ -17,6 +17,7 @@ public:
~AChaosDuffing(){}
vector<string> param_labels={"a","b","w","t","dt","",""};
+ virtual vector<string> &get_param_labels(){return this->param_labels;};
virtual void setup(REAL * params = NULL){
diff --git a/gui/libs/ofxAChaosLib/src/AChaosGinger.h b/gui/libs/ofxAChaosLib/src/AChaosGinger.h
index 53a1be2..f18094c 100644
--- a/gui/libs/ofxAChaosLib/src/AChaosGinger.h
+++ b/gui/libs/ofxAChaosLib/src/AChaosGinger.h
@@ -17,6 +17,7 @@ public:
~AChaosGinger(){}
vector<string> param_labels={"seed","",""};
+ virtual vector<string> &get_param_labels(){return this->param_labels;};
virtual void setup(REAL * params = NULL){
diff --git a/gui/libs/ofxAChaosLib/src/AChaosHenon.h b/gui/libs/ofxAChaosLib/src/AChaosHenon.h
index cd42d8d..929a354 100644
--- a/gui/libs/ofxAChaosLib/src/AChaosHenon.h
+++ b/gui/libs/ofxAChaosLib/src/AChaosHenon.h
@@ -17,6 +17,7 @@ public:
AChaosHenon(){}
~AChaosHenon(){}
+ virtual vector<string> &get_param_labels(){return this->param_labels;};
virtual void setup(REAL * params = NULL){
AChaosBase::init(params, 4,2);
diff --git a/gui/libs/ofxAChaosLib/src/AChaosHenonF.h b/gui/libs/ofxAChaosLib/src/AChaosHenonF.h
index 384a6ab..d2a1c5a 100644
--- a/gui/libs/ofxAChaosLib/src/AChaosHenonF.h
+++ b/gui/libs/ofxAChaosLib/src/AChaosHenonF.h
@@ -18,6 +18,7 @@ public:
vector<string> param_labels={"a","b","","","dt","t"};
+ virtual vector<string> &get_param_labels(){return this->param_labels;};
virtual void setup(REAL * params = NULL){
AChaosBase::init(params, 5,2);
diff --git a/gui/libs/ofxAChaosLib/src/AChaosHenonHeilles.h b/gui/libs/ofxAChaosLib/src/AChaosHenonHeilles.h
index c1aeb98..6638474 100644
--- a/gui/libs/ofxAChaosLib/src/AChaosHenonHeilles.h
+++ b/gui/libs/ofxAChaosLib/src/AChaosHenonHeilles.h
@@ -17,6 +17,7 @@ public:
~AChaosHenonHeilles(){}
vector<string> param_labels={"","","","","e","dt"};
+ virtual vector<string> &get_param_labels(){return this->param_labels;};
virtual void setup(REAL * params = NULL){
diff --git a/gui/libs/ofxAChaosLib/src/AChaosHenonPhase.h b/gui/libs/ofxAChaosLib/src/AChaosHenonPhase.h
index b5ffc42..02dec0f 100644
--- a/gui/libs/ofxAChaosLib/src/AChaosHenonPhase.h
+++ b/gui/libs/ofxAChaosLib/src/AChaosHenonPhase.h
@@ -17,6 +17,7 @@ public:
~AChaosHenonPhase(){}
vector<string> param_labels={"a","b","","","dt","t"};
+ virtual vector<string> &get_param_labels(){return this->param_labels;};
virtual void setup(REAL * params = NULL){
diff --git a/gui/libs/ofxAChaosLib/src/AChaosIkeda.h b/gui/libs/ofxAChaosLib/src/AChaosIkeda.h
index 105271b..50e5b10 100644
--- a/gui/libs/ofxAChaosLib/src/AChaosIkeda.h
+++ b/gui/libs/ofxAChaosLib/src/AChaosIkeda.h
@@ -17,6 +17,7 @@ public:
~AChaosIkeda(){}
vector<string> param_labels={"a","b","k","p","",""};
+ virtual vector<string> &get_param_labels(){return this->param_labels;};
virtual void setup(REAL * params = NULL){
diff --git a/gui/libs/ofxAChaosLib/src/AChaosJong.h b/gui/libs/ofxAChaosLib/src/AChaosJong.h
index 6fe0f2b..f1fca64 100644
--- a/gui/libs/ofxAChaosLib/src/AChaosJong.h
+++ b/gui/libs/ofxAChaosLib/src/AChaosJong.h
@@ -18,6 +18,7 @@ public:
AChaosJong(){}
~AChaosJong(){}
+ virtual vector<string> &get_param_labels(){return this->param_labels;};
virtual void setup(REAL * params = NULL){
diff --git a/gui/libs/ofxAChaosLib/src/AChaosLogistic.h b/gui/libs/ofxAChaosLib/src/AChaosLogistic.h
index c54cebd..298ffef 100644
--- a/gui/libs/ofxAChaosLib/src/AChaosLogistic.h
+++ b/gui/libs/ofxAChaosLib/src/AChaosLogistic.h
@@ -17,6 +17,7 @@ public:
~AChaosLogistic(){}
vector<string> param_labels={"seed","lambda"};
+ virtual vector<string> &get_param_labels(){return this->param_labels;};
virtual void setup(REAL * params = NULL){
diff --git a/gui/libs/ofxAChaosLib/src/AChaosLogistic1.h b/gui/libs/ofxAChaosLib/src/AChaosLogistic1.h
index 488ca38..27cbd61 100644
--- a/gui/libs/ofxAChaosLib/src/AChaosLogistic1.h
+++ b/gui/libs/ofxAChaosLib/src/AChaosLogistic1.h
@@ -17,6 +17,7 @@ public:
~AChaosLogistic1(){}
vector<string> param_labels={"seed","lambda","gamma"};
+ virtual vector<string> &get_param_labels(){return this->param_labels;};
virtual void setup(REAL * params = NULL){
diff --git a/gui/libs/ofxAChaosLib/src/AChaosLorenz.h b/gui/libs/ofxAChaosLib/src/AChaosLorenz.h
index 72e1efb..0f1ae2f 100644
--- a/gui/libs/ofxAChaosLib/src/AChaosLorenz.h
+++ b/gui/libs/ofxAChaosLib/src/AChaosLorenz.h
@@ -21,6 +21,7 @@ public:
AChaosLorenz(){}
~AChaosLorenz(){}
+ virtual vector<string> &get_param_labels(){return this->param_labels;};
virtual void setup(REAL * params = NULL){
diff --git a/gui/libs/ofxAChaosLib/src/AChaosLorenzEuler.h b/gui/libs/ofxAChaosLib/src/AChaosLorenzEuler.h
index d23889d..3b3f0ec 100644
--- a/gui/libs/ofxAChaosLib/src/AChaosLorenzEuler.h
+++ b/gui/libs/ofxAChaosLib/src/AChaosLorenzEuler.h
@@ -21,7 +21,8 @@ public:
~AChaosLorenzEuler(){}
vector<string> param_labels={"a","r","c","nx","ny","nz","dt"};
-
+ virtual vector<string> &get_param_labels(){return this->param_labels;};
+
virtual void setup(REAL * params = NULL){
AChaosBase::init(params, 7, 3);
diff --git a/gui/libs/ofxAChaosLib/src/AChaosLyapunov.h b/gui/libs/ofxAChaosLib/src/AChaosLyapunov.h
index b894ecd..caec7ff 100644
--- a/gui/libs/ofxAChaosLib/src/AChaosLyapunov.h
+++ b/gui/libs/ofxAChaosLib/src/AChaosLyapunov.h
@@ -21,6 +21,7 @@ public:
AChaosLyapunov(){}
~AChaosLyapunov(){}
+ virtual vector<string> &get_param_labels(){return this->param_labels;};
virtual void setup(REAL * params = NULL){
diff --git a/gui/libs/ofxAChaosLib/src/AChaosNavierStokes.h b/gui/libs/ofxAChaosLib/src/AChaosNavierStokes.h
index 885379e..82b1aee 100644
--- a/gui/libs/ofxAChaosLib/src/AChaosNavierStokes.h
+++ b/gui/libs/ofxAChaosLib/src/AChaosNavierStokes.h
@@ -17,6 +17,7 @@ public:
AChaosNavierStokes(){}
~AChaosNavierStokes(){}
+ virtual vector<string> &get_param_labels(){return this->param_labels;};
virtual void setup(REAL * params = NULL){
diff --git a/gui/libs/ofxAChaosLib/src/AChaosNavierStokesEuler.h b/gui/libs/ofxAChaosLib/src/AChaosNavierStokesEuler.h
index 9018ce4..b478c72 100644
--- a/gui/libs/ofxAChaosLib/src/AChaosNavierStokesEuler.h
+++ b/gui/libs/ofxAChaosLib/src/AChaosNavierStokesEuler.h
@@ -17,6 +17,7 @@ public:
~AChaosNavierStokesEuler(){}
vector<string> param_labels={"nv","nw","nx","ny","nz","r","dt"};
+ virtual vector<string> &get_param_labels(){return this->param_labels;};
virtual void setup(REAL * params = NULL){
diff --git a/gui/libs/ofxAChaosLib/src/AChaosRossler.h b/gui/libs/ofxAChaosLib/src/AChaosRossler.h
index 3bbbc42..e7c9fa2 100644
--- a/gui/libs/ofxAChaosLib/src/AChaosRossler.h
+++ b/gui/libs/ofxAChaosLib/src/AChaosRossler.h
@@ -21,6 +21,7 @@ public:
AChaosRossler(){}
~AChaosRossler(){}
+ virtual vector<string> &get_param_labels(){return this->param_labels;};
virtual void setup(REAL * params = NULL){
diff --git a/gui/libs/ofxAChaosLib/src/AChaosStein.h b/gui/libs/ofxAChaosLib/src/AChaosStein.h
index f720bca..b7276fb 100644
--- a/gui/libs/ofxAChaosLib/src/AChaosStein.h
+++ b/gui/libs/ofxAChaosLib/src/AChaosStein.h
@@ -18,6 +18,7 @@ public:
~AChaosStein(){}
vector<string> param_labels={"seed","lambda"};
+ virtual vector<string> &get_param_labels(){return this->param_labels;};
virtual void setup(REAL * params = NULL){
diff --git a/gui/libs/ofxAChaosLib/src/AChaosStein1.h b/gui/libs/ofxAChaosLib/src/AChaosStein1.h
index df51da9..732d32e 100644
--- a/gui/libs/ofxAChaosLib/src/AChaosStein1.h
+++ b/gui/libs/ofxAChaosLib/src/AChaosStein1.h
@@ -17,6 +17,7 @@ public:
~AChaosStein1(){}
vector<string> param_labels={"","lambda"};
+ virtual vector<string> &get_param_labels(){return this->param_labels;};
virtual void setup(REAL * params = NULL){
diff --git a/gui/libs/ofxAChaosLib/src/AChaosTorus.h b/gui/libs/ofxAChaosLib/src/AChaosTorus.h
index 4426f4a..2ab17b6 100644
--- a/gui/libs/ofxAChaosLib/src/AChaosTorus.h
+++ b/gui/libs/ofxAChaosLib/src/AChaosTorus.h
@@ -18,6 +18,7 @@ public:
AChaosTorus(){}
~AChaosTorus(){}
+ virtual vector<string> &get_param_labels(){return this->param_labels;};
virtual void setup(REAL * params = NULL){
diff --git a/gui/libs/ofxAChaosLib/src/AChaosVerhulst.h b/gui/libs/ofxAChaosLib/src/AChaosVerhulst.h
index 78f5b32..592df43 100644
--- a/gui/libs/ofxAChaosLib/src/AChaosVerhulst.h
+++ b/gui/libs/ofxAChaosLib/src/AChaosVerhulst.h
@@ -17,6 +17,7 @@ public:
~AChaosVerhulst(){}
vector<string> param_labels={"seed","lambda"};
+ virtual vector<string> &get_param_labels(){return this->param_labels;};
virtual void setup(REAL * params = NULL){
diff --git a/gui/obj/osx/Release/.compiler_flags b/gui/obj/osx/Release/.compiler_flags
index 1f47f8d..934b07c 100644
--- a/gui/obj/osx/Release/.compiler_flags
+++ b/gui/obj/osx/Release/.compiler_flags
@@ -1 +1 @@
--Os -mtune=native -DNDEBUG -stdlib=libc++ -Wall -fexceptions -fpascal-strings -mmacosx-version-min=10.9 -D__MACOSX_CORE__ -fPIC -x objective-c++ -std=c++11 -I../../openFrameworks/libs/FreeImage/include -I../../openFrameworks/libs/boost/include -I../../openFrameworks/libs/boost/include/boost -I../../openFrameworks/libs/cairo/include -I../../openFrameworks/libs/cairo/include/cairo -I../../openFrameworks/libs/curl/include -I../../openFrameworks/libs/curl/include/curl -I../../openFrameworks/libs/fmodex/include -I../../openFrameworks/libs/freetype/include -I../../openFrameworks/libs/freetype/include/freetype2 -I../../openFrameworks/libs/freetype/include/freetype2/freetype -I../../openFrameworks/libs/freetype/include/freetype2/freetype/config -I../../openFrameworks/libs/freetype/include/freetype2/freetype/internal -I../../openFrameworks/libs/freetype/include/freetype2/freetype/internal/services -I../../openFrameworks/libs/glew/include -I../../openFrameworks/libs/glew/include/GL -I../../openFrameworks/libs/glfw/include -I../../openFrameworks/libs/glfw/include/GLFW -I../../openFrameworks/libs/glm/include -I../../openFrameworks/libs/glm/include/glm -I../../openFrameworks/libs/glm/include/glm/detail -I../../openFrameworks/libs/glm/include/glm/gtc -I../../openFrameworks/libs/glm/include/glm/gtx -I../../openFrameworks/libs/glm/include/glm/simd -I../../openFrameworks/libs/json/include -I../../openFrameworks/libs/kiss/include -I../../openFrameworks/libs/pugixml/include -I../../openFrameworks/libs/rtAudio/include -I../../openFrameworks/libs/tess2/include -I../../openFrameworks/libs/uriparser/include -I../../openFrameworks/libs/uriparser/include/uriparser -I../../openFrameworks/libs/utf8/include -I../../openFrameworks/libs/utf8/include/utf8 -I../../openFrameworks/libs/utf8cpp/include -I../../openFrameworks/libs/utf8cpp/include/utf8 -I../../openFrameworks/libs/openFrameworks -I../../openFrameworks/libs/openFrameworks/3d -I../../openFrameworks/libs/openFrameworks/app -I../../openFrameworks/libs/openFrameworks/communication -I../../openFrameworks/libs/openFrameworks/events -I../../openFrameworks/libs/openFrameworks/gl -I../../openFrameworks/libs/openFrameworks/graphics -I../../openFrameworks/libs/openFrameworks/math -I../../openFrameworks/libs/openFrameworks/sound -I../../openFrameworks/libs/openFrameworks/types -I../../openFrameworks/libs/openFrameworks/utils -I../../openFrameworks/libs/openFrameworks/video -I/work/workspace/raverony/gui/libs -I/work/workspace/raverony/gui/libs/ofxAChaosLib -I/work/workspace/raverony/gui/libs/ofxAChaosLib/src -I/work/workspace/raverony/gui/src -I/work/workspace/openFrameworks/addons/ofxNDI/src -I/work/workspace/openFrameworks/addons/ofxNDI/libs -I/work/workspace/openFrameworks/addons/ofxNDI/libs/linndi -I/work/workspace/openFrameworks/addons/ofxNDI/libs/linndi/include -I/work/workspace/openFrameworks/addons/ofxNDI/libs/linndi/lib -I/work/workspace/openFrameworks/addons/ofxNDI/libs/linndi/lib/osx -I/work/workspace/openFrameworks/addons/ofxGui/src -I/work/workspace/openFrameworks/addons/ofxHelios/src -I/work/workspace/openFrameworks/addons/ofxHelios/libs -I/work/workspace/openFrameworks/addons/ofxHelios/libs/libheliosdac -I/work/workspace/openFrameworks/addons/ofxHelios/libs/libheliosdac/includes -I/work/workspace/openFrameworks/addons/ofxHelios/libs/libheliosdac/lib -I/work/workspace/openFrameworks/addons/ofxHelios/libs/libheliosdac/lib/osx -I/work/workspace/openFrameworks/addons/ofxHelios/libs/libusb -I/work/workspace/openFrameworks/addons/ofxHelios/libs/libusb/include -I/work/workspace/openFrameworks/addons/ofxHelios/libs/libusb/lib -I/work/workspace/openFrameworks/addons/ofxHelios/libs/libusb/lib/osx -I/work/workspace/openFrameworks/addons/ofxOpenCv/src -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2 -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/calib3d -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/core -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/core/cuda -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/core/cuda/detail -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/core/hal -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/features2d -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/highgui -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/imgcodecs -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/imgproc -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/imgproc/detail -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/ml -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/objdetect -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/photo -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/shape -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/stitching -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/stitching/detail -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/superres -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/video -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/videoio -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/videostab -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/lib -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/lib/osx -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/license -I/work/workspace/openFrameworks/addons/ofxSvg/src -I/work/workspace/openFrameworks/addons/ofxSvg/libs -I/work/workspace/openFrameworks/addons/ofxSvg/libs/libxml2 -I/work/workspace/openFrameworks/addons/ofxSvg/libs/libxml2/include -I/work/workspace/openFrameworks/addons/ofxSvg/libs/libxml2/include/libxml -I/work/workspace/openFrameworks/addons/ofxSvg/libs/libxml2/lib -I/work/workspace/openFrameworks/addons/ofxSvg/libs/libxml2/lib/osx -I/work/workspace/openFrameworks/addons/ofxSvg/libs/libxml2/license -I/work/workspace/openFrameworks/addons/ofxSvg/libs/svgtiny -I/work/workspace/openFrameworks/addons/ofxSvg/libs/svgtiny/include -I/work/workspace/openFrameworks/addons/ofxSvg/libs/svgtiny/lib -I/work/workspace/openFrameworks/addons/ofxSvg/libs/svgtiny/lib/osx -I/work/workspace/openFrameworks/addons/ofxSvg/libs/svgtiny/license -I/work/workspace/openFrameworks/addons/ofxXmlSettings/src -I/work/workspace/openFrameworks/addons/ofxXmlSettings/libs -I/work/workspace/openFrameworks/addons/ofxClipper/src -I/work/workspace/openFrameworks/addons/ofxClipper/libs -I/work/workspace/openFrameworks/addons/ofxClipper/libs/clipper -I/work/workspace/openFrameworks/addons/ofxClipper/libs/clipper/src -I/work/workspace/openFrameworks/addons/ofxClipper/libs/clipper/src/cpp -I/work/workspace/openFrameworks/addons/ofxClipper/libs/ofxClipper -I/work/workspace/openFrameworks/addons/ofxClipper/libs/ofxClipper/include -I/work/workspace/openFrameworks/addons/ofxClipper/libs/ofxClipper/include/ofx -I/work/workspace/openFrameworks/addons/ofxClipper/libs/ofxClipper/src -I/work/workspace/openFrameworks/addons/ofxMidi/src -I/work/workspace/openFrameworks/addons/ofxMidi/src/desktop -I/work/workspace/openFrameworks/addons/ofxMidi/src/ios -I/work/workspace/openFrameworks/addons/ofxMidi/libs -I/work/workspace/openFrameworks/addons/ofxMidi/libs/pgmidi -I/work/workspace/openFrameworks/addons/ofxMidi/libs/rtmidi -I/work/workspace/openFrameworks/addons/ofxGist/src -I/work/workspace/openFrameworks/addons/ofxGist/libs -I/work/workspace/openFrameworks/addons/ofxGist/libs/Gist -I/work/workspace/openFrameworks/addons/ofxGist/libs/Gist/src -I/work/workspace/openFrameworks/addons/ofxGist/libs/Gist/src/core -I/work/workspace/openFrameworks/addons/ofxGist/libs/Gist/src/mfcc -I/work/workspace/openFrameworks/addons/ofxGist/libs/Gist/src/onset-detection-functions -I/work/workspace/openFrameworks/addons/ofxGist/libs/Gist/src/pitch -I/work/workspace/openFrameworks/addons/ofxGist/libs/kiss_fft130 -I/work/workspace/openFrameworks/addons/ofxGist/libs/Stark-Plumbley -I/work/workspace/openFrameworks/addons/ofxOpenALSoundPlayer/src -I/work/workspace/openFrameworks/addons/ofxOpenALSoundPlayer/libs -I/work/workspace/openFrameworks/addons/ofxOpenALSoundPlayer/libs/kiss -I/work/workspace/openFrameworks/addons/ofxOpenALSoundPlayer/libs/kiss/include -I/work/workspace/openFrameworks/addons/ofxOpenALSoundPlayer/libs/kiss/src -I/work/workspace/openFrameworks/addons/ofxOpenALSoundPlayer/libs/sndfile -I/work/workspace/openFrameworks/addons/ofxOpenALSoundPlayer/libs/sndfile/include -I/work/workspace/openFrameworks/addons/ofxOpenALSoundPlayer/libs/sndfile/lib -I/work/workspace/openFrameworks/addons/ofxOpenALSoundPlayer/libs/sndfile/lib/osx -I/work/workspace/openFrameworks/addons/ofxOpenALSoundPlayer/libs/sndfile/lib/vs2010 -I/work/workspace/openFrameworks/addons/ofxOpenALSoundPlayer/libs/sndfile/lib/win_cb -I/work/workspace/openFrameworks/addons/ofxOpenALSoundPlayer/libs/sndfile/redist -I/work/workspace/openFrameworks/addons/ofxHistoryPlot/src -stdlib=libc++ -mmacosx-version-min=10.9 -v -F/Library/Frameworks -framework OpenAL -framework Accelerate -framework QTKit -framework AGL -framework ApplicationServices -framework AudioToolbox -framework CoreAudio -framework CoreFoundation -framework CoreServices -framework OpenGL -framework IOKit -framework Cocoa -framework CoreVideo -framework AVFoundation -framework CoreMedia -framework QuartzCore -framework Security -framework LDAP -framework CoreMIDI -framework OpenAL
+-Os -mtune=native -DNDEBUG -stdlib=libc++ -Wall -fexceptions -fpascal-strings -mmacosx-version-min=10.9 -D__MACOSX_CORE__ -fPIC -x objective-c++ -std=c++11 -std=c++14 -I../../openFrameworks/libs/FreeImage/include -I../../openFrameworks/libs/boost/include -I../../openFrameworks/libs/boost/include/boost -I../../openFrameworks/libs/cairo/include -I../../openFrameworks/libs/cairo/include/cairo -I../../openFrameworks/libs/curl/include -I../../openFrameworks/libs/curl/include/curl -I../../openFrameworks/libs/fmodex/include -I../../openFrameworks/libs/freetype/include -I../../openFrameworks/libs/freetype/include/freetype2 -I../../openFrameworks/libs/freetype/include/freetype2/freetype -I../../openFrameworks/libs/freetype/include/freetype2/freetype/config -I../../openFrameworks/libs/freetype/include/freetype2/freetype/internal -I../../openFrameworks/libs/freetype/include/freetype2/freetype/internal/services -I../../openFrameworks/libs/glew/include -I../../openFrameworks/libs/glew/include/GL -I../../openFrameworks/libs/glfw/include -I../../openFrameworks/libs/glfw/include/GLFW -I../../openFrameworks/libs/glm/include -I../../openFrameworks/libs/glm/include/glm -I../../openFrameworks/libs/glm/include/glm/detail -I../../openFrameworks/libs/glm/include/glm/gtc -I../../openFrameworks/libs/glm/include/glm/gtx -I../../openFrameworks/libs/glm/include/glm/simd -I../../openFrameworks/libs/json/include -I../../openFrameworks/libs/kiss/include -I../../openFrameworks/libs/pugixml/include -I../../openFrameworks/libs/rtAudio/include -I../../openFrameworks/libs/tess2/include -I../../openFrameworks/libs/uriparser/include -I../../openFrameworks/libs/uriparser/include/uriparser -I../../openFrameworks/libs/utf8/include -I../../openFrameworks/libs/utf8/include/utf8 -I../../openFrameworks/libs/utf8cpp/include -I../../openFrameworks/libs/utf8cpp/include/utf8 -I../../openFrameworks/libs/openFrameworks -I../../openFrameworks/libs/openFrameworks/3d -I../../openFrameworks/libs/openFrameworks/app -I../../openFrameworks/libs/openFrameworks/communication -I../../openFrameworks/libs/openFrameworks/events -I../../openFrameworks/libs/openFrameworks/gl -I../../openFrameworks/libs/openFrameworks/graphics -I../../openFrameworks/libs/openFrameworks/math -I../../openFrameworks/libs/openFrameworks/sound -I../../openFrameworks/libs/openFrameworks/types -I../../openFrameworks/libs/openFrameworks/utils -I../../openFrameworks/libs/openFrameworks/video -I/work/workspace/raverony/gui/libs -I/work/workspace/raverony/gui/libs/ofxAChaosLib -I/work/workspace/raverony/gui/libs/ofxAChaosLib/src -I/work/workspace/raverony/gui/src -I/work/workspace/openFrameworks/addons/ofxNDI/src -I/work/workspace/openFrameworks/addons/ofxNDI/libs -I/work/workspace/openFrameworks/addons/ofxNDI/libs/linndi -I/work/workspace/openFrameworks/addons/ofxNDI/libs/linndi/include -I/work/workspace/openFrameworks/addons/ofxNDI/libs/linndi/lib -I/work/workspace/openFrameworks/addons/ofxNDI/libs/linndi/lib/osx -I/work/workspace/openFrameworks/addons/ofxGui/src -I/work/workspace/openFrameworks/addons/ofxHelios/src -I/work/workspace/openFrameworks/addons/ofxHelios/libs -I/work/workspace/openFrameworks/addons/ofxHelios/libs/libheliosdac -I/work/workspace/openFrameworks/addons/ofxHelios/libs/libheliosdac/includes -I/work/workspace/openFrameworks/addons/ofxHelios/libs/libheliosdac/src -I/work/workspace/openFrameworks/addons/ofxHelios/libs/libusb -I/work/workspace/openFrameworks/addons/ofxHelios/libs/libusb/include -I/work/workspace/openFrameworks/addons/ofxHelios/libs/libusb/lib -I/work/workspace/openFrameworks/addons/ofxHelios/libs/libusb/lib/osx -I/work/workspace/openFrameworks/addons/ofxOpenCv/src -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2 -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/calib3d -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/core -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/core/cuda -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/core/cuda/detail -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/core/hal -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/features2d -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/highgui -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/imgcodecs -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/imgproc -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/imgproc/detail -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/ml -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/objdetect -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/photo -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/shape -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/stitching -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/stitching/detail -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/superres -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/video -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/videoio -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/videostab -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/lib -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/lib/osx -I/work/workspace/openFrameworks/addons/ofxOpenCv/libs/opencv/license -I/work/workspace/openFrameworks/addons/ofxSvg/src -I/work/workspace/openFrameworks/addons/ofxSvg/libs -I/work/workspace/openFrameworks/addons/ofxSvg/libs/libxml2 -I/work/workspace/openFrameworks/addons/ofxSvg/libs/libxml2/include -I/work/workspace/openFrameworks/addons/ofxSvg/libs/libxml2/include/libxml -I/work/workspace/openFrameworks/addons/ofxSvg/libs/libxml2/lib -I/work/workspace/openFrameworks/addons/ofxSvg/libs/libxml2/lib/osx -I/work/workspace/openFrameworks/addons/ofxSvg/libs/libxml2/license -I/work/workspace/openFrameworks/addons/ofxSvg/libs/svgtiny -I/work/workspace/openFrameworks/addons/ofxSvg/libs/svgtiny/include -I/work/workspace/openFrameworks/addons/ofxSvg/libs/svgtiny/lib -I/work/workspace/openFrameworks/addons/ofxSvg/libs/svgtiny/lib/osx -I/work/workspace/openFrameworks/addons/ofxSvg/libs/svgtiny/license -I/work/workspace/openFrameworks/addons/ofxXmlSettings/src -I/work/workspace/openFrameworks/addons/ofxXmlSettings/libs -I/work/workspace/openFrameworks/addons/ofxClipper/src -I/work/workspace/openFrameworks/addons/ofxClipper/libs -I/work/workspace/openFrameworks/addons/ofxClipper/libs/clipper -I/work/workspace/openFrameworks/addons/ofxClipper/libs/clipper/src -I/work/workspace/openFrameworks/addons/ofxClipper/libs/clipper/src/cpp -I/work/workspace/openFrameworks/addons/ofxClipper/libs/ofxClipper -I/work/workspace/openFrameworks/addons/ofxClipper/libs/ofxClipper/include -I/work/workspace/openFrameworks/addons/ofxClipper/libs/ofxClipper/include/ofx -I/work/workspace/openFrameworks/addons/ofxClipper/libs/ofxClipper/src -I/work/workspace/openFrameworks/addons/ofxMidi/src -I/work/workspace/openFrameworks/addons/ofxMidi/src/desktop -I/work/workspace/openFrameworks/addons/ofxMidi/src/ios -I/work/workspace/openFrameworks/addons/ofxMidi/libs -I/work/workspace/openFrameworks/addons/ofxMidi/libs/pgmidi -I/work/workspace/openFrameworks/addons/ofxMidi/libs/rtmidi -I/work/workspace/openFrameworks/addons/ofxGist/src -I/work/workspace/openFrameworks/addons/ofxGist/libs -I/work/workspace/openFrameworks/addons/ofxGist/libs/Gist -I/work/workspace/openFrameworks/addons/ofxGist/libs/Gist/src -I/work/workspace/openFrameworks/addons/ofxGist/libs/Gist/src/core -I/work/workspace/openFrameworks/addons/ofxGist/libs/Gist/src/mfcc -I/work/workspace/openFrameworks/addons/ofxGist/libs/Gist/src/onset-detection-functions -I/work/workspace/openFrameworks/addons/ofxGist/libs/Gist/src/pitch -I/work/workspace/openFrameworks/addons/ofxGist/libs/kiss_fft130 -I/work/workspace/openFrameworks/addons/ofxGist/libs/Stark-Plumbley -I/work/workspace/openFrameworks/addons/ofxOpenALSoundPlayer/src -I/work/workspace/openFrameworks/addons/ofxOpenALSoundPlayer/libs -I/work/workspace/openFrameworks/addons/ofxOpenALSoundPlayer/libs/kiss -I/work/workspace/openFrameworks/addons/ofxOpenALSoundPlayer/libs/kiss/include -I/work/workspace/openFrameworks/addons/ofxOpenALSoundPlayer/libs/kiss/src -I/work/workspace/openFrameworks/addons/ofxOpenALSoundPlayer/libs/sndfile -I/work/workspace/openFrameworks/addons/ofxOpenALSoundPlayer/libs/sndfile/include -I/work/workspace/openFrameworks/addons/ofxOpenALSoundPlayer/libs/sndfile/lib -I/work/workspace/openFrameworks/addons/ofxOpenALSoundPlayer/libs/sndfile/lib/osx -I/work/workspace/openFrameworks/addons/ofxOpenALSoundPlayer/libs/sndfile/lib/vs2010 -I/work/workspace/openFrameworks/addons/ofxOpenALSoundPlayer/libs/sndfile/lib/win_cb -I/work/workspace/openFrameworks/addons/ofxOpenALSoundPlayer/libs/sndfile/redist -I/work/workspace/openFrameworks/addons/ofxHistoryPlot/src -stdlib=libc++ -mmacosx-version-min=10.9 -v -F/Library/Frameworks -framework OpenAL -framework Accelerate -framework QTKit -framework AGL -framework ApplicationServices -framework AudioToolbox -framework CoreAudio -framework CoreFoundation -framework CoreServices -framework OpenGL -framework IOKit -framework Cocoa -framework CoreVideo -framework AVFoundation -framework CoreMedia -framework QuartzCore -framework Security -framework LDAP -framework CoreMIDI -framework OpenAL
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;
diff --git a/gui/src/chaoslib.h b/gui/src/chaoslib.h
new file mode 100644
index 0000000..9196e88
--- /dev/null
+++ b/gui/src/chaoslib.h
@@ -0,0 +1,203 @@
+#pragma once
+
+#include "ofMain.h"
+#include "ofxGui.h"
+#include "ofxAChaoslib.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->get_param_labels().size()<<" parameters";
+ //ofLog()<<"AChaosplugin copied "<<name<<" with "<<plugin->get_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->get_param_labels()[i].size()){
+ params.push_back(ofParameter <float>().set(plugin->get_param_labels()[i],plugin->iv[i],0,plugin->iv[i]*5));
+ }
+ }
+ }
+
+};
+
+class Chaosplugin{
+ public:
+ Chaosplugin(){
+
+ }
+ vector <AChaosplugin*> plugins;
+ int whichplugin;
+ ofParameter <string> name;
+};
+
+
+class Chaoslib{
+ public:
+ vector <AChaosplugin*> plugins;
+ vector <vector <REAL>> params;
+ int whichplugin;
+ ofParameter <string> name;
+ Chaoslib(){
+ //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();
+ }
+
+
+
+ AChaosbase* get_plugin(){
+ return plugins[whichplugin]->plugin;
+ }
+ AChaosbase* get_params(){
+ return plugins[whichplugin]->params;
+ }
+ 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;
+ }
+};
+
+class chaosPanel : public ofxPanel {
+ public:
+ chaosPanel(){
+ ofRegisterKeyEvents(this, defaultEventsPriority);
+ }
+ bool isSelected;
+ ofParameter<bool> active;
+ ofParameter<float> amount;
+ ofParameter<float> scale; //?per plugin??
+ bool mouseMoved(ofMouseEventArgs & args){
+ if (args.x>getPosition().x&&
+ args.x-getPosition().x<getWidth()&&
+ args.y>getPosition().y&&
+ args.y-getPosition().y<getHeight()){
+ if (!isSelected){
+ isSelected=true;
+ setBorderColor(ofColor(255,128,0));
+ //ofLog()<<"IN> "<<args.x<<","<<args.y;
+ }
+ }
+ else {
+ if (isSelected){
+ isSelected=false;
+ setBorderColor(ofColor(0,0,0));
+ //ofLog()<<"OUT> "<<args.x<<","<<args.y;
+ }
+ }
+ }
+ bool keyPressed(ofKeyEventArgs & args){
+ if (isSelected){
+ //ofLog()<<"KEY> "<<args.key;
+ switch(args.key){
+ case 3812:{
+ chaosloader.previous();
+ update_sliders();
+ break;
+ }
+ case 3814:{
+ chaosloader.next();
+ update_sliders();
+ break;
+ }
+ }
+ }
+ }
+ bool keyReleased(ofKeyEventArgs & args){
+ //required in order to call ofRegisterKeyEvents
+ }
+ //this is a bit tangled
+ /*
+ audioplotter stores drawings that it extracts from audio
+ chaosloader manages a set of plugins that affect polylines
+ audio plotter calls chaosloader a set of lines and it affects them
+ chaosloader should own it's own params (use,scale,amount)
+ should expose compute(vector polyline)
+
+ so we could have
+
+ audio source
+ <>
+ transformer
+ <>
+ chaos
+ <>
+ drawing
+
+ */
+
+ int shown=0;
+
+ void update_sliders(){
+ clear();
+ add(plugin_label.setup(chaosloader.name));
+ add(active.set("use",false));
+ add(amount.set("amount", 0.0f, -0.1f, 0.1f));
+
+ for (int i=0;i<chaosloader.get_params().size();i++){
+ if (chaosloader.get_plugin()->get_param_labels()[i].size()){
+
+ add(chaosloader.get_params()[i]);
+
+ }
+ }
+ }
+ colourPolyline compute_chaos(colourPolyline& poly){
+ float chaosscale=1.0f;
+ colourPolyline tempPoly;
+ for (int i=0;i<poly.size();i++){
+ REAL iv[chaosloader.get_plugin()->iv.size()];
+ iv[0]=poly[i].x-(ofGetWidth()/2)/chaosscale;
+ iv[1]=poly[i].y-(ofGetHeight()/2)/chaosscale;
+ //chaos_a,chaos_b,chaos_k,chaos_p};
+ //ofLog() << i<<": calculating chaos with: "<<poly[i].x<<"->"<<((poly[i].x-(ofGetWidth()/2))/chaosscale)<<" "<<poly[i].y<<"->"<<((poly[i].y-(ofGetHeight()/2))/chaosscale)<<" "<<attractor.a<<" "<<attractor.b<<" "<<attractor.k<<" "<<attractor.p;
+ chaosloader.get_plugin()->set(iv);
+ chaosloader.get_plugin()->calc();
+ //ofLog() << i<<": got points: "<<attractor.nx<<" "<<attractor.ny;
+ tempPoly.addVertex(
+ ofPoint((chaosloader.get_plugin()->ov[0]*chaosscale)+(ofGetWidth()/2),
+ (chaosloader.get_plugin()->ov[1]*chaosscale)+(ofGetHeight()/2)),
+ poly.getColourAt(i));
+ }
+ return tempPoly;
+}
+private:
+ Chaoslib chaosloader;
+ ofxLabel plugin_label;
+ ofParameter<string> plugin_name;
+
+
+};
+
diff --git a/gui/src/lineSegmenter.cpp b/gui/src/lineSegmenter.cpp
new file mode 100644
index 0000000..14f6e24
--- /dev/null
+++ b/gui/src/lineSegmenter.cpp
@@ -0,0 +1,71 @@
+ #include "lineSegmenter.h"
+
+const vector <ofPolyline> & lineSegmenter::getSegments(int num,float coverage, float phase){
+ //num - number of segments
+ //coverage - amount that each segment fills it's slot from 0-1
+ //phase - from 0-1
+
+ //if the path is closed, we can make a segment that crosses the end/beginning
+ //however we want to be able to deal with open paths
+
+/*
+
+segments 0...n - 1
+phase 0...1
+
+phase 0
+
+segment 0 is (0 -> coverage) / n
+segment n - 1 is ((0 -> coverage) + (n-1)) /n
+
+phase 1: has to be the loop target, it has to look identical
+
+segment 0 is (1 -> coverage) / n
+segment n - 1 is (1 - > coverage) + (n-1)
+
+*/
+
+
+ segments.clear();
+
+ for (int i=0;i<num;i++){
+ float startIndex=line.getIndexAtPercent((phase+i)/num); //always <1
+ float endPoint=(phase+i+coverage)/num; //can be >1
+ float endIndex=line.getIndexAtPercent(endPoint>1.0f?endPoint-1.0f:endPoint);
+ ofPolyline segment;
+ segment.addVertex(line.getPointAtIndexInterpolated(startIndex));
+ for (int j=(int)ceil(startIndex);j<(endPoint>1?line.size():(int)ceil(endIndex));j++){
+ segment.addVertex(line[j]);
+ }
+ if (endPoint>1){
+ segments.push_back(segment);
+ segment.clear();
+ for (int j=0;j<(int)ceil(endIndex);j++){
+ segment.addVertex(line[j]);
+ }
+ segment.addVertex(line.getPointAtIndexInterpolated(endIndex));
+ }
+ else {
+ segment.addVertex(line.getPointAtIndexInterpolated(endIndex));
+ }
+ segments.push_back(segment);
+ }
+
+ return segments;
+}
+
+void lineSegmenter::draw(){
+ line.draw();
+ return;
+}
+int lineSegmenter::size(){
+ return line.size();
+}
+
+
+/*
+
+
+
+
+*/ \ No newline at end of file
diff --git a/gui/src/lineSegmenter.h b/gui/src/lineSegmenter.h
new file mode 100644
index 0000000..d858ba2
--- /dev/null
+++ b/gui/src/lineSegmenter.h
@@ -0,0 +1,22 @@
+#pragma once
+
+#include "ofMain.h"
+
+class lineSegmenter{
+ public:
+ lineSegmenter(ofPolyline &_line){
+ line=_line;
+ if (line.isClosed()){
+ line.addVertex(line[0]);
+ }
+ }
+ const vector <ofPolyline> &getSegments(int num,float coverage, float phase);
+ ofPolyline getPoly(){
+ return line;
+ }
+ void draw();
+ int size();
+ private:
+ ofPolyline line;
+ vector <ofPolyline> segments;
+}; \ No newline at end of file
diff --git a/gui/src/lineTransformer.cpp b/gui/src/lineTransformer.cpp
new file mode 100644
index 0000000..8e2bd80
--- /dev/null
+++ b/gui/src/lineTransformer.cpp
@@ -0,0 +1,126 @@
+#include "lineTransformer.h"
+
+
+void lineTransformer::drawWarpFrame(glm::vec2 warpframe[4]){
+ ofSetColor(255,255,255);
+ ofNoFill();
+ for (int i=0;i<4;i++){
+ ofDrawCircle(warpframe[i],25);
+ ofDrawLine(warpframe[i],warpframe[(i+1)%4]);
+ }
+}
+
+void lineTransformer::gaussianElimination(float * input, int n)
+{
+ auto i = 0;
+ auto j = 0;
+ auto m = n - 1;
+
+ while (i < m && j < n)
+ {
+ auto iMax = i;
+ for (auto k = i + 1; k < m; ++k)
+ {
+ if (fabs(input[k * n + j]) > fabs(input[iMax * n + j]))
+ {
+ iMax = k;
+ }
+ }
+
+ if (input[iMax * n + j] != 0)
+ {
+ if (i != iMax)
+ {
+ for (auto k = 0; k < n; ++k)
+ {
+ auto ikIn = input[i * n + k];
+ input[i * n + k] = input[iMax * n + k];
+ input[iMax * n + k] = ikIn;
+ }
+ }
+
+ float ijIn = input[i * n + j];
+ for (auto k = 0; k < n; ++k)
+ {
+ input[i * n + k] /= ijIn;
+ }
+
+ for (auto u = i + 1; u < m; ++u)
+ {
+ auto ujIn = input[u * n + j];
+ for (auto k = 0; k < n; ++k)
+ {
+ input[u * n + k] -= ujIn * input[i * n + k];
+ }
+ }
+
+ ++i;
+ }
+ ++j;
+ }
+
+ for (auto i = m - 2; i >= 0; --i)
+ {
+ for (auto j = i + 1; j < n - 1; ++j)
+ {
+ input[i * n + m] -= input[i * n + j] * input[j * n + m];
+ }
+ }
+}
+
+glm::mat4 lineTransformer::getPerspectiveTransformMatrix(const glm::vec2 src[4], const glm::vec2 dst[4])
+{
+ float p[8][9] =
+ {
+ { -src[0][0], -src[0][1], -1, 0, 0, 0, src[0][0] * dst[0][0], src[0][1] * dst[0][0], -dst[0][0] }, // h11
+ { 0, 0, 0, -src[0][0], -src[0][1], -1, src[0][0] * dst[0][1], src[0][1] * dst[0][1], -dst[0][1] }, // h12
+ { -src[1][0], -src[1][1], -1, 0, 0, 0, src[1][0] * dst[1][0], src[1][1] * dst[1][0], -dst[1][0] }, // h13
+ { 0, 0, 0, -src[1][0], -src[1][1], -1, src[1][0] * dst[1][1], src[1][1] * dst[1][1], -dst[1][1] }, // h21
+ { -src[2][0], -src[2][1], -1, 0, 0, 0, src[2][0] * dst[2][0], src[2][1] * dst[2][0], -dst[2][0] }, // h22
+ { 0, 0, 0, -src[2][0], -src[2][1], -1, src[2][0] * dst[2][1], src[2][1] * dst[2][1], -dst[2][1] }, // h23
+ { -src[3][0], -src[3][1], -1, 0, 0, 0, src[3][0] * dst[3][0], src[3][1] * dst[3][0], -dst[3][0] }, // h31
+ { 0, 0, 0, -src[3][0], -src[3][1], -1, src[3][0] * dst[3][1], src[3][1] * dst[3][1], -dst[3][1] }, // h32
+ };
+
+ gaussianElimination(&p[0][0], 9);
+
+ return glm::mat4(p[0][8], p[3][8], 0, p[6][8],
+ p[1][8], p[4][8], 0, p[7][8],
+ 0, 0, 1, 0,
+ p[2][8], p[5][8], 0, 1);
+}
+
+ofPolyline lineTransformer::polyLineTransform(const ofMatrix4x4 xform, const ofPolyline& poly){
+ ofPolyline tempPoly;
+ for (auto& p:poly){
+ tempPoly.addVertex(ofVec3f(p)*xform);
+ }
+ return tempPoly;
+}
+
+colourPolyline lineTransformer::polyLineTransform(const ofMatrix4x4 xform,colourPolyline& poly,float colourFade){
+ colourPolyline tempPoly;
+ for (int i=0;i<poly.size();i++){
+ tempPoly.addVertex(ofVec3f(poly[i])*xform,poly.getColourAt(i)*colourFade);
+ }
+ return tempPoly;
+}
+
+ofPolyline lineTransformer::makePolygon(int num,float diam){
+ ofPolyline poly;
+ float step=PI*2/num;
+ for (int i=0;i<=num;i++){
+ poly.addVertex(cos(step*i)*diam,sin(step*i)*diam);
+ }
+ return poly;
+}
+
+void lineTransformer::drawPoly(ofPolyline poly,float x,float y){
+ glPushMatrix();
+ ofTranslate(x,y);
+ poly.draw();
+ for (int i=0;i<poly.size();i++){
+ ofDrawBitmapString(poly.getDegreesAtIndex(i),poly[i].x+10,poly[i].y+10,0);
+ }
+ glPopMatrix();
+}
diff --git a/gui/src/lineTransformer.h b/gui/src/lineTransformer.h
new file mode 100644
index 0000000..f5ec22f
--- /dev/null
+++ b/gui/src/lineTransformer.h
@@ -0,0 +1,21 @@
+#pragma once
+
+#include "ofMain.h"
+#include "colourPolyline.h"
+
+class lineTransformer {
+
+ public:
+ lineTransformer(){
+ }
+ void static drawWarpFrame(glm::vec2 warpframe[4]);
+ void static gaussianElimination(float * input, int n);
+ glm::mat4 static getPerspectiveTransformMatrix(const glm::vec2 src[4], const glm::vec2 dst[4]);
+ ofPolyline static polyLineTransform(const ofMatrix4x4 xform,const ofPolyline& poly);
+ ofPolyline static polyLineTransform(ofPoint (*transferFunction)(const ofPoint),const ofPolyline& poly);
+ colourPolyline static polyLineTransform(const ofMatrix4x4 xform,colourPolyline& poly,float colourFade=1.0f);
+ colourPolyline static polyLineTransform(ofPoint (*transferFunction)(const ofPoint),colourPolyline& poly,float colourFade=1.0f);
+ ofPolyline static makePolygon(int num,float diam);
+ void static drawPoly(ofPolyline poly,float x,float y);
+
+}; \ No newline at end of file
diff --git a/gui/src/ofApp.h b/gui/src/ofApp.h
index 128dd05..3d9a646 100644
--- a/gui/src/ofApp.h
+++ b/gui/src/ofApp.h
@@ -1,4 +1,4 @@
- #pragma once
+#pragma once
#include "ofMain.h"
@@ -26,6 +26,25 @@
#include "ofxHistoryPlot.h"
#include "Audioplotter.h"
+/*
+doing the show
+
+projection mapping * drawing
+draw shapes into the space and save them in sets
+use them to draw lines, expand and contract outline
+use them to mask geometric and random drawn styles
+have some kind of audioreactivity
+an interface flexible enough to enable making a show on the fly
+
+plugin architecture for vector generators and effects
+
+polylines in
+polylines out
+masking
+audio
+
+*/
+
enum Source{
TEST,
// NDI,
@@ -37,93 +56,7 @@ enum Source{
};
-class chaosPanel : public ofxPanel {
- public:
- chaosPanel(){
- ofRegisterKeyEvents(this, defaultEventsPriority);
- }
- bool isSelected;
- ofParameter<bool> active;
- ofParameter<float> amount;
- ofParameter<float> scale; //?per plugin??
- bool mouseMoved(ofMouseEventArgs & args){
- if (args.x>getPosition().x&&
- args.x-getPosition().x<getWidth()&&
- args.y>getPosition().y&&
- args.y-getPosition().y<getHeight()){
- if (!isSelected){
- isSelected=true;
- setBorderColor(ofColor(255,128,0));
- //ofLog()<<"IN> "<<args.x<<","<<args.y;
- }
- }
- else {
- if (isSelected){
- isSelected=false;
- setBorderColor(ofColor(0,0,0));
- //ofLog()<<"OUT> "<<args.x<<","<<args.y;
- }
- }
- }
- bool keyPressed(ofKeyEventArgs & args){
- if (isSelected){
- //ofLog()<<"KEY> "<<args.key;
- switch(args.key){
- case 3812:{
- chaosloader.previous();
- update_sliders();
- break;
- }
- case 3814:{
- chaosloader.next();
- update_sliders();
- break;
- }
- }
- }
- }
- bool keyReleased(ofKeyEventArgs & args){
- //required in order to call ofRegisterKeyEvents
- }
- //this is a bit tangled
- /*
- audioplotter stores drawings that it extracts from audio
- chaosloader manages a set of plugins that affect polylines
- audio plotter calls chaosloader a set of lines and it affects them
- chaosloader should own it's own params (use,scale,amount)
- should expose compute(vector polyline)
-
- so we could have
-
- audio source
- <>
- transformer
- <>
- chaos
- <>
- drawing
-
- */
-
- int shown=0;
-
- void update_sliders(){
- clear();
- add(plugin_label.setup(chaosloader.name));
- add(active.set("use",false));
- add(amount.set("amount", 0.0f, -0.1f, 0.1f));
-
- for (auto p:chaosloader.get().params){
- add(p);
- }
- ofLog()<<"loaded "<<chaosloader.get().params.size()<<" params";
- }
-private:
- Chaos chaosloader;
- ofxLabel plugin_label;
- ofParameter<string> plugin_name;
-};
class ofApp: public ofBaseApp, public ofxMidiListener {
diff --git a/gui/src/vectorplugin.h b/gui/src/vectorplugin.h
new file mode 100644
index 0000000..cccc6ee
--- /dev/null
+++ b/gui/src/vectorplugin.h
@@ -0,0 +1,8 @@
+
+#include "ofMain.h"
+
+class vectorBase {
+ public:
+ vectorBase(){};
+ vectorBase(){};
+} \ No newline at end of file
diff --git a/gui/src/warper.cpp b/gui/src/warper.cpp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/gui/src/warper.cpp
diff --git a/gui/src/warper.h b/gui/src/warper.h
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/gui/src/warper.h