diff options
Diffstat (limited to 'gui')
| -rw-r--r-- | gui/addons.make | 4 | ||||
| -rw-r--r-- | gui/bin/data/settings.xml | 22 | ||||
| -rw-r--r-- | gui/obj/osx/Release/.compiler_flags | 2 | ||||
| -rw-r--r-- | gui/src/main.cpp | 2 | ||||
| -rw-r--r-- | gui/src/ofApp.cpp | 304 | ||||
| -rw-r--r-- | gui/src/ofApp.h | 85 |
6 files changed, 355 insertions, 64 deletions
diff --git a/gui/addons.make b/gui/addons.make index bbffe9d..6122519 100644 --- a/gui/addons.make +++ b/gui/addons.make @@ -6,3 +6,7 @@ ofxSVG ofxXmlSettings ofxClipper ofxMidi +ofxGist +ofxOpenALSoundPlayer +ofxHistoryPlot +ofxAChaoslib diff --git a/gui/bin/data/settings.xml b/gui/bin/data/settings.xml index a8d321c..4b758e7 100644 --- a/gui/bin/data/settings.xml +++ b/gui/bin/data/settings.xml @@ -1,23 +1,23 @@ <WARP> <p0> - <X>70.000000000</X> - <Y>93.000000000</Y> + <X>0.000000000</X> + <Y>0.000000000</Y> </p0> <p1> - <X>1163.714843750</X> - <Y>61.531250000</Y> + <X>1200.000000000</X> + <Y>0.000000000</Y> </p1> <p2> - <X>1090.921875000</X> - <Y>781.691406250</Y> + <X>1200.000000000</X> + <Y>900.000000000</Y> </p2> <p3> - <X>135.000000000</X> - <Y>831.441406250</Y> + <X>0.000000000</X> + <Y>900.000000000</Y> </p3> </WARP> <POSITION> - <X>51.000000000</X> - <Y>746.000000000</Y> + <X>0.000000000</X> + <Y>0.000000000</Y> </POSITION> -<SCALE>2.280712128</SCALE> +<SCALE>1.000000000</SCALE> diff --git a/gui/obj/osx/Release/.compiler_flags b/gui/obj/osx/Release/.compiler_flags index d3f038e..7a1f485 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/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 -stdlib=libc++ -mmacosx-version-min=10.9 -v -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 +-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/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 -I/work/workspace/openFrameworks/addons/ofxAChaosLib/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/main.cpp b/gui/src/main.cpp index 763fb73..1221d37 100644 --- a/gui/src/main.cpp +++ b/gui/src/main.cpp @@ -21,7 +21,7 @@ int main(int argc, char *argv[]){ mainWindow->setVerticalSync(false); settings.width = 600; - settings.height = 900; + settings.height = 1000; settings.setPosition(ofVec2f(0,0)); settings.resizable = true; diff --git a/gui/src/ofApp.cpp b/gui/src/ofApp.cpp index 14e669d..e684254 100644 --- a/gui/src/ofApp.cpp +++ b/gui/src/ofApp.cpp @@ -5,13 +5,20 @@ const ofPoint outputWindowSize=ofPoint(1200,900); const float guiScale=560.0f/4096.0f; +string sourcenames[5]={ + "TEST", +// "NDI", + "Player", + "SVG outlines", + "SVG segmenters", + "Audio" +}; + //-------------------------------------------------------------- void ofApp::setup(){ - gui.setup(); - - source=SVG_outlines; - + source=Audio; +/* //==================================================== ofxNDI senderName[0] = 0; // The sender name used for display @@ -26,33 +33,74 @@ void ofApp::setup(){ // For received frame fps calculations - independent of the rendering rate startTime = lastTime = frameTime = 0; fps = frameRate = 1; // starting value - - //============================ GUI - - gui.add(contour_threshold.setup("threshold", 140, 0, 255)); - gui.add(contour_simplify.setup("simplify", 0.8, 0.0, 1.0)); - gui.add(contour_useColour.setup("use colour", true)); - gui.add(laser_R.setup("red", 140, 0, 255)); - gui.add(laser_G.setup("green", 140, 0, 255)); - gui.add(laser_B.setup("blue", 140, 0, 255)); - gui.add(laser_intensity.setup("intensity", 30, 0, 255)); - gui.add(laser_points.setup("points", 20000, 0, 40000)); - gui.add(video_speed.setup("playback speed", 1.0, 0.0, 3.0)); - gui.add(shapes_randomise.setup("randomise shapes", true)); - gui.add(shapes_amount.setup("shapes amount", 0.2, 0.0, 0.8)); - gui.add(shapes_duration.setup("shape duration", 5, 0, 25)); - gui.add(use_mask.setup("use mask", true)); - gui.add(invert_mask.setup("invert mask", false)); - gui.add(use_segmenter.setup("use segmenter", false)); - gui.add(segmenter_speed.setup("segmenter speed", 0.2, -1.0, 1.0)); - gui.add(segmenter_length.setup("segmenter length", 0.2, 0.0, 1.0)); - gui.add(segmenter_number.setup("segmenter number", 1, 1, 8)); - gui.add(use_rotate.setup("XF rotate", false)); - gui.add(xf_rotate.setup("rotate speed", 0.0, -1.0, 1.0)); - gui.add(use_scale.setup("XF scale", false)); - gui.add(xf_scale_speed.setup("scale speed", 1.0, 0.0, 10.0)); - gui.add(xf_scale_min.setup("scale min", 1.0, 0.0, 3.0)); - gui.add(xf_scale_max.setup("scale max", 2.0, 0.0, 3.0)); +*/ + + //============================= Audio + + plotter.setup(5,true); + + bufferSize = 2048; + sampleRate = 44100; + + gist.setUseForOnsetDetection(GIST_PEAK_ENERGY); + gist.setThreshold(GIST_PEAK_ENERGY, .05);// + + ofAddListener(GistEvent::ON,this,&ofApp::onNoteOn); + ofAddListener(GistEvent::OFF,this,&ofApp::onNoteOff); + + // ofAddListener(ofApp::useMic->Value,this,&ofApp::useMicChanged); + + soundStream.setup(this,0, 1, sampleRate, bufferSize, 1); + + //loadSong("12 Ferric Appetite.aiff"); + loadSong("passades/1 The Ninth Set-sector1:sector2pt.1.aiff"); + + //============================ gui + + lasergui.setup("laser"); + lasergui.add(laser_power.set("power", false)); + lasergui.add(laser_intensity.set("intensity", 30, 0, 255)); + lasergui.add(laser_points.set("points", 30000, 0, 40000)); + lasergui.add(laser_subdivide.set("subdivide", 15, 1, 100)); + lasergui.add(laser_blank_num.set("blank points", 8, 0, 32)); + lasergui.add(laser_max_angle.set("max angle", 15.0f, 1.0f, 90.0f)); + + drawgui.setup("drawing","",10,150); + drawgui.add(contour_threshold.setup("threshold", 140, 0, 255)); + drawgui.add(contour_simplify.setup("simplify", 0.8, 0.0, 1.0)); + drawgui.add(contour_useColour.setup("use colour", true)); + drawgui.add(laser_R.setup("red", 140, 0, 255)); + drawgui.add(laser_G.setup("green", 140, 0, 255)); + drawgui.add(laser_B.setup("blue", 140, 0, 255)); + drawgui.add(video_speed.setup("playback speed", 1.0, 0.0, 3.0)); + drawgui.add(shapes_randomise.setup("randomise shapes", true)); + drawgui.add(shapes_amount.setup("shapes amount", 0.2, 0.0, 0.8)); + drawgui.add(shapes_duration.setup("shape duration", 5, 0, 25)); + drawgui.add(use_mask.setup("use mask", true)); + drawgui.add(invert_mask.setup("invert mask", false)); + drawgui.add(use_segmenter.setup("use segmenter", false)); + drawgui.add(segmenter_speed.setup("segmenter speed", 0.2, -1.0, 1.0)); + drawgui.add(segmenter_length.setup("segmenter length", 0.2, 0.0, 1.0)); + drawgui.add(segmenter_number.setup("segmenter number", 1, 1, 8)); + drawgui.add(use_rotate.setup("XF rotate", false)); + drawgui.add(xf_rotate.setup("rotate speed", 0.0, -1.0, 1.0)); + drawgui.add(use_scale.setup("XF scale", false)); + drawgui.add(xf_scale_speed.setup("scale speed", 1.0, 0.0, 10.0)); + drawgui.add(xf_scale_min.setup("scale min", 1.0, 0.0, 3.0)); + drawgui.add(xf_scale_max.setup("scale max", 2.0, 0.0, 3.0)); + + audiogui.setup("audio","",10,600); + audiogui.add(useMic.set("mic",true)); + audiogui.add(useFft.set("fft",false)); + audiogui.add(scalePlot.set("scale plot", 0.1f, 0.0f, 1.0f )); + audiogui.add(decayPlot.set("decay", 0.9f, 0.0f, 1.0f )); + audiogui.add(plotter.joined.set("joined",true)); + audiogui.add(plotter.bars.set("bars",true)); + audiogui.add(plotter.width.set("point width", 2, 1, 256)); + audiogui.add(plotter.num_points.set("num points", 50, 1, 512)); + audiogui.add(plotter.history_size.set("num plots", 5, 1, 100)); + audiogui.add(plotter.startColour.set("start",ofColor(255,255,255))); + audiogui.add(plotter.endColour.set("end",ofColor(0,0,0))); framecounter=0; @@ -110,6 +158,109 @@ void ofApp::setup(){ } +//====================== audio functions + +void ofApp::loadSong(string str){ + + cout<<"loadSong "<<str<<endl; + + player.stop(); + player.loadSound(str); + player.setLoop(true); + player.play(); + useMic = 0; + gist.clearHistory(); +} + +void ofApp::onNoteOn(GistEvent &e){ + + //noteOnRadius = 100; +}; + + +void ofApp::onNoteOff(GistEvent &e){ + + //noteOnRadius = 0; +}; + +void ofApp::processAudio(float * input, int bufferSize, int nChannels){ + //convert float array to vector + + + left.resize(bufferSize/nChannels); + right.resize(bufferSize/nChannels); + centre.resize(bufferSize/nChannels); + + float max=0.0f; + + + if (nChannels==2){ + + + for (int i = 0; i < bufferSize/nChannels; i++){ + left[i] = input[i*nChannels]; + right[i] = input[i*nChannels+1]; + centre[i] = (left[i]+right[i])*0.5; + if (centre[i]>max){ + max=centre[i]; + } + } + + + } + else if (nChannels==1){ + for (int i = 0; i < bufferSize;i++){ + left[i] = input[i]; + right[i] = input[i]; + centre[i] = input[i]; + if (centre[i]>max){ + max=centre[i]; + } + } + } + + //ofLog()<<"audio data max "<<max; + //float audio data is +- 0.5 + + + vector<float>buffer; + buffer.assign(&input[0],&input[bufferSize]); + + gist.processAudio(buffer, bufferSize, nChannels,sampleRate); +} + + +void ofApp::audioIn(float * input, int bufferSize, int nChannels){ + if(!useMic){ + return; + } + + //ofLog() << "processing "<<bufferSize<<" samples from mic"; + + processAudio(input, bufferSize, nChannels); + +} + +void ofApp::useMicChanged(){ + if (useMic) { + player.stop(); + } + else { + player.play(); + } +} + +//====================== settings + +void ofApp::default_settings(){ + warpframe[0]=glm::vec2(0,0); + warpframe[1]=glm::vec2(outputWindowSize.x,0); + warpframe[2]=glm::vec2(outputWindowSize.x,outputWindowSize.y); + warpframe[3]=glm::vec2(0,outputWindowSize.y); + outputPosition=ofPoint(0,0); + outputScale=1.0f; +} + void ofApp::save_settings(){ XML.setValue("WARP:p0:X", warpframe[0].x); XML.setValue("WARP:p0:Y", warpframe[0].y); @@ -131,15 +282,72 @@ void ofApp::save_settings(){ //-------------------------------------------------------------- void ofApp::updateOutput(ofEventArgs & args){ +//todo: set up listener for laser params or move them into a lasergui class laser.set_pts(laser_points); + laser.set_subdivide(laser_subdivide); + laser.set_blanknum(laser_blank_num); + laser.set_maxangle(laser_max_angle); + laser.set_intensity(laser_intensity); movie.setSpeed(video_speed); + if(!useMic){ + if(player.isLoaded()){ + if (player.isPlaying()){ + vector<float> output = player.getCurrentBuffer(bufferSize); + processAudio(&output[0], bufferSize, 2); + // + if (useFft){ + fftSmoothed = player.getFFT(); + /* + float * fft = ofSoundGetSpectrum(plotter.num_points); + fftSmoothed.resize(plotter.num_points); + //printf("fft: "); + for (int i=0;i<plotter.num_points;i++){ + fftSmoothed[i]=fft[i]; + //printf("%f,",fftSmoothed[i]); + } + //printf("\r\n"); + */ + plotter.addpoints(fftSmoothed); + } + else { + plotter.addpoints(centre); + } + } + else { + player.play(); + } + } + + } + else { + if (player.isPlaying()){ + player.stop(); + } + if (centre.size()){ + if (useFft){ + float * fft = ofSoundGetSpectrum(plotter.num_points); + fftSmoothed.resize(plotter.num_points); + printf("fft: "); + for (int i=0;i<plotter.num_points;i++){ + fftSmoothed[i]=fft[i]; + printf("%f,",fftSmoothed[i]); + } + printf("\r\n"); + plotter.addpoints(fftSmoothed); + } + else { + plotter.addpoints(centre); + } + } + } + } void ofApp::update(){ - +/* // Update the NDI sender list to find new senders // There is no delay if no new senders are found nSenders = ndiReceiver.FindSenders(); @@ -230,7 +438,7 @@ void ofApp::update(){ } } - +*/ if (movie.isLoaded()){ movie.update(); } @@ -278,8 +486,9 @@ void ofApp::draw(){ glPopMatrix(); } else { - - gui.draw(); + lasergui.draw(); + drawgui.draw(); + audiogui.draw(); //================================== NDI /* @@ -448,6 +657,7 @@ void ofApp::drawOutput(ofEventArgs & args){ polyOutput.push_back(colourPolyline(poly,ofColor(laser_R,laser_G,laser_B))); } +/* case NDI:{ ofPoint scale=ofPoint(outputWindowSize.x/ndiImage.getWidth(),outputWindowSize.x/ndiImage.getHeight()); @@ -480,6 +690,7 @@ void ofApp::drawOutput(ofEventArgs & args){ break; } +*/ case Player:{ if (movie.isLoaded()){ ofPoint scale=ofPoint(outputWindowSize.x/movie.getWidth(),outputWindowSize.y/movie.getHeight()); @@ -538,6 +749,17 @@ void ofApp::drawOutput(ofEventArgs & args){ } break; } + case Audio:{ + ofMatrix4x4 x=ofMatrix4x4(1.0f,0.0f,0.0f,0.0f, + 0.0f,1.0f,0.0f,0.0f, + 0.0f,0.0f,1.0f,0.0f, + 0.0f,0.0f,0.0f,1.0f); + polyOutput=plotter.output(x,scalePlot,decayPlot); + break; + } + default: { + break; + } } vector <colourPolyline> transformedOutput; @@ -618,7 +840,9 @@ void ofApp::drawOutput(ofEventArgs & args){ int pnum=0; if (polyOutput.size()){ - num=laser.draw(scaledWarpedOutput); + if (laser_power) { + num=laser.draw(scaledWarpedOutput); + } for (auto& shape:warpedOutput){ shape.draw(); pnum+=shape.size(); @@ -630,11 +854,11 @@ void ofApp::drawOutput(ofEventArgs & args){ } if (num>0){ - ofSetWindowTitle(ofToString(ofGetFrameRate(), 2)+" fps laser points: "+ofToString(num)); + ofSetWindowTitle(sourcenames[source]+": "+ofToString(ofGetFrameRate(), 2)+" fps laser points: "+ofToString(num)); } else { - ofSetWindowTitle(ofToString(ofGetFrameRate(), 2)+" fps laser error points: "+ofToString(pnum)); + ofSetWindowTitle(sourcenames[source]+": "+ofToString(ofGetFrameRate(), 2)+" fps laser error points: "+ofToString(pnum)); } } @@ -679,8 +903,8 @@ void ofApp::keyPressed(ofKeyEventArgs &args){ bDrawFrame=!bDrawFrame; break; } - case OF_KEY_COMMAND:{ - commandPressed=true; + case 'd':{ + default_settings(); break; } case 's':{ diff --git a/gui/src/ofApp.h b/gui/src/ofApp.h index 33c855a..c9b1c4f 100644 --- a/gui/src/ofApp.h +++ b/gui/src/ofApp.h @@ -1,26 +1,42 @@ #pragma once #include "ofMain.h" -#include "lineTransformer.h" -#include "ofxNDI.h" + +//#include "ofxNDI.h" #include "ofxGui.h" -#include "ofxHelios.h" +#include "ofxXmlSettings.h" #include "ofxOpenCv.h" #include "ofxSVG.h" -#include "lineSegmenter.h" -#include "ofxXmlSettings.h" #include "ofxClipper.h" #include "ofxMidi.h" +#include "ofxHelios.h" +#include "lineTransformer.h" +#include "lineSegmenter.h" + +#include "ofxGist.h" +//This is included only as a way of getting buffer out of loaded sound. +//There are many other ways you can do that. +//This player includes a version of kissFFT. You can remove the one included in Gist. +//https://github.com/borg/ofxOpenALSoundPlayer +#include "ofxOpenALSoundPlayer.h" +//Slightly modified to add a dynamic getVariable method to be able to plot based on +//gist feature list +//https://github.com/local-projects/ofxHistoryPlot +#include "ofxHistoryPlot.h" +#include "Audioplotter.h" + enum Source{ TEST, - NDI, +// NDI, Player, SVG_outlines, SVG_segmenters, + Audio, Source_end }; + class ofApp: public ofBaseApp, public ofxMidiListener { public: @@ -52,6 +68,8 @@ class ofApp: public ofBaseApp, public ofxMidiListener { void outputWindowResized(ofResizeEventArgs &resizeargs); void select_random_shapes(); + + void default_settings(); void save_settings(); bool commandPressed; @@ -60,12 +78,46 @@ class ofApp: public ofBaseApp, public ofxMidiListener { int select_warpframe; bool bDrawFrame; - ofxPanel gui; ofxHelios laser; int source; + //======================================== //audio + + ofxGist gist; + void onNoteOn(GistEvent &e); + void onNoteOff(GistEvent &e); + + ofSoundStream soundStream; + ofxOpenALSoundPlayer player; + + void processAudio(float * input, int bufferSize, int nChannels); + void audioIn(float * input, int bufferSize, int nChannels); + + void loadSong(string str); + + int bufferSize; + int sampleRate; + + vector<float>fftSmoothed; + vector <float> left; + vector <float> right; + vector <float> centre; + + Audioplotter plotter; + + //======== audio gui + + ofxPanel audiogui; + ofParameter<bool> useMic; + ofParameter<bool> useFft; + ofParameter<float> scalePlot; + ofParameter<float> decayPlot; + + void useMicChanged(); + + //======================================== //thresholding ofxCvColorImage colorImg; @@ -73,7 +125,7 @@ class ofApp: public ofBaseApp, public ofxMidiListener { ofxCvContourFinder contourFinder; //======================================== //ofxNDI - +/* ofxNDIreceiver ndiReceiver; ofImage ndiImage; char senderName[256]; @@ -84,8 +136,10 @@ class ofApp: public ofBaseApp, public ofxMidiListener { // For received frame fps calculations double startTime, lastTime, frameTime, frameRate, fps; +*/ + //====== drawing gui - //====== gui + ofxPanel drawgui; ofxIntSlider contour_threshold; ofxFloatSlider contour_simplify; @@ -93,8 +147,6 @@ class ofApp: public ofBaseApp, public ofxMidiListener { ofxIntSlider laser_R; ofxIntSlider laser_G; ofxIntSlider laser_B; - ofxIntSlider laser_intensity; - ofxIntSlider laser_points; //====== video @@ -121,6 +173,17 @@ class ofApp: public ofBaseApp, public ofxMidiListener { ofxFloatSlider xf_scale_min; ofxFloatSlider xf_scale_max; + + //======= laser gui + + ofxPanel lasergui; + ofParameter<bool> laser_power; + ofParameter<int> laser_intensity; + ofParameter<int> laser_points; + ofParameter<int> laser_subdivide; + ofParameter<int> laser_blank_num; + ofParameter<float> laser_max_angle; + //======================================= //MIDI ofxMidiIn midiIn; |
