summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/data/settings.xml28
-rwxr-xr-xfiggis_detect.cbp57
-rw-r--r--figgis_detect.layout25
-rwxr-xr-xfiggis_detect.workspace9
-rw-r--r--figgis_detect.xcodeproj/project.pbxproj989
-rw-r--r--figgis_detect.xcodeproj/project.xcworkspace/contents.xcworkspacedata7
-rw-r--r--figgis_detect.xcodeproj/tim.mode1v31397
-rw-r--r--figgis_detect.xcodeproj/tim.pbxuser148
-rw-r--r--figgis_detect.xcodeproj/xcshareddata/xcschemes/grabberDemo Debug.xcscheme84
-rw-r--r--figgis_detect.xcodeproj/xcshareddata/xcschemes/grabberDemo Release.xcscheme84
-rwxr-xr-xsrc/boundary.cpp79
-rwxr-xr-xsrc/boundary.h28
-rwxr-xr-xsrc/main.cpp16
-rwxr-xr-xsrc/testApp.cpp234
-rwxr-xr-xsrc/testApp.h61
15 files changed, 3246 insertions, 0 deletions
diff --git a/bin/data/settings.xml b/bin/data/settings.xml
new file mode 100755
index 0000000..6c1f067
--- /dev/null
+++ b/bin/data/settings.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<figgis host="192.168.15.6" port="57117" channel="1" threshold="80" invert="1" />
+<boundaries>
+ <boundary note="43">
+ <point x="204.000000" y="50.000000"></point>
+ <point x="32.000000" y="27.000000"></point>
+ <point x="25.000000" y="208.000000"></point>
+ <point x="122.000000" y="313.000000"></point>
+ <point x="204.000000" y="129.000000"></point>
+ </boundary>
+ <boundary note="40">
+ <point x="598.000000" y="19.000000"></point>
+ <point x="504.000000" y="25.000000"></point>
+ <point x="505.000000" y="167.000000"></point>
+ <point x="540.000000" y="287.000000"></point>
+ <point x="610.000000" y="259.000000"></point>
+ <point x="618.000000" y="83.000000"></point>
+ </boundary>
+ <boundary note="43">
+ <point x="36.000000" y="390.000000"></point>
+ <point x="34.000000" y="460.000000"></point>
+ <point x="623.000000" y="465.000000"></point>
+ <point x="622.000000" y="411.000000"></point>
+ <point x="497.000000" y="349.000000"></point>
+ <point x="123.000000" y="340.000000"></point>
+ <point x="32.000000" y="289.000000"></point>
+ </boundary>
+</boundaries>
diff --git a/figgis_detect.cbp b/figgis_detect.cbp
new file mode 100755
index 0000000..0c8e6b8
--- /dev/null
+++ b/figgis_detect.cbp
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<CodeBlocks_project_file>
+ <FileVersion major="1" minor="6" />
+ <Project>
+ <Option title="figgis_detect" />
+ <Option makefile_is_custom="1" />
+ <Option pch_mode="2" />
+ <Option compiler="gcc" />
+ <Option virtualFolders="src/;build config/;" />
+ <Build>
+ <Target title="Debug">
+ <Option output="bin/$(PROJECT_NAME)_debug" prefix_auto="1" extension_auto="1" />
+ <Option working_dir="bin" />
+ <Option object_output="obj/Debug/" />
+ <Option external_deps="../openFrameworks/libs/openFrameworksCompiled/lib/linux/libopenFrameworksDebug.a;" />
+ <Option type="1" />
+ <Option compiler="gcc" />
+ <Option projectLinkerOptionsRelation="2" />
+ </Target>
+ <Target title="Release">
+ <Option output="bin/$(PROJECT_NAME)" prefix_auto="1" extension_auto="1" />
+ <Option working_dir="bin" />
+ <Option object_output="obj/Release/" />
+ <Option external_deps="../openFrameworks/libs/openFrameworksCompiled/lib/linux/libopenFrameworks.a;" />
+ <Option type="1" />
+ <Option compiler="gcc" />
+ <Option projectLinkerOptionsRelation="2" />
+ </Target>
+ </Build>
+ <Unit filename="addons.make">
+ <Option virtualFolder="build config/" />
+ </Unit>
+ <Unit filename="config.make">
+ <Option virtualFolder="build config" />
+ </Unit>
+ <Unit filename="src/boundary.cpp">
+ <Option virtualFolder="src/" />
+ </Unit>
+ <Unit filename="src/boundary.h">
+ <Option virtualFolder="src/" />
+ </Unit>
+ <Unit filename="src/main.cpp">
+ <Option virtualFolder="src/" />
+ </Unit>
+ <Unit filename="src/testApp.cpp">
+ <Option virtualFolder="src/" />
+ </Unit>
+ <Unit filename="src/testApp.h">
+ <Option virtualFolder="src/" />
+ </Unit>
+ <Extensions>
+ <code_completion />
+ <envvars />
+ <debugger />
+ </Extensions>
+ </Project>
+</CodeBlocks_project_file>
diff --git a/figgis_detect.layout b/figgis_detect.layout
new file mode 100644
index 0000000..1870fbc
--- /dev/null
+++ b/figgis_detect.layout
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<CodeBlocks_layout_file>
+ <ActiveTarget name="Debug" />
+ <File name="addons.make" open="1" top="0" tabpos="4">
+ <Cursor position="31" topLine="0" />
+ </File>
+ <File name="config.make" open="0" top="0" tabpos="1">
+ <Cursor position="376" topLine="18" />
+ </File>
+ <File name="src/boundary.cpp" open="1" top="1" tabpos="2">
+ <Cursor position="462" topLine="6" />
+ </File>
+ <File name="src/boundary.h" open="1" top="0" tabpos="1">
+ <Cursor position="267" topLine="0" />
+ </File>
+ <File name="src/main.cpp" open="0" top="0" tabpos="0">
+ <Cursor position="165" topLine="0" />
+ </File>
+ <File name="src/testApp.cpp" open="1" top="0" tabpos="3">
+ <Cursor position="5345" topLine="185" />
+ </File>
+ <File name="src/testApp.h" open="0" top="0" tabpos="4">
+ <Cursor position="405" topLine="1" />
+ </File>
+</CodeBlocks_layout_file>
diff --git a/figgis_detect.workspace b/figgis_detect.workspace
new file mode 100755
index 0000000..7588a6e
--- /dev/null
+++ b/figgis_detect.workspace
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<CodeBlocks_workspace_file>
+ <Workspace title="v8test">
+ <Project filename="v8test.cbp" active="1">
+ <Depends filename="../openFrameworks/libs/openFrameworksCompiled/project/linux/libopenFrameworks.cbp" />
+ </Project>
+ <Project filename="../openFrameworks/libs/openFrameworksCompiled/project/linux/libopenFrameworks.cbp" />
+ </Workspace>
+</CodeBlocks_workspace_file>
diff --git a/figgis_detect.xcodeproj/project.pbxproj b/figgis_detect.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..fdbd5e9
--- /dev/null
+++ b/figgis_detect.xcodeproj/project.pbxproj
@@ -0,0 +1,989 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 42;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 224FD2231611BBA400681975 /* ofxCvColorImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 224FD1A51611BBA400681975 /* ofxCvColorImage.cpp */; };
+ 224FD2241611BBA400681975 /* ofxCvContourFinder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 224FD1A81611BBA400681975 /* ofxCvContourFinder.cpp */; };
+ 224FD2251611BBA400681975 /* ofxCvFloatImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 224FD1AA1611BBA400681975 /* ofxCvFloatImage.cpp */; };
+ 224FD2261611BBA400681975 /* ofxCvGrayscaleImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 224FD1AC1611BBA400681975 /* ofxCvGrayscaleImage.cpp */; };
+ 224FD2271611BBA400681975 /* ofxCvHaarFinder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 224FD1AE1611BBA400681975 /* ofxCvHaarFinder.cpp */; };
+ 224FD2281611BBA400681975 /* ofxCvImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 224FD1B01611BBA400681975 /* ofxCvImage.cpp */; };
+ 224FD2291611BBA400681975 /* ofxCvShortImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 224FD1B31611BBA400681975 /* ofxCvShortImage.cpp */; };
+ BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; };
+ E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4328148138ABC890047C5CB /* openFrameworksDebug.a */; };
+ E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9710E8CC7DD009D7055 /* AGL.framework */; };
+ E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */; };
+ E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */; };
+ E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9740E8CC7DD009D7055 /* Carbon.framework */; };
+ E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */; };
+ E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */; };
+ E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9770E8CC7DD009D7055 /* CoreServices.framework */; };
+ E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9790E8CC7DD009D7055 /* OpenGL.framework */; };
+ E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */; };
+ E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1D0A3A1BDC003C02F2 /* main.cpp */; };
+ E4B69E210A3A1BDC003C02F2 /* testApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */; };
+ E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424410CC5A17004149E2 /* AppKit.framework */; };
+ E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424510CC5A17004149E2 /* Cocoa.framework */; };
+ E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424610CC5A17004149E2 /* IOKit.framework */; };
+ E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; };
+ E7E077E515D3B63C0020DFD4 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */; };
+ E7E077E815D3B6510020DFD4 /* QTKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7E077E715D3B6510020DFD4 /* QTKit.framework */; };
+ E7F985F815E0DEA3003869B5 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7F985F515E0DE99003869B5 /* Accelerate.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ E4328147138ABC890047C5CB /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = E4B27C1510CBEB8E00536013;
+ remoteInfo = openFrameworks;
+ };
+ E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = E4B27C1410CBEB8E00536013;
+ remoteInfo = openFrameworks;
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+ E4C2427710CC5ABF004149E2 /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 10;
+ files = (
+ BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+ 224FD1A41611BBA400681975 /* ofxCvBlob.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxCvBlob.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/src/ofxCvBlob.h; sourceTree = SOURCE_ROOT; };
+ 224FD1A51611BBA400681975 /* ofxCvColorImage.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxCvColorImage.cpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/src/ofxCvColorImage.cpp; sourceTree = SOURCE_ROOT; };
+ 224FD1A61611BBA400681975 /* ofxCvColorImage.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxCvColorImage.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/src/ofxCvColorImage.h; sourceTree = SOURCE_ROOT; };
+ 224FD1A71611BBA400681975 /* ofxCvConstants.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxCvConstants.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/src/ofxCvConstants.h; sourceTree = SOURCE_ROOT; };
+ 224FD1A81611BBA400681975 /* ofxCvContourFinder.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxCvContourFinder.cpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/src/ofxCvContourFinder.cpp; sourceTree = SOURCE_ROOT; };
+ 224FD1A91611BBA400681975 /* ofxCvContourFinder.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxCvContourFinder.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/src/ofxCvContourFinder.h; sourceTree = SOURCE_ROOT; };
+ 224FD1AA1611BBA400681975 /* ofxCvFloatImage.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxCvFloatImage.cpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/src/ofxCvFloatImage.cpp; sourceTree = SOURCE_ROOT; };
+ 224FD1AB1611BBA400681975 /* ofxCvFloatImage.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxCvFloatImage.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/src/ofxCvFloatImage.h; sourceTree = SOURCE_ROOT; };
+ 224FD1AC1611BBA400681975 /* ofxCvGrayscaleImage.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxCvGrayscaleImage.cpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/src/ofxCvGrayscaleImage.cpp; sourceTree = SOURCE_ROOT; };
+ 224FD1AD1611BBA400681975 /* ofxCvGrayscaleImage.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxCvGrayscaleImage.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/src/ofxCvGrayscaleImage.h; sourceTree = SOURCE_ROOT; };
+ 224FD1AE1611BBA400681975 /* ofxCvHaarFinder.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxCvHaarFinder.cpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/src/ofxCvHaarFinder.cpp; sourceTree = SOURCE_ROOT; };
+ 224FD1AF1611BBA400681975 /* ofxCvHaarFinder.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxCvHaarFinder.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/src/ofxCvHaarFinder.h; sourceTree = SOURCE_ROOT; };
+ 224FD1B01611BBA400681975 /* ofxCvImage.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxCvImage.cpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/src/ofxCvImage.cpp; sourceTree = SOURCE_ROOT; };
+ 224FD1B11611BBA400681975 /* ofxCvImage.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxCvImage.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/src/ofxCvImage.h; sourceTree = SOURCE_ROOT; };
+ 224FD1B21611BBA400681975 /* ofxCvMain.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxCvMain.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/src/ofxCvMain.h; sourceTree = SOURCE_ROOT; };
+ 224FD1B31611BBA400681975 /* ofxCvShortImage.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxCvShortImage.cpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/src/ofxCvShortImage.cpp; sourceTree = SOURCE_ROOT; };
+ 224FD1B41611BBA400681975 /* ofxCvShortImage.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxCvShortImage.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/src/ofxCvShortImage.h; sourceTree = SOURCE_ROOT; };
+ 224FD1B51611BBA400681975 /* ofxOpenCv.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxOpenCv.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/src/ofxOpenCv.h; sourceTree = SOURCE_ROOT; };
+ 224FD1B71611BBA400681975 /* cv.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = cv.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv/cv.h; sourceTree = SOURCE_ROOT; };
+ 224FD1B81611BBA400681975 /* cv.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = cv.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv/cv.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD1B91611BBA400681975 /* cvaux.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = cvaux.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv/cvaux.h; sourceTree = SOURCE_ROOT; };
+ 224FD1BA1611BBA400681975 /* cvaux.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = cvaux.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv/cvaux.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD1BB1611BBA400681975 /* cvwimage.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = cvwimage.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv/cvwimage.h; sourceTree = SOURCE_ROOT; };
+ 224FD1BC1611BBA400681975 /* cxcore.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = cxcore.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv/cxcore.h; sourceTree = SOURCE_ROOT; };
+ 224FD1BD1611BBA400681975 /* cxcore.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = cxcore.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv/cxcore.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD1BE1611BBA400681975 /* cxeigen.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = cxeigen.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv/cxeigen.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD1BF1611BBA400681975 /* cxmisc.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = cxmisc.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv/cxmisc.h; sourceTree = SOURCE_ROOT; };
+ 224FD1C01611BBA400681975 /* highgui.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = highgui.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv/highgui.h; sourceTree = SOURCE_ROOT; };
+ 224FD1C11611BBA400681975 /* ml.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ml.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv/ml.h; sourceTree = SOURCE_ROOT; };
+ 224FD1C31611BBA400681975 /* calib3d.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = calib3d.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/calib3d/calib3d.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD1C51611BBA400681975 /* contrib.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = contrib.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/contrib/contrib.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD1C61611BBA400681975 /* retina.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = retina.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/contrib/retina.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD1C81611BBA400681975 /* core.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = core.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/core/core.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD1C91611BBA400681975 /* core_c.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = core_c.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/core/core_c.h; sourceTree = SOURCE_ROOT; };
+ 224FD1CA1611BBA400681975 /* eigen.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = eigen.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/core/eigen.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD1CB1611BBA400681975 /* internal.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = internal.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/core/internal.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD1CC1611BBA400681975 /* mat.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = mat.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/core/mat.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD1CD1611BBA400681975 /* operations.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = operations.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/core/operations.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD1CE1611BBA400681975 /* types_c.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = types_c.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/core/types_c.h; sourceTree = SOURCE_ROOT; };
+ 224FD1CF1611BBA400681975 /* version.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = version.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/core/version.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD1D01611BBA400681975 /* wimage.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = wimage.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/core/wimage.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD1D21611BBA400681975 /* features2d.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = features2d.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/features2d/features2d.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD1D41611BBA400681975 /* all_indices.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = all_indices.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/all_indices.h; sourceTree = SOURCE_ROOT; };
+ 224FD1D51611BBA400681975 /* allocator.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = allocator.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/allocator.h; sourceTree = SOURCE_ROOT; };
+ 224FD1D61611BBA400681975 /* any.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = any.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/any.h; sourceTree = SOURCE_ROOT; };
+ 224FD1D71611BBA400681975 /* autotuned_index.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = autotuned_index.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/autotuned_index.h; sourceTree = SOURCE_ROOT; };
+ 224FD1D81611BBA400681975 /* composite_index.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = composite_index.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/composite_index.h; sourceTree = SOURCE_ROOT; };
+ 224FD1D91611BBA400681975 /* config.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = config.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/config.h; sourceTree = SOURCE_ROOT; };
+ 224FD1DA1611BBA400681975 /* defines.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = defines.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/defines.h; sourceTree = SOURCE_ROOT; };
+ 224FD1DB1611BBA400681975 /* dist.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = dist.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/dist.h; sourceTree = SOURCE_ROOT; };
+ 224FD1DC1611BBA400681975 /* dummy.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = dummy.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/dummy.h; sourceTree = SOURCE_ROOT; };
+ 224FD1DD1611BBA400681975 /* dynamic_bitset.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = dynamic_bitset.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/dynamic_bitset.h; sourceTree = SOURCE_ROOT; };
+ 224FD1DE1611BBA400681975 /* flann.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = flann.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/flann.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD1DF1611BBA400681975 /* flann_base.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = flann_base.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/flann_base.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD1E01611BBA400681975 /* general.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = general.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/general.h; sourceTree = SOURCE_ROOT; };
+ 224FD1E11611BBA400681975 /* ground_truth.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ground_truth.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/ground_truth.h; sourceTree = SOURCE_ROOT; };
+ 224FD1E21611BBA400681975 /* hdf5.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = hdf5.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/hdf5.h; sourceTree = SOURCE_ROOT; };
+ 224FD1E31611BBA400681975 /* heap.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = heap.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/heap.h; sourceTree = SOURCE_ROOT; };
+ 224FD1E41611BBA400681975 /* hierarchical_clustering_index.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = hierarchical_clustering_index.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/hierarchical_clustering_index.h; sourceTree = SOURCE_ROOT; };
+ 224FD1E51611BBA400681975 /* index_testing.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = index_testing.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/index_testing.h; sourceTree = SOURCE_ROOT; };
+ 224FD1E61611BBA400681975 /* kdtree_index.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = kdtree_index.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/kdtree_index.h; sourceTree = SOURCE_ROOT; };
+ 224FD1E71611BBA400681975 /* kdtree_single_index.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = kdtree_single_index.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/kdtree_single_index.h; sourceTree = SOURCE_ROOT; };
+ 224FD1E81611BBA400681975 /* kmeans_index.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = kmeans_index.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/kmeans_index.h; sourceTree = SOURCE_ROOT; };
+ 224FD1E91611BBA400681975 /* linear_index.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = linear_index.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/linear_index.h; sourceTree = SOURCE_ROOT; };
+ 224FD1EA1611BBA400681975 /* logger.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = logger.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/logger.h; sourceTree = SOURCE_ROOT; };
+ 224FD1EB1611BBA400681975 /* lsh_index.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = lsh_index.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/lsh_index.h; sourceTree = SOURCE_ROOT; };
+ 224FD1EC1611BBA400681975 /* lsh_table.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = lsh_table.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/lsh_table.h; sourceTree = SOURCE_ROOT; };
+ 224FD1ED1611BBA400681975 /* matrix.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = matrix.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/matrix.h; sourceTree = SOURCE_ROOT; };
+ 224FD1EE1611BBA400681975 /* miniflann.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = miniflann.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/miniflann.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD1EF1611BBA400681975 /* nn_index.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = nn_index.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/nn_index.h; sourceTree = SOURCE_ROOT; };
+ 224FD1F01611BBA400681975 /* object_factory.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = object_factory.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/object_factory.h; sourceTree = SOURCE_ROOT; };
+ 224FD1F11611BBA400681975 /* params.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = params.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/params.h; sourceTree = SOURCE_ROOT; };
+ 224FD1F21611BBA400681975 /* random.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = random.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/random.h; sourceTree = SOURCE_ROOT; };
+ 224FD1F31611BBA400681975 /* result_set.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = result_set.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/result_set.h; sourceTree = SOURCE_ROOT; };
+ 224FD1F41611BBA400681975 /* sampling.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = sampling.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/sampling.h; sourceTree = SOURCE_ROOT; };
+ 224FD1F51611BBA400681975 /* saving.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = saving.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/saving.h; sourceTree = SOURCE_ROOT; };
+ 224FD1F61611BBA400681975 /* simplex_downhill.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = simplex_downhill.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/simplex_downhill.h; sourceTree = SOURCE_ROOT; };
+ 224FD1F71611BBA400681975 /* timer.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = timer.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann/timer.h; sourceTree = SOURCE_ROOT; };
+ 224FD1F91611BBA400681975 /* devmem2d.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = devmem2d.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/gpu/devmem2d.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD1FA1611BBA400681975 /* gpu.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = gpu.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/gpu/gpu.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD1FB1611BBA400681975 /* gpumat.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = gpumat.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/gpu/gpumat.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD1FC1611BBA400681975 /* matrix_operations.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = matrix_operations.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/gpu/matrix_operations.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD1FD1611BBA400681975 /* stream_accessor.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = stream_accessor.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/gpu/stream_accessor.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD1FF1611BBA400681975 /* highgui.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = highgui.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/highgui/highgui.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD2001611BBA400681975 /* highgui_c.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = highgui_c.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/highgui/highgui_c.h; sourceTree = SOURCE_ROOT; };
+ 224FD2021611BBA400681975 /* imgproc.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = imgproc.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/imgproc/imgproc.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD2031611BBA400681975 /* imgproc_c.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = imgproc_c.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/imgproc/imgproc_c.h; sourceTree = SOURCE_ROOT; };
+ 224FD2041611BBA400681975 /* types_c.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = types_c.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/imgproc/types_c.h; sourceTree = SOURCE_ROOT; };
+ 224FD2061611BBA400681975 /* blobtrack.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = blobtrack.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/legacy/blobtrack.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD2071611BBA400681975 /* compat.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = compat.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/legacy/compat.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD2081611BBA400681975 /* legacy.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = legacy.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/legacy/legacy.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD2091611BBA400681975 /* streams.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = streams.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/legacy/streams.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD20B1611BBA400681975 /* ml.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ml.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/ml/ml.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD20D1611BBA400681975 /* objdetect.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = objdetect.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/objdetect/objdetect.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD20F1611BBA400681975 /* opencv.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = opencv.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/opencv.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD2101611BBA400681975 /* ts.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ts.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/ts/ts.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD2111611BBA400681975 /* ts_gtest.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ts_gtest.h; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/ts/ts_gtest.h; sourceTree = SOURCE_ROOT; };
+ 224FD2131611BBA400681975 /* background_segm.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = background_segm.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/video/background_segm.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD2141611BBA400681975 /* tracking.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = tracking.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/video/tracking.hpp; sourceTree = SOURCE_ROOT; };
+ 224FD2151611BBA400681975 /* video.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = video.hpp; path = ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/video/video.hpp; sourceTree = SOURCE_ROOT; };
+ BBAB23BE13894E4700AA2426 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../../Developer/Library/openFrameworks/libs/glut/lib/osx/GLUT.framework; sourceTree = "<group>"; };
+ E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openFrameworksLib.xcodeproj; path = ../../../../Developer/Library/openFrameworks/libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj; sourceTree = SOURCE_ROOT; };
+ E45BE9710E8CC7DD009D7055 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = "<absolute>"; };
+ E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = "<absolute>"; };
+ E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = "<absolute>"; };
+ E45BE9740E8CC7DD009D7055 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
+ E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = "<absolute>"; };
+ E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; };
+ E45BE9770E8CC7DD009D7055 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; };
+ E45BE9790E8CC7DD009D7055 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; };
+ E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = "<absolute>"; };
+ E4B69B5B0A3A1756003C02F2 /* grabberDemoDebug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = grabberDemoDebug.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ E4B69E1D0A3A1BDC003C02F2 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; };
+ E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = testApp.cpp; path = src/testApp.cpp; sourceTree = SOURCE_ROOT; };
+ E4B69E1F0A3A1BDC003C02F2 /* testApp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = testApp.h; path = src/testApp.h; sourceTree = SOURCE_ROOT; };
+ E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = "openFrameworks-Info.plist"; sourceTree = "<group>"; };
+ E4C2424410CC5A17004149E2 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
+ E4C2424510CC5A17004149E2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
+ E4C2424610CC5A17004149E2 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = "<absolute>"; };
+ E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CoreOF.xcconfig; path = ../../../../Developer/Library/openFrameworks/libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig; sourceTree = SOURCE_ROOT; };
+ E4EB6923138AFD0F00A09F29 /* Project.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Project.xcconfig; sourceTree = "<group>"; };
+ E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = /System/Library/Frameworks/CoreVideo.framework; sourceTree = "<absolute>"; };
+ E7E077E715D3B6510020DFD4 /* QTKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = /System/Library/Frameworks/QTKit.framework; sourceTree = "<absolute>"; };
+ E7F985F515E0DE99003869B5 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = /System/Library/Frameworks/Accelerate.framework; sourceTree = "<absolute>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ E4B69B590A3A1756003C02F2 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ E7F985F815E0DEA3003869B5 /* Accelerate.framework in Frameworks */,
+ E7E077E815D3B6510020DFD4 /* QTKit.framework in Frameworks */,
+ E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */,
+ E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */,
+ E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */,
+ E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */,
+ E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */,
+ E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */,
+ E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */,
+ E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */,
+ E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */,
+ E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */,
+ E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */,
+ E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */,
+ E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */,
+ E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */,
+ E7E077E515D3B63C0020DFD4 /* CoreVideo.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 224FD1B61611BBA400681975 /* src */ = {
+ isa = PBXGroup;
+ children = (
+ 224FD1A41611BBA400681975 /* ofxCvBlob.h */,
+ 224FD1A51611BBA400681975 /* ofxCvColorImage.cpp */,
+ 224FD1A61611BBA400681975 /* ofxCvColorImage.h */,
+ 224FD1A71611BBA400681975 /* ofxCvConstants.h */,
+ 224FD1A81611BBA400681975 /* ofxCvContourFinder.cpp */,
+ 224FD1A91611BBA400681975 /* ofxCvContourFinder.h */,
+ 224FD1AA1611BBA400681975 /* ofxCvFloatImage.cpp */,
+ 224FD1AB1611BBA400681975 /* ofxCvFloatImage.h */,
+ 224FD1AC1611BBA400681975 /* ofxCvGrayscaleImage.cpp */,
+ 224FD1AD1611BBA400681975 /* ofxCvGrayscaleImage.h */,
+ 224FD1AE1611BBA400681975 /* ofxCvHaarFinder.cpp */,
+ 224FD1AF1611BBA400681975 /* ofxCvHaarFinder.h */,
+ 224FD1B01611BBA400681975 /* ofxCvImage.cpp */,
+ 224FD1B11611BBA400681975 /* ofxCvImage.h */,
+ 224FD1B21611BBA400681975 /* ofxCvMain.h */,
+ 224FD1B31611BBA400681975 /* ofxCvShortImage.cpp */,
+ 224FD1B41611BBA400681975 /* ofxCvShortImage.h */,
+ 224FD1B51611BBA400681975 /* ofxOpenCv.h */,
+ );
+ name = src;
+ sourceTree = "<group>";
+ };
+ 224FD1C21611BBA400681975 /* opencv */ = {
+ isa = PBXGroup;
+ children = (
+ 224FD1B71611BBA400681975 /* cv.h */,
+ 224FD1B81611BBA400681975 /* cv.hpp */,
+ 224FD1B91611BBA400681975 /* cvaux.h */,
+ 224FD1BA1611BBA400681975 /* cvaux.hpp */,
+ 224FD1BB1611BBA400681975 /* cvwimage.h */,
+ 224FD1BC1611BBA400681975 /* cxcore.h */,
+ 224FD1BD1611BBA400681975 /* cxcore.hpp */,
+ 224FD1BE1611BBA400681975 /* cxeigen.hpp */,
+ 224FD1BF1611BBA400681975 /* cxmisc.h */,
+ 224FD1C01611BBA400681975 /* highgui.h */,
+ 224FD1C11611BBA400681975 /* ml.h */,
+ );
+ name = opencv;
+ sourceTree = "<group>";
+ };
+ 224FD1C41611BBA400681975 /* calib3d */ = {
+ isa = PBXGroup;
+ children = (
+ 224FD1C31611BBA400681975 /* calib3d.hpp */,
+ );
+ name = calib3d;
+ sourceTree = "<group>";
+ };
+ 224FD1C71611BBA400681975 /* contrib */ = {
+ isa = PBXGroup;
+ children = (
+ 224FD1C51611BBA400681975 /* contrib.hpp */,
+ 224FD1C61611BBA400681975 /* retina.hpp */,
+ );
+ name = contrib;
+ sourceTree = "<group>";
+ };
+ 224FD1D11611BBA400681975 /* core */ = {
+ isa = PBXGroup;
+ children = (
+ 224FD1C81611BBA400681975 /* core.hpp */,
+ 224FD1C91611BBA400681975 /* core_c.h */,
+ 224FD1CA1611BBA400681975 /* eigen.hpp */,
+ 224FD1CB1611BBA400681975 /* internal.hpp */,
+ 224FD1CC1611BBA400681975 /* mat.hpp */,
+ 224FD1CD1611BBA400681975 /* operations.hpp */,
+ 224FD1CE1611BBA400681975 /* types_c.h */,
+ 224FD1CF1611BBA400681975 /* version.hpp */,
+ 224FD1D01611BBA400681975 /* wimage.hpp */,
+ );
+ name = core;
+ sourceTree = "<group>";
+ };
+ 224FD1D31611BBA400681975 /* features2d */ = {
+ isa = PBXGroup;
+ children = (
+ 224FD1D21611BBA400681975 /* features2d.hpp */,
+ );
+ name = features2d;
+ sourceTree = "<group>";
+ };
+ 224FD1F81611BBA400681975 /* flann */ = {
+ isa = PBXGroup;
+ children = (
+ 224FD1D41611BBA400681975 /* all_indices.h */,
+ 224FD1D51611BBA400681975 /* allocator.h */,
+ 224FD1D61611BBA400681975 /* any.h */,
+ 224FD1D71611BBA400681975 /* autotuned_index.h */,
+ 224FD1D81611BBA400681975 /* composite_index.h */,
+ 224FD1D91611BBA400681975 /* config.h */,
+ 224FD1DA1611BBA400681975 /* defines.h */,
+ 224FD1DB1611BBA400681975 /* dist.h */,
+ 224FD1DC1611BBA400681975 /* dummy.h */,
+ 224FD1DD1611BBA400681975 /* dynamic_bitset.h */,
+ 224FD1DE1611BBA400681975 /* flann.hpp */,
+ 224FD1DF1611BBA400681975 /* flann_base.hpp */,
+ 224FD1E01611BBA400681975 /* general.h */,
+ 224FD1E11611BBA400681975 /* ground_truth.h */,
+ 224FD1E21611BBA400681975 /* hdf5.h */,
+ 224FD1E31611BBA400681975 /* heap.h */,
+ 224FD1E41611BBA400681975 /* hierarchical_clustering_index.h */,
+ 224FD1E51611BBA400681975 /* index_testing.h */,
+ 224FD1E61611BBA400681975 /* kdtree_index.h */,
+ 224FD1E71611BBA400681975 /* kdtree_single_index.h */,
+ 224FD1E81611BBA400681975 /* kmeans_index.h */,
+ 224FD1E91611BBA400681975 /* linear_index.h */,
+ 224FD1EA1611BBA400681975 /* logger.h */,
+ 224FD1EB1611BBA400681975 /* lsh_index.h */,
+ 224FD1EC1611BBA400681975 /* lsh_table.h */,
+ 224FD1ED1611BBA400681975 /* matrix.h */,
+ 224FD1EE1611BBA400681975 /* miniflann.hpp */,
+ 224FD1EF1611BBA400681975 /* nn_index.h */,
+ 224FD1F01611BBA400681975 /* object_factory.h */,
+ 224FD1F11611BBA400681975 /* params.h */,
+ 224FD1F21611BBA400681975 /* random.h */,
+ 224FD1F31611BBA400681975 /* result_set.h */,
+ 224FD1F41611BBA400681975 /* sampling.h */,
+ 224FD1F51611BBA400681975 /* saving.h */,
+ 224FD1F61611BBA400681975 /* simplex_downhill.h */,
+ 224FD1F71611BBA400681975 /* timer.h */,
+ );
+ name = flann;
+ sourceTree = "<group>";
+ };
+ 224FD1FE1611BBA400681975 /* gpu */ = {
+ isa = PBXGroup;
+ children = (
+ 224FD1F91611BBA400681975 /* devmem2d.hpp */,
+ 224FD1FA1611BBA400681975 /* gpu.hpp */,
+ 224FD1FB1611BBA400681975 /* gpumat.hpp */,
+ 224FD1FC1611BBA400681975 /* matrix_operations.hpp */,
+ 224FD1FD1611BBA400681975 /* stream_accessor.hpp */,
+ );
+ name = gpu;
+ sourceTree = "<group>";
+ };
+ 224FD2011611BBA400681975 /* highgui */ = {
+ isa = PBXGroup;
+ children = (
+ 224FD1FF1611BBA400681975 /* highgui.hpp */,
+ 224FD2001611BBA400681975 /* highgui_c.h */,
+ );
+ name = highgui;
+ sourceTree = "<group>";
+ };
+ 224FD2051611BBA400681975 /* imgproc */ = {
+ isa = PBXGroup;
+ children = (
+ 224FD2021611BBA400681975 /* imgproc.hpp */,
+ 224FD2031611BBA400681975 /* imgproc_c.h */,
+ 224FD2041611BBA400681975 /* types_c.h */,
+ );
+ name = imgproc;
+ sourceTree = "<group>";
+ };
+ 224FD20A1611BBA400681975 /* legacy */ = {
+ isa = PBXGroup;
+ children = (
+ 224FD2061611BBA400681975 /* blobtrack.hpp */,
+ 224FD2071611BBA400681975 /* compat.hpp */,
+ 224FD2081611BBA400681975 /* legacy.hpp */,
+ 224FD2091611BBA400681975 /* streams.hpp */,
+ );
+ name = legacy;
+ sourceTree = "<group>";
+ };
+ 224FD20C1611BBA400681975 /* ml */ = {
+ isa = PBXGroup;
+ children = (
+ 224FD20B1611BBA400681975 /* ml.hpp */,
+ );
+ name = ml;
+ sourceTree = "<group>";
+ };
+ 224FD20E1611BBA400681975 /* objdetect */ = {
+ isa = PBXGroup;
+ children = (
+ 224FD20D1611BBA400681975 /* objdetect.hpp */,
+ );
+ name = objdetect;
+ sourceTree = "<group>";
+ };
+ 224FD2121611BBA400681975 /* ts */ = {
+ isa = PBXGroup;
+ children = (
+ 224FD2101611BBA400681975 /* ts.hpp */,
+ 224FD2111611BBA400681975 /* ts_gtest.h */,
+ );
+ name = ts;
+ sourceTree = "<group>";
+ };
+ 224FD2161611BBA400681975 /* video */ = {
+ isa = PBXGroup;
+ children = (
+ 224FD2131611BBA400681975 /* background_segm.hpp */,
+ 224FD2141611BBA400681975 /* tracking.hpp */,
+ 224FD2151611BBA400681975 /* video.hpp */,
+ );
+ name = video;
+ sourceTree = "<group>";
+ };
+ 224FD2171611BBA400681975 /* opencv2 */ = {
+ isa = PBXGroup;
+ children = (
+ 224FD1C41611BBA400681975 /* calib3d */,
+ 224FD1C71611BBA400681975 /* contrib */,
+ 224FD1D11611BBA400681975 /* core */,
+ 224FD1D31611BBA400681975 /* features2d */,
+ 224FD1F81611BBA400681975 /* flann */,
+ 224FD1FE1611BBA400681975 /* gpu */,
+ 224FD2011611BBA400681975 /* highgui */,
+ 224FD2051611BBA400681975 /* imgproc */,
+ 224FD20A1611BBA400681975 /* legacy */,
+ 224FD20C1611BBA400681975 /* ml */,
+ 224FD20E1611BBA400681975 /* objdetect */,
+ 224FD20F1611BBA400681975 /* opencv.hpp */,
+ 224FD2121611BBA400681975 /* ts */,
+ 224FD2161611BBA400681975 /* video */,
+ );
+ name = opencv2;
+ sourceTree = "<group>";
+ };
+ 224FD2181611BBA400681975 /* include */ = {
+ isa = PBXGroup;
+ children = (
+ 224FD1C21611BBA400681975 /* opencv */,
+ 224FD2171611BBA400681975 /* opencv2 */,
+ );
+ name = include;
+ sourceTree = "<group>";
+ };
+ 224FD2191611BBA400681975 /* opencv */ = {
+ isa = PBXGroup;
+ children = (
+ 224FD2181611BBA400681975 /* include */,
+ );
+ name = opencv;
+ sourceTree = "<group>";
+ };
+ 224FD21A1611BBA400681975 /* libs */ = {
+ isa = PBXGroup;
+ children = (
+ 224FD2191611BBA400681975 /* opencv */,
+ );
+ name = libs;
+ sourceTree = "<group>";
+ };
+ 224FD21B1611BBA400681975 /* ofxOpenCv */ = {
+ isa = PBXGroup;
+ children = (
+ 224FD1B61611BBA400681975 /* src */,
+ 224FD21A1611BBA400681975 /* libs */,
+ );
+ name = ofxOpenCv;
+ sourceTree = "<group>";
+ };
+ BB4B014C10F69532006C3DED /* addons */ = {
+ isa = PBXGroup;
+ children = (
+ 224FD21B1611BBA400681975 /* ofxOpenCv */,
+ );
+ name = addons;
+ sourceTree = "<group>";
+ };
+ BBAB23C913894ECA00AA2426 /* system frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ E7F985F515E0DE99003869B5 /* Accelerate.framework */,
+ E4C2424410CC5A17004149E2 /* AppKit.framework */,
+ E4C2424510CC5A17004149E2 /* Cocoa.framework */,
+ E4C2424610CC5A17004149E2 /* IOKit.framework */,
+ E45BE9710E8CC7DD009D7055 /* AGL.framework */,
+ E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */,
+ E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */,
+ E45BE9740E8CC7DD009D7055 /* Carbon.framework */,
+ E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */,
+ E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */,
+ E45BE9770E8CC7DD009D7055 /* CoreServices.framework */,
+ E45BE9790E8CC7DD009D7055 /* OpenGL.framework */,
+ E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */,
+ E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */,
+ E7E077E715D3B6510020DFD4 /* QTKit.framework */,
+ );
+ name = "system frameworks";
+ sourceTree = "<group>";
+ };
+ BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ BBAB23BE13894E4700AA2426 /* GLUT.framework */,
+ );
+ name = "3rd party frameworks";
+ sourceTree = "<group>";
+ };
+ E4328144138ABC890047C5CB /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ E4328148138ABC890047C5CB /* openFrameworksDebug.a */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ E45BE5980E8CC70C009D7055 /* frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */,
+ BBAB23C913894ECA00AA2426 /* system frameworks */,
+ );
+ name = frameworks;
+ sourceTree = "<group>";
+ };
+ E4B69B4A0A3A1720003C02F2 = {
+ isa = PBXGroup;
+ children = (
+ E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */,
+ E4EB6923138AFD0F00A09F29 /* Project.xcconfig */,
+ E4B69E1C0A3A1BDC003C02F2 /* src */,
+ E4EEC9E9138DF44700A80321 /* openFrameworks */,
+ BB4B014C10F69532006C3DED /* addons */,
+ E45BE5980E8CC70C009D7055 /* frameworks */,
+ E4B69B5B0A3A1756003C02F2 /* grabberDemoDebug.app */,
+ );
+ sourceTree = "<group>";
+ };
+ E4B69E1C0A3A1BDC003C02F2 /* src */ = {
+ isa = PBXGroup;
+ children = (
+ E4B69E1D0A3A1BDC003C02F2 /* main.cpp */,
+ E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */,
+ E4B69E1F0A3A1BDC003C02F2 /* testApp.h */,
+ );
+ path = src;
+ sourceTree = SOURCE_ROOT;
+ };
+ E4EEC9E9138DF44700A80321 /* openFrameworks */ = {
+ isa = PBXGroup;
+ children = (
+ E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */,
+ E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */,
+ );
+ name = openFrameworks;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ E4B69B5A0A3A1756003C02F2 /* grabberDemo */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "grabberDemo" */;
+ buildPhases = (
+ E4B69B580A3A1756003C02F2 /* Sources */,
+ E4B69B590A3A1756003C02F2 /* Frameworks */,
+ E4B6FFFD0C3F9AB9008CF71C /* ShellScript */,
+ E4C2427710CC5ABF004149E2 /* CopyFiles */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ E4EEB9AC138B136A00A80321 /* PBXTargetDependency */,
+ );
+ name = grabberDemo;
+ productName = myOFApp;
+ productReference = E4B69B5B0A3A1756003C02F2 /* grabberDemoDebug.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ E4B69B4C0A3A1720003C02F2 /* Project object */ = {
+ isa = PBXProject;
+ buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "grabberDemo" */;
+ compatibilityVersion = "Xcode 2.4";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ English,
+ Japanese,
+ French,
+ German,
+ );
+ mainGroup = E4B69B4A0A3A1720003C02F2;
+ productRefGroup = E4B69B4A0A3A1720003C02F2;
+ projectDirPath = "";
+ projectReferences = (
+ {
+ ProductGroup = E4328144138ABC890047C5CB /* Products */;
+ ProjectRef = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */;
+ },
+ );
+ projectRoot = "";
+ targets = (
+ E4B69B5A0A3A1756003C02F2 /* grabberDemo */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXReferenceProxy section */
+ E4328148138ABC890047C5CB /* openFrameworksDebug.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = openFrameworksDebug.a;
+ remoteRef = E4328147138ABC890047C5CB /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+/* End PBXReferenceProxy section */
+
+/* Begin PBXShellScriptBuildPhase section */
+ E4B6FFFD0C3F9AB9008CF71C /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "cp -f ../../../../Developer/Library/openFrameworks/libs/fmodex/lib/osx/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/libfmodex.dylib\"; install_name_tool -change ./libfmodex.dylib @executable_path/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME\";";
+ };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ E4B69B580A3A1756003C02F2 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */,
+ E4B69E210A3A1BDC003C02F2 /* testApp.cpp in Sources */,
+ 224FD2231611BBA400681975 /* ofxCvColorImage.cpp in Sources */,
+ 224FD2241611BBA400681975 /* ofxCvContourFinder.cpp in Sources */,
+ 224FD2251611BBA400681975 /* ofxCvFloatImage.cpp in Sources */,
+ 224FD2261611BBA400681975 /* ofxCvGrayscaleImage.cpp in Sources */,
+ 224FD2271611BBA400681975 /* ofxCvHaarFinder.cpp in Sources */,
+ 224FD2281611BBA400681975 /* ofxCvImage.cpp in Sources */,
+ 224FD2291611BBA400681975 /* ofxCvShortImage.cpp in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+ E4EEB9AC138B136A00A80321 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = openFrameworks;
+ targetProxy = E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
+/* Begin XCBuildConfiguration section */
+ E4B69B4E0A3A1720003C02F2 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */;
+ buildSettings = {
+ ARCHS = "$(NATIVE_ARCH)";
+ CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/";
+ COPY_PHASE_STRIP = NO;
+ DEAD_CODE_STRIPPING = YES;
+ GCC_AUTO_VECTORIZATION = YES;
+ GCC_ENABLE_SSE3_EXTENSIONS = YES;
+ GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
+ GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO;
+ GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO;
+ GCC_WARN_UNINITIALIZED_AUTOS = NO;
+ GCC_WARN_UNUSED_VALUE = NO;
+ GCC_WARN_UNUSED_VARIABLE = NO;
+ HEADER_SEARCH_PATHS = (
+ "$(OF_CORE_HEADERS)",
+ src,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/calib3d,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/contrib,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/core,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/features2d,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/gpu,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/highgui,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/imgproc,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/legacy,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/ml,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/objdetect,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/ts,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/video,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/lib,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/lib/osx,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/src,
+ );
+ OTHER_CPLUSPLUSFLAGS = (
+ "-D__MACOSX_CORE__",
+ "-lpthread",
+ "-mtune=native",
+ );
+ OTHER_LDFLAGS = (
+ "$(OF_CORE_LIBS)",
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/lib/osx/opencv.a,
+ );
+ };
+ name = Debug;
+ };
+ E4B69B4F0A3A1720003C02F2 /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */;
+ buildSettings = {
+ ARCHS = "$(NATIVE_ARCH)";
+ CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/";
+ COPY_PHASE_STRIP = YES;
+ DEAD_CODE_STRIPPING = YES;
+ GCC_AUTO_VECTORIZATION = YES;
+ GCC_ENABLE_SSE3_EXTENSIONS = YES;
+ GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_OPTIMIZATION_LEVEL = 3;
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_UNROLL_LOOPS = YES;
+ GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
+ GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO;
+ GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO;
+ GCC_WARN_UNINITIALIZED_AUTOS = NO;
+ GCC_WARN_UNUSED_VALUE = NO;
+ GCC_WARN_UNUSED_VARIABLE = NO;
+ HEADER_SEARCH_PATHS = (
+ "$(OF_CORE_HEADERS)",
+ src,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/calib3d,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/contrib,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/core,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/features2d,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/flann,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/gpu,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/highgui,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/imgproc,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/legacy,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/ml,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/objdetect,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/ts,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/include/opencv2/video,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/lib,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/lib/osx,
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/src,
+ );
+ OTHER_CPLUSPLUSFLAGS = (
+ "-D__MACOSX_CORE__",
+ "-lpthread",
+ "-mtune=native",
+ );
+ OTHER_LDFLAGS = (
+ "$(OF_CORE_LIBS)",
+ ../../../../Developer/Library/openFrameworks/addons/ofxOpenCv/libs/opencv/lib/osx/opencv.a,
+ );
+ };
+ name = Release;
+ };
+ E4B69B600A3A1757003C02F2 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = NO;
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
+ );
+ FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../../Developer/Library/openFrameworks/libs/glut/lib/osx\"";
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+ GCC_MODEL_TUNING = NONE;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
+ INFOPLIST_FILE = "openFrameworks-Info.plist";
+ INSTALL_PATH = "$(HOME)/Applications";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_52)",
+ );
+ PREBINDING = NO;
+ PRODUCT_NAME = "$(TARGET_NAME)Debug";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Debug;
+ };
+ E4B69B610A3A1757003C02F2 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = YES;
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
+ );
+ FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../../Developer/Library/openFrameworks/libs/glut/lib/osx\"";
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+ GCC_MODEL_TUNING = NONE;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
+ INFOPLIST_FILE = "openFrameworks-Info.plist";
+ INSTALL_PATH = "$(HOME)/Applications";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)",
+ );
+ PREBINDING = NO;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "grabberDemo" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ E4B69B4E0A3A1720003C02F2 /* Debug */,
+ E4B69B4F0A3A1720003C02F2 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "grabberDemo" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ E4B69B600A3A1757003C02F2 /* Debug */,
+ E4B69B610A3A1757003C02F2 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = E4B69B4C0A3A1720003C02F2 /* Project object */;
+}
diff --git a/figgis_detect.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/figgis_detect.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..d5258d7
--- /dev/null
+++ b/figgis_detect.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+ version = "1.0">
+ <FileRef
+ location = "self:grabberDemo.xcodeproj">
+ </FileRef>
+</Workspace>
diff --git a/figgis_detect.xcodeproj/tim.mode1v3 b/figgis_detect.xcodeproj/tim.mode1v3
new file mode 100644
index 0000000..ff74dc5
--- /dev/null
+++ b/figgis_detect.xcodeproj/tim.mode1v3
@@ -0,0 +1,1397 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>ActivePerspectiveName</key>
+ <string>Project</string>
+ <key>AllowedModules</key>
+ <array>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Name</key>
+ <string>Groups and Files Outline View</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Name</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCTaskListModule</string>
+ <key>Name</key>
+ <string>Task List</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCDetailModule</string>
+ <key>Name</key>
+ <string>File and Smart Group Detail Viewer</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXBuildResultsModule</string>
+ <key>Name</key>
+ <string>Detailed Build Results Viewer</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXProjectFindModule</string>
+ <key>Name</key>
+ <string>Project Batch Find Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCProjectFormatConflictsModule</string>
+ <key>Name</key>
+ <string>Project Format Conflicts List</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXBookmarksModule</string>
+ <key>Name</key>
+ <string>Bookmarks Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXClassBrowserModule</string>
+ <key>Name</key>
+ <string>Class Browser</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXCVSModule</string>
+ <key>Name</key>
+ <string>Source Code Control Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXDebugBreakpointsModule</string>
+ <key>Name</key>
+ <string>Debug Breakpoints Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCDockableInspector</string>
+ <key>Name</key>
+ <string>Inspector</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXOpenQuicklyModule</string>
+ <key>Name</key>
+ <string>Open Quickly Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXDebugSessionModule</string>
+ <key>Name</key>
+ <string>Debugger</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXDebugCLIModule</string>
+ <key>Name</key>
+ <string>Debug Console</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCSnapshotModule</string>
+ <key>Name</key>
+ <string>Snapshots Tool</string>
+ </dict>
+ </array>
+ <key>BundlePath</key>
+ <string>/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources</string>
+ <key>Description</key>
+ <string>DefaultDescriptionKey</string>
+ <key>DockingSystemVisible</key>
+ <false/>
+ <key>Extension</key>
+ <string>mode1v3</string>
+ <key>FavBarConfig</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>224FD2451611BC9900681975</string>
+ <key>XCBarModuleItemNames</key>
+ <dict/>
+ <key>XCBarModuleItems</key>
+ <array/>
+ </dict>
+ <key>FirstTimeWindowDisplayed</key>
+ <false/>
+ <key>Identifier</key>
+ <string>com.apple.perspectives.project.mode1v3</string>
+ <key>MajorVersion</key>
+ <integer>33</integer>
+ <key>MinorVersion</key>
+ <integer>0</integer>
+ <key>Name</key>
+ <string>Default</string>
+ <key>Notifications</key>
+ <array/>
+ <key>OpenEditors</key>
+ <array/>
+ <key>PerspectiveWidths</key>
+ <array>
+ <integer>-1</integer>
+ <integer>-1</integer>
+ </array>
+ <key>Perspectives</key>
+ <array>
+ <dict>
+ <key>ChosenToolbarItems</key>
+ <array>
+ <string>active-combo-popup</string>
+ <string>action</string>
+ <string>NSToolbarFlexibleSpaceItem</string>
+ <string>debugger-enable-breakpoints</string>
+ <string>build-and-go</string>
+ <string>com.apple.ide.PBXToolbarStopButton</string>
+ <string>get-info</string>
+ <string>NSToolbarFlexibleSpaceItem</string>
+ <string>com.apple.pbx.toolbar.searchfield</string>
+ </array>
+ <key>ControllerClassBaseName</key>
+ <string></string>
+ <key>IconName</key>
+ <string>WindowOfProjectWithEditor</string>
+ <key>Identifier</key>
+ <string>perspective.project</string>
+ <key>IsVertical</key>
+ <false/>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXBottomSmartGroupGIDs</key>
+ <array>
+ <string>1C37FBAC04509CD000000102</string>
+ <string>1C37FAAC04509CD000000102</string>
+ <string>1C37FABC05509CD000000102</string>
+ <string>1C37FABC05539CD112110102</string>
+ <string>E2644B35053B69B200211256</string>
+ <string>1C37FABC04509CD000100104</string>
+ <string>1CC0EA4004350EF90044410B</string>
+ <string>1CC0EA4004350EF90041110B</string>
+ </array>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Files</string>
+ <key>PBXProjectStructureProvided</key>
+ <string>yes</string>
+ <key>PBXSmartGroupTreeModuleColumnData</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
+ <array>
+ <real>186</real>
+ </array>
+ <key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
+ <array>
+ <string>MainColumn</string>
+ </array>
+ </dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
+ <array>
+ <string>E4B69B4A0A3A1720003C02F2</string>
+ <string>E4B69E1C0A3A1BDC003C02F2</string>
+ <string>1C37FABC05509CD000000102</string>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
+ <array>
+ <array>
+ <integer>4</integer>
+ <integer>3</integer>
+ <integer>0</integer>
+ </array>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
+ <string>{{0, 0}, {186, 460}}</string>
+ </dict>
+ <key>PBXTopSmartGroupGIDs</key>
+ <array/>
+ <key>XCIncludePerspectivesSwitch</key>
+ <true/>
+ <key>XCSharingToken</key>
+ <string>com.apple.Xcode.GFSharingToken</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {203, 478}}</string>
+ <key>GroupTreeTableConfiguration</key>
+ <array>
+ <string>MainColumn</string>
+ <real>186</real>
+ </array>
+ <key>RubberWindowFrame</key>
+ <string>0 59 1024 519 0 0 1024 578 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Proportion</key>
+ <string>203pt</string>
+ </dict>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <true/>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CE0B20306471E060097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>testApp.cpp</string>
+ <key>PBXSplitModuleInNavigatorKey</key>
+ <dict>
+ <key>Split0</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CE0B20406471E060097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>testApp.cpp</string>
+ <key>_historyCapacity</key>
+ <integer>0</integer>
+ <key>bookmark</key>
+ <string>22B5B8E01611FA970057A410</string>
+ <key>history</key>
+ <array>
+ <string>22E51A351611E82500E23AFF</string>
+ <string>22E51A371611E82500E23AFF</string>
+ </array>
+ </dict>
+ <key>SplitCount</key>
+ <string>1</string>
+ </dict>
+ <key>StatusBarVisibility</key>
+ <true/>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {816, 395}}</string>
+ <key>RubberWindowFrame</key>
+ <string>0 59 1024 519 0 0 1024 578 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>395pt</string>
+ </dict>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CE0B20506471E060097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Detail</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 400}, {816, 78}}</string>
+ <key>RubberWindowFrame</key>
+ <string>0 59 1024 519 0 0 1024 578 </string>
+ </dict>
+ <key>Module</key>
+ <string>XCDetailModule</string>
+ <key>Proportion</key>
+ <string>78pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>816pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Project</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCModuleDock</string>
+ <string>PBXSmartGroupTreeModule</string>
+ <string>XCModuleDock</string>
+ <string>PBXNavigatorGroup</string>
+ <string>XCDetailModule</string>
+ </array>
+ <key>TableOfContents</key>
+ <array>
+ <string>22B5B8C91611F1C20057A410</string>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <string>22B5B8CA1611F1C20057A410</string>
+ <string>1CE0B20306471E060097A5F4</string>
+ <string>1CE0B20506471E060097A5F4</string>
+ </array>
+ <key>ToolbarConfigUserDefaultsMinorVersion</key>
+ <string>2</string>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.defaultV3</string>
+ </dict>
+ <dict>
+ <key>ControllerClassBaseName</key>
+ <string></string>
+ <key>IconName</key>
+ <string>WindowOfProject</string>
+ <key>Identifier</key>
+ <string>perspective.morph</string>
+ <key>IsVertical</key>
+ <integer>0</integer>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXBottomSmartGroupGIDs</key>
+ <array>
+ <string>1C37FBAC04509CD000000102</string>
+ <string>1C37FAAC04509CD000000102</string>
+ <string>1C08E77C0454961000C914BD</string>
+ <string>1C37FABC05509CD000000102</string>
+ <string>1C37FABC05539CD112110102</string>
+ <string>E2644B35053B69B200211256</string>
+ <string>1C37FABC04509CD000100104</string>
+ <string>1CC0EA4004350EF90044410B</string>
+ <string>1CC0EA4004350EF90041110B</string>
+ </array>
+ <key>PBXProjectModuleGUID</key>
+ <string>11E0B1FE06471DED0097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Files</string>
+ <key>PBXProjectStructureProvided</key>
+ <string>yes</string>
+ <key>PBXSmartGroupTreeModuleColumnData</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
+ <array>
+ <real>186</real>
+ </array>
+ <key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
+ <array>
+ <string>MainColumn</string>
+ </array>
+ </dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
+ <array>
+ <string>29B97314FDCFA39411CA2CEA</string>
+ <string>1C37FABC05509CD000000102</string>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
+ <array>
+ <array>
+ <integer>0</integer>
+ </array>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
+ <string>{{0, 0}, {186, 337}}</string>
+ </dict>
+ <key>PBXTopSmartGroupGIDs</key>
+ <array/>
+ <key>XCIncludePerspectivesSwitch</key>
+ <integer>1</integer>
+ <key>XCSharingToken</key>
+ <string>com.apple.Xcode.GFSharingToken</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {203, 355}}</string>
+ <key>GroupTreeTableConfiguration</key>
+ <array>
+ <string>MainColumn</string>
+ <real>186</real>
+ </array>
+ <key>RubberWindowFrame</key>
+ <string>373 269 690 397 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Morph</string>
+ <key>PreferredWidth</key>
+ <integer>300</integer>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCModuleDock</string>
+ <string>PBXSmartGroupTreeModule</string>
+ </array>
+ <key>TableOfContents</key>
+ <array>
+ <string>11E0B1FE06471DED0097A5F4</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.default.shortV3</string>
+ </dict>
+ </array>
+ <key>PerspectivesBarVisible</key>
+ <false/>
+ <key>ShelfIsVisible</key>
+ <false/>
+ <key>SourceDescription</key>
+ <string>file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec'</string>
+ <key>StatusbarIsVisible</key>
+ <true/>
+ <key>TimeStamp</key>
+ <real>0.0</real>
+ <key>ToolbarConfigUserDefaultsMinorVersion</key>
+ <string>2</string>
+ <key>ToolbarDisplayMode</key>
+ <integer>1</integer>
+ <key>ToolbarIsVisible</key>
+ <true/>
+ <key>ToolbarSizeMode</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>Perspectives</string>
+ <key>UpdateMessage</key>
+ <string>The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'?</string>
+ <key>WindowJustification</key>
+ <integer>5</integer>
+ <key>WindowOrderList</key>
+ <array>
+ <string>22B5B8D41611F1C20057A410</string>
+ <string>22B5B8D51611F1C20057A410</string>
+ <string>1C78EAAD065D492600B07095</string>
+ <string>1CD10A99069EF8BA00B06720</string>
+ <string>224FD2461611BC9900681975</string>
+ <string>/Volumes/SD/workspace/grabberDemo/grabberDemo.xcodeproj</string>
+ </array>
+ <key>WindowString</key>
+ <string>0 59 1024 519 0 0 1024 578 </string>
+ <key>WindowToolsV3</key>
+ <array>
+ <dict>
+ <key>FirstTimeWindowDisplayed</key>
+ <false/>
+ <key>Identifier</key>
+ <string>windowTool.build</string>
+ <key>IsVertical</key>
+ <true/>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CD0528F0623707200166675</string>
+ <key>PBXProjectModuleLabel</key>
+ <string></string>
+ <key>StatusBarVisibility</key>
+ <true/>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {500, 218}}</string>
+ <key>RubberWindowFrame</key>
+ <string>139 60 500 500 0 0 1024 578 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>218pt</string>
+ </dict>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>XCMainBuildResultsModuleGUID</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Build Results</string>
+ <key>XCBuildResultsTrigger_Collapse</key>
+ <integer>1021</integer>
+ <key>XCBuildResultsTrigger_Open</key>
+ <integer>1011</integer>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 223}, {500, 236}}</string>
+ <key>RubberWindowFrame</key>
+ <string>139 60 500 500 0 0 1024 578 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXBuildResultsModule</string>
+ <key>Proportion</key>
+ <string>236pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>459pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Build Results</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXBuildResultsModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <true/>
+ <key>TableOfContents</key>
+ <array>
+ <string>224FD2461611BC9900681975</string>
+ <string>22B5B8CB1611F1C20057A410</string>
+ <string>1CD0528F0623707200166675</string>
+ <string>XCMainBuildResultsModuleGUID</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.buildV3</string>
+ <key>WindowContentMinSize</key>
+ <string>486 300</string>
+ <key>WindowString</key>
+ <string>139 60 500 500 0 0 1024 578 </string>
+ <key>WindowToolGUID</key>
+ <string>224FD2461611BC9900681975</string>
+ <key>WindowToolIsVisible</key>
+ <false/>
+ </dict>
+ <dict>
+ <key>FirstTimeWindowDisplayed</key>
+ <false/>
+ <key>Identifier</key>
+ <string>windowTool.debugger</string>
+ <key>IsVertical</key>
+ <true/>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>Debugger</key>
+ <dict>
+ <key>HorizontalSplitView</key>
+ <dict>
+ <key>_collapsingFrameDimension</key>
+ <real>0.0</real>
+ <key>_indexOfCollapsedView</key>
+ <integer>0</integer>
+ <key>_percentageOfCollapsedView</key>
+ <real>0.0</real>
+ <key>isCollapsed</key>
+ <string>yes</string>
+ <key>sizes</key>
+ <array>
+ <string>{{0, 0}, {347, 190}}</string>
+ <string>{{0, 190}, {347, 191}}</string>
+ </array>
+ </dict>
+ <key>VerticalSplitView</key>
+ <dict>
+ <key>_collapsingFrameDimension</key>
+ <real>0.0</real>
+ <key>_indexOfCollapsedView</key>
+ <integer>0</integer>
+ <key>_percentageOfCollapsedView</key>
+ <real>0.0</real>
+ <key>isCollapsed</key>
+ <string>yes</string>
+ <key>sizes</key>
+ <array>
+ <string>{{0, 0}, {347, 381}}</string>
+ <string>{{347, 0}, {347, 381}}</string>
+ </array>
+ </dict>
+ </dict>
+ <key>LauncherConfigVersion</key>
+ <string>8</string>
+ <key>PBXProjectModuleGUID</key>
+ <string>1C162984064C10D400B95A72</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Debug - GLUTExamples (Underwater)</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>DebugConsoleVisible</key>
+ <string>None</string>
+ <key>DebugConsoleWindowFrame</key>
+ <string>{{200, 200}, {500, 300}}</string>
+ <key>DebugSTDIOWindowFrame</key>
+ <string>{{200, 200}, {500, 300}}</string>
+ <key>Frame</key>
+ <string>{{0, 0}, {694, 381}}</string>
+ <key>PBXDebugSessionStackFrameViewKey</key>
+ <dict>
+ <key>DebugVariablesTableConfiguration</key>
+ <array>
+ <string>Name</string>
+ <real>120</real>
+ <string>Value</string>
+ <real>85</real>
+ <string>Summary</string>
+ <real>117</real>
+ </array>
+ <key>Frame</key>
+ <string>{{0, 190}, {347, 191}}</string>
+ <key>RubberWindowFrame</key>
+ <string>21 133 694 422 0 0 1024 578 </string>
+ </dict>
+ <key>RubberWindowFrame</key>
+ <string>21 133 694 422 0 0 1024 578 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXDebugSessionModule</string>
+ <key>Proportion</key>
+ <string>381pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>381pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Debugger</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXDebugSessionModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <true/>
+ <key>TableOfContents</key>
+ <array>
+ <string>1CD10A99069EF8BA00B06720</string>
+ <string>22B5B8CC1611F1C20057A410</string>
+ <string>1C162984064C10D400B95A72</string>
+ <string>22B5B8CD1611F1C20057A410</string>
+ <string>22B5B8CE1611F1C20057A410</string>
+ <string>22B5B8CF1611F1C20057A410</string>
+ <string>22B5B8D01611F1C20057A410</string>
+ <string>22B5B8D11611F1C20057A410</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.debugV3</string>
+ <key>WindowString</key>
+ <string>21 133 694 422 0 0 1024 578 </string>
+ <key>WindowToolGUID</key>
+ <string>1CD10A99069EF8BA00B06720</string>
+ <key>WindowToolIsVisible</key>
+ <false/>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.find</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CDD528C0622207200134675</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>&lt;No Editor&gt;</string>
+ <key>PBXSplitModuleInNavigatorKey</key>
+ <dict>
+ <key>Split0</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CD0528D0623707200166675</string>
+ </dict>
+ <key>SplitCount</key>
+ <string>1</string>
+ </dict>
+ <key>StatusBarVisibility</key>
+ <integer>1</integer>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {781, 167}}</string>
+ <key>RubberWindowFrame</key>
+ <string>62 385 781 470 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>781pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>50%</string>
+ </dict>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CD0528E0623707200166675</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Project Find</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{8, 0}, {773, 254}}</string>
+ <key>RubberWindowFrame</key>
+ <string>62 385 781 470 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXProjectFindModule</string>
+ <key>Proportion</key>
+ <string>50%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>428pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Project Find</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXProjectFindModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C530D57069F1CE1000CFCEE</string>
+ <string>1C530D58069F1CE1000CFCEE</string>
+ <string>1C530D59069F1CE1000CFCEE</string>
+ <string>1CDD528C0622207200134675</string>
+ <string>1C530D5A069F1CE1000CFCEE</string>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <string>1CD0528E0623707200166675</string>
+ </array>
+ <key>WindowString</key>
+ <string>62 385 781 470 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1C530D57069F1CE1000CFCEE</string>
+ <key>WindowToolIsVisible</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>MENUSEPARATOR</string>
+ </dict>
+ <dict>
+ <key>FirstTimeWindowDisplayed</key>
+ <false/>
+ <key>Identifier</key>
+ <string>windowTool.debuggerConsole</string>
+ <key>IsVertical</key>
+ <true/>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1C78EAAC065D492600B07095</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Debugger Console</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {650, 209}}</string>
+ <key>RubberWindowFrame</key>
+ <string>21 305 650 250 0 0 1024 578 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXDebugCLIModule</string>
+ <key>Proportion</key>
+ <string>209pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>209pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Debugger Console</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXDebugCLIModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <true/>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C78EAAD065D492600B07095</string>
+ <string>22B5B8D21611F1C20057A410</string>
+ <string>1C78EAAC065D492600B07095</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.consoleV3</string>
+ <key>WindowString</key>
+ <string>21 305 650 250 0 0 1024 578 </string>
+ <key>WindowToolGUID</key>
+ <string>1C78EAAD065D492600B07095</string>
+ <key>WindowToolIsVisible</key>
+ <false/>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.snapshots</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+ <string>XCSnapshotModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Snapshots</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCSnapshotModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <string>Yes</string>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.snapshots</string>
+ <key>WindowString</key>
+ <string>315 824 300 550 0 0 1440 878 </string>
+ <key>WindowToolIsVisible</key>
+ <string>Yes</string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.scm</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1C78EAB2065D492600B07095</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>&lt;No Editor&gt;</string>
+ <key>PBXSplitModuleInNavigatorKey</key>
+ <dict>
+ <key>Split0</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1C78EAB3065D492600B07095</string>
+ </dict>
+ <key>SplitCount</key>
+ <string>1</string>
+ </dict>
+ <key>StatusBarVisibility</key>
+ <integer>1</integer>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {452, 0}}</string>
+ <key>RubberWindowFrame</key>
+ <string>743 379 452 308 0 0 1280 1002 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>0pt</string>
+ </dict>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CD052920623707200166675</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>SCM</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>ConsoleFrame</key>
+ <string>{{0, 259}, {452, 0}}</string>
+ <key>Frame</key>
+ <string>{{0, 7}, {452, 259}}</string>
+ <key>RubberWindowFrame</key>
+ <string>743 379 452 308 0 0 1280 1002 </string>
+ <key>TableConfiguration</key>
+ <array>
+ <string>Status</string>
+ <real>30</real>
+ <string>FileName</string>
+ <real>199</real>
+ <string>Path</string>
+ <real>197.0950012207031</real>
+ </array>
+ <key>TableFrame</key>
+ <string>{{0, 0}, {452, 250}}</string>
+ </dict>
+ <key>Module</key>
+ <string>PBXCVSModule</string>
+ <key>Proportion</key>
+ <string>262pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>266pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>SCM</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXCVSModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C78EAB4065D492600B07095</string>
+ <string>1C78EAB5065D492600B07095</string>
+ <string>1C78EAB2065D492600B07095</string>
+ <string>1CD052920623707200166675</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.scm</string>
+ <key>WindowString</key>
+ <string>743 379 452 308 0 0 1280 1002 </string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.breakpoints</string>
+ <key>IsVertical</key>
+ <integer>0</integer>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXBottomSmartGroupGIDs</key>
+ <array>
+ <string>1C77FABC04509CD000000102</string>
+ </array>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Files</string>
+ <key>PBXProjectStructureProvided</key>
+ <string>no</string>
+ <key>PBXSmartGroupTreeModuleColumnData</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
+ <array>
+ <real>168</real>
+ </array>
+ <key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
+ <array>
+ <string>MainColumn</string>
+ </array>
+ </dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
+ <array>
+ <string>1C77FABC04509CD000000102</string>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
+ <array>
+ <array>
+ <integer>0</integer>
+ </array>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
+ <string>{{0, 0}, {168, 350}}</string>
+ </dict>
+ <key>PBXTopSmartGroupGIDs</key>
+ <array/>
+ <key>XCIncludePerspectivesSwitch</key>
+ <integer>0</integer>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {185, 368}}</string>
+ <key>GroupTreeTableConfiguration</key>
+ <array>
+ <string>MainColumn</string>
+ <real>168</real>
+ </array>
+ <key>RubberWindowFrame</key>
+ <string>315 424 744 409 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Proportion</key>
+ <string>185pt</string>
+ </dict>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CA1AED706398EBD00589147</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Detail</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{190, 0}, {554, 368}}</string>
+ <key>RubberWindowFrame</key>
+ <string>315 424 744 409 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>XCDetailModule</string>
+ <key>Proportion</key>
+ <string>554pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>368pt</string>
+ </dict>
+ </array>
+ <key>MajorVersion</key>
+ <integer>3</integer>
+ <key>MinorVersion</key>
+ <integer>0</integer>
+ <key>Name</key>
+ <string>Breakpoints</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXSmartGroupTreeModule</string>
+ <string>XCDetailModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1CDDB66807F98D9800BB5817</string>
+ <string>1CDDB66907F98D9800BB5817</string>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <string>1CA1AED706398EBD00589147</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.breakpointsV3</string>
+ <key>WindowString</key>
+ <string>315 424 744 409 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1CDDB66807F98D9800BB5817</string>
+ <key>WindowToolIsVisible</key>
+ <integer>1</integer>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.debugAnimator</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Debug Visualizer</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXNavigatorGroup</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.debugAnimatorV3</string>
+ <key>WindowString</key>
+ <string>100 100 700 500 0 0 1280 1002 </string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.bookmarks</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+ <string>PBXBookmarksModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Bookmarks</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXBookmarksModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>0</integer>
+ <key>WindowString</key>
+ <string>538 42 401 187 0 0 1280 1002 </string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.projectFormatConflicts</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+ <string>XCProjectFormatConflictsModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Project Format Conflicts</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCProjectFormatConflictsModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>0</integer>
+ <key>WindowContentMinSize</key>
+ <string>450 300</string>
+ <key>WindowString</key>
+ <string>50 850 472 307 0 0 1440 877</string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.classBrowser</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>OptionsSetName</key>
+ <string>Hierarchy, all classes</string>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CA6456E063B45B4001379D8</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Class Browser - NSObject</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>ClassesFrame</key>
+ <string>{{0, 0}, {374, 96}}</string>
+ <key>ClassesTreeTableConfiguration</key>
+ <array>
+ <string>PBXClassNameColumnIdentifier</string>
+ <real>208</real>
+ <string>PBXClassBookColumnIdentifier</string>
+ <real>22</real>
+ </array>
+ <key>Frame</key>
+ <string>{{0, 0}, {630, 331}}</string>
+ <key>MembersFrame</key>
+ <string>{{0, 105}, {374, 395}}</string>
+ <key>MembersTreeTableConfiguration</key>
+ <array>
+ <string>PBXMemberTypeIconColumnIdentifier</string>
+ <real>22</real>
+ <string>PBXMemberNameColumnIdentifier</string>
+ <real>216</real>
+ <string>PBXMemberTypeColumnIdentifier</string>
+ <real>97</real>
+ <string>PBXMemberBookColumnIdentifier</string>
+ <real>22</real>
+ </array>
+ <key>PBXModuleWindowStatusBarHidden2</key>
+ <integer>1</integer>
+ <key>RubberWindowFrame</key>
+ <string>385 179 630 352 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXClassBrowserModule</string>
+ <key>Proportion</key>
+ <string>332pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>332pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Class Browser</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXClassBrowserModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>0</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C0AD2AF069F1E9B00FABCE6</string>
+ <string>1C0AD2B0069F1E9B00FABCE6</string>
+ <string>1CA6456E063B45B4001379D8</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.classbrowser</string>
+ <key>WindowString</key>
+ <string>385 179 630 352 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1C0AD2AF069F1E9B00FABCE6</string>
+ <key>WindowToolIsVisible</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.refactoring</string>
+ <key>IncludeInToolsMenu</key>
+ <integer>0</integer>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{0, 0}, {500, 335}</string>
+ <key>RubberWindowFrame</key>
+ <string>{0, 0}, {500, 335}</string>
+ </dict>
+ <key>Module</key>
+ <string>XCRefactoringModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Refactoring</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCRefactoringModule</string>
+ </array>
+ <key>WindowString</key>
+ <string>200 200 500 356 0 0 1920 1200 </string>
+ </dict>
+ </array>
+</dict>
+</plist>
diff --git a/figgis_detect.xcodeproj/tim.pbxuser b/figgis_detect.xcodeproj/tim.pbxuser
new file mode 100644
index 0000000..314a967
--- /dev/null
+++ b/figgis_detect.xcodeproj/tim.pbxuser
@@ -0,0 +1,148 @@
+// !$*UTF8*$!
+{
+ 224FD22A1611BBA400681975 /* grabberDemo */ = {
+ isa = PBXExecutable;
+ activeArgIndices = (
+ );
+ argumentStrings = (
+ );
+ autoAttachOnCrash = 1;
+ breakpointsEnabled = 0;
+ configStateDict = {
+ };
+ customDataFormattersEnabled = 1;
+ dataTipCustomDataFormattersEnabled = 1;
+ dataTipShowTypeColumn = 1;
+ dataTipSortType = 0;
+ debuggerPlugin = GDBDebugging;
+ disassemblyDisplayState = 0;
+ dylibVariantSuffix = "";
+ enableDebugStr = 1;
+ environmentEntries = (
+ );
+ executableSystemSymbolLevel = 0;
+ executableUserSymbolLevel = 0;
+ libgmallocEnabled = 0;
+ name = grabberDemo;
+ savedGlobals = {
+ };
+ showTypeColumn = 0;
+ sourceDirectories = (
+ );
+ };
+ 224FD2361611BBC400681975 /* Source Control */ = {
+ isa = PBXSourceControlManager;
+ fallbackIsa = XCSourceControlManager;
+ isSCMEnabled = 0;
+ scmConfiguration = {
+ repositoryNamesForRoots = {
+ "" = "";
+ };
+ };
+ };
+ 224FD2371611BBC400681975 /* Code sense */ = {
+ isa = PBXCodeSenseManager;
+ indexTemplatePath = "";
+ };
+ 22B5B8E01611FA970057A410 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */;
+ name = "testApp.cpp: 23";
+ rLen = 1;
+ rLoc = 394;
+ rType = 0;
+ vrLen = 569;
+ vrLoc = 0;
+ };
+ 22E51A351611E82500E23AFF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = E4B69E1D0A3A1BDC003C02F2 /* main.cpp */;
+ name = "main.cpp: 17";
+ rLen = 0;
+ rLoc = 418;
+ rType = 0;
+ vrLen = 418;
+ vrLoc = 0;
+ };
+ 22E51A371611E82500E23AFF /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */;
+ name = "testApp.cpp: 115";
+ rLen = 0;
+ rLoc = 2706;
+ rType = 0;
+ vrLen = 812;
+ vrLoc = 239;
+ };
+ E4B69B4C0A3A1720003C02F2 /* Project object */ = {
+ activeBuildConfigurationName = Debug;
+ activeExecutable = 224FD22A1611BBA400681975 /* grabberDemo */;
+ activeTarget = E4B69B5A0A3A1756003C02F2 /* grabberDemo */;
+ codeSenseManager = 224FD2371611BBC400681975 /* Code sense */;
+ executables = (
+ 224FD22A1611BBA400681975 /* grabberDemo */,
+ );
+ perUserDictionary = {
+ PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
+ PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
+ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
+ PBXFileTableDataSourceColumnWidthsKey = (
+ 20,
+ 577,
+ 20,
+ 48,
+ 43,
+ 43,
+ 20,
+ );
+ PBXFileTableDataSourceColumnsKey = (
+ PBXFileDataSource_FiletypeID,
+ PBXFileDataSource_Filename_ColumnID,
+ PBXFileDataSource_Built_ColumnID,
+ PBXFileDataSource_ObjectSize_ColumnID,
+ PBXFileDataSource_Errors_ColumnID,
+ PBXFileDataSource_Warnings_ColumnID,
+ PBXFileDataSource_Target_ColumnID,
+ );
+ };
+ PBXPerProjectTemplateStateSaveDate = 370274729;
+ PBXWorkspaceStateSaveDate = 370274729;
+ };
+ perUserProjectItems = {
+ 22B5B8E01611FA970057A410 /* PBXTextBookmark */ = 22B5B8E01611FA970057A410 /* PBXTextBookmark */;
+ 22E51A351611E82500E23AFF /* PBXTextBookmark */ = 22E51A351611E82500E23AFF /* PBXTextBookmark */;
+ 22E51A371611E82500E23AFF /* PBXTextBookmark */ = 22E51A371611E82500E23AFF /* PBXTextBookmark */;
+ };
+ sourceControlManager = 224FD2361611BBC400681975 /* Source Control */;
+ userBuildSettings = {
+ };
+ };
+ E4B69B5A0A3A1756003C02F2 /* grabberDemo */ = {
+ activeExec = 0;
+ executables = (
+ 224FD22A1611BBA400681975 /* grabberDemo */,
+ );
+ };
+ E4B69E1D0A3A1BDC003C02F2 /* main.cpp */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {755, 366}}";
+ sepNavSelRange = "{418, 0}";
+ sepNavVisRange = "{0, 418}";
+ };
+ };
+ E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {755, 1495}}";
+ sepNavSelRange = "{394, 1}";
+ sepNavVisRange = "{0, 569}";
+ };
+ };
+ E4B69E1F0A3A1BDC003C02F2 /* testApp.h */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {917, 446}}";
+ sepNavSelRange = "{0, 0}";
+ sepNavVisRange = "{0, 478}";
+ sepNavWindowFrame = "{{15, 4}, {976, 574}}";
+ };
+ };
+}
diff --git a/figgis_detect.xcodeproj/xcshareddata/xcschemes/grabberDemo Debug.xcscheme b/figgis_detect.xcodeproj/xcshareddata/xcschemes/grabberDemo Debug.xcscheme
new file mode 100644
index 0000000..ffb5aa4
--- /dev/null
+++ b/figgis_detect.xcodeproj/xcshareddata/xcschemes/grabberDemo Debug.xcscheme
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ version = "1.3">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ <BuildActionEntries>
+ <BuildActionEntry
+ buildForTesting = "YES"
+ buildForRunning = "YES"
+ buildForProfiling = "YES"
+ buildForArchiving = "YES"
+ buildForAnalyzing = "YES">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "E4B69B5A0A3A1756003C02F2"
+ BuildableName = "grabberDemo.app"
+ BlueprintName = "grabberDemo"
+ ReferencedContainer = "container:grabberDemo.xcodeproj">
+ </BuildableReference>
+ </BuildActionEntry>
+ </BuildActionEntries>
+ </BuildAction>
+ <TestAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ buildConfiguration = "Debug">
+ <Testables>
+ </Testables>
+ <MacroExpansion>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "E4B69B5A0A3A1756003C02F2"
+ BuildableName = "grabberDemo.app"
+ BlueprintName = "grabberDemo"
+ ReferencedContainer = "container:grabberDemo.xcodeproj">
+ </BuildableReference>
+ </MacroExpansion>
+ </TestAction>
+ <LaunchAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
+ launchStyle = "0"
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Debug"
+ debugDocumentVersioning = "YES"
+ allowLocationSimulation = "YES">
+ <BuildableProductRunnable>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "E4B69B5A0A3A1756003C02F2"
+ BuildableName = "grabberDemo.app"
+ BlueprintName = "grabberDemo"
+ ReferencedContainer = "container:grabberDemo.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </LaunchAction>
+ <ProfileAction
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Debug"
+ debugDocumentVersioning = "YES">
+ <BuildableProductRunnable>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "E4B69B5A0A3A1756003C02F2"
+ BuildableName = "grabberDemo.app"
+ BlueprintName = "grabberDemo"
+ ReferencedContainer = "container:grabberDemo.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Debug"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
diff --git a/figgis_detect.xcodeproj/xcshareddata/xcschemes/grabberDemo Release.xcscheme b/figgis_detect.xcodeproj/xcshareddata/xcschemes/grabberDemo Release.xcscheme
new file mode 100644
index 0000000..1b29314
--- /dev/null
+++ b/figgis_detect.xcodeproj/xcshareddata/xcschemes/grabberDemo Release.xcscheme
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ version = "1.3">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ <BuildActionEntries>
+ <BuildActionEntry
+ buildForTesting = "YES"
+ buildForRunning = "YES"
+ buildForProfiling = "YES"
+ buildForArchiving = "YES"
+ buildForAnalyzing = "YES">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "E4B69B5A0A3A1756003C02F2"
+ BuildableName = "grabberDemo.app"
+ BlueprintName = "grabberDemo"
+ ReferencedContainer = "container:grabberDemo.xcodeproj">
+ </BuildableReference>
+ </BuildActionEntry>
+ </BuildActionEntries>
+ </BuildAction>
+ <TestAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ buildConfiguration = "Release">
+ <Testables>
+ </Testables>
+ <MacroExpansion>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "E4B69B5A0A3A1756003C02F2"
+ BuildableName = "grabberDemo.app"
+ BlueprintName = "grabberDemo"
+ ReferencedContainer = "container:grabberDemo.xcodeproj">
+ </BuildableReference>
+ </MacroExpansion>
+ </TestAction>
+ <LaunchAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
+ launchStyle = "0"
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Release"
+ debugDocumentVersioning = "YES"
+ allowLocationSimulation = "YES">
+ <BuildableProductRunnable>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "E4B69B5A0A3A1756003C02F2"
+ BuildableName = "grabberDemo.app"
+ BlueprintName = "grabberDemo"
+ ReferencedContainer = "container:grabberDemo.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </LaunchAction>
+ <ProfileAction
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Release"
+ debugDocumentVersioning = "YES">
+ <BuildableProductRunnable>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "E4B69B5A0A3A1756003C02F2"
+ BuildableName = "grabberDemo.app"
+ BlueprintName = "grabberDemo"
+ ReferencedContainer = "container:grabberDemo.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Release">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
diff --git a/src/boundary.cpp b/src/boundary.cpp
new file mode 100755
index 0000000..c30f676
--- /dev/null
+++ b/src/boundary.cpp
@@ -0,0 +1,79 @@
+#include "boundary.h"
+
+boundary::boundary()
+{
+ note=40; //middle C
+}
+
+boundary::boundary(int _note)
+{
+ note=_note;
+}
+
+boundary::~boundary()
+{
+}
+
+
+void boundary::draw(){
+ if (points.size()>1) {
+ for (int i=0;i<points.size();i++) {
+ ofLine(points[i],points[(i+1)%points.size()]);
+ }
+ ofDrawBitmapString(ofToString(note),centroid);
+ }
+}
+
+void boundary::add(ofPoint p){
+ points.push_back(p);
+ getCentroid();
+}
+void boundary::undo(){
+ if (points.size()>0) {
+ points.erase(points.end()-1);
+ getCentroid();
+ }
+}
+
+void boundary::getCentroid(){
+ float x=0;
+ float y=0;
+ for (int i=0;i<points.size();i++) {
+ x+=points[i].x;
+ y+=points[i].y;
+ }
+ centroid=ofPoint(x/points.size(),y/points.size(),0);
+}
+
+bool boundary::contains(ofPoint p)
+//winding rule algorithm for 2D polygon containment test
+//thanks to Paul Bourke
+//http://local.wasp.uwa.edu.au/~pbourke/geometry/insidepoly/
+{
+ int counter = 0;
+ int i;
+ double xinters;
+ ofPoint p1,p2;
+
+ p1 = points[0];
+ for (i=1;i<=points.size();i++) {
+ p2 = points[i % points.size()];
+ if (p.y > min(p1.y,p2.y)) {
+ if (p.y <= max(p1.y,p2.y)) {
+ if (p.x <= max(p1.x,p2.x)) {
+ if (p1.y != p2.y) {
+ xinters = (p.y-p1.y)*(p2.x-p1.x)/(p2.y-p1.y)+p1.x;
+ if (p1.x == p2.x || p.x <= xinters)
+ counter++;
+ }
+ }
+ }
+ }
+ p1 = p2;
+ }
+
+ if (counter % 2 == 0)
+ return false;
+ else
+ return true;
+}
diff --git a/src/boundary.h b/src/boundary.h
new file mode 100755
index 0000000..a4ee28b
--- /dev/null
+++ b/src/boundary.h
@@ -0,0 +1,28 @@
+#ifndef BOUNDARY_H
+#define BOUNDARY_H
+
+#include "ofMain.h"
+
+
+
+class boundary
+{
+ public:
+ boundary();
+ boundary(int _note);
+ virtual ~boundary();
+ bool contains(ofPoint p);
+ void draw();
+ void add(ofPoint p);
+ void undo();
+ int note;
+ void getCentroid();
+ vector<ofPoint> points;
+ ofPoint centroid;
+
+};
+
+
+
+
+#endif // BOUNDARY_H
diff --git a/src/main.cpp b/src/main.cpp
new file mode 100755
index 0000000..e502a4d
--- /dev/null
+++ b/src/main.cpp
@@ -0,0 +1,16 @@
+#include "ofMain.h"
+#include "testApp.h"
+#include "ofAppGlutWindow.h"
+
+//========================================================================
+int main( ){
+
+ ofAppGlutWindow window;
+ ofSetupOpenGL(&window, 640,480, OF_WINDOW); // <-------- setup the GL context
+
+ // this kicks off the running of my app
+ // can be OF_WINDOW or OF_FULLSCREEN
+ // pass in width and height too:
+ ofRunApp( new testApp());
+
+}
diff --git a/src/testApp.cpp b/src/testApp.cpp
new file mode 100755
index 0000000..28d3ef2
--- /dev/null
+++ b/src/testApp.cpp
@@ -0,0 +1,234 @@
+#include "testApp.h"
+
+//--------------------------------------------------------------
+void testApp::setup(){
+ loadSettings("settings.xml");
+ //sender.setup(host.c_str(),port);
+ sender.setup("192.168.15.6",57117);
+
+ bInvert=true;
+ threshold = 80;
+ //
+
+ gw=640;
+ gh=480;
+
+ vidGrabber.setVerbose(true);
+ vidGrabber.initGrabber(gw,gh); //base grab size
+
+ colorImg.allocate(gw,gh);
+ grayImage.allocate(gw,gh);
+ grayBg.allocate(gw,gh);
+ grayDiff.allocate(gw,gh);
+
+ bLearnBakground = true;
+
+
+ bFlip=true;
+
+ if (boundaries.size()==0) {
+ boundaries.push_back(boundary());
+ }
+ selectedBoundary=0;
+
+}
+
+//--------------------------------------------------------------
+void testApp::update(){
+ vidGrabber.grabFrame();
+ bool bNewFrame = vidGrabber.isFrameNew();
+ if (bNewFrame){
+ colorImg.setFromPixels(vidGrabber.getPixels(), gw,gh);
+ if (bFlip) colorImg.mirror(false,true);
+ grayImage = colorImg;
+ if (bInvert) grayImage.invert();
+ if (bLearnBakground == true){
+ grayBg = grayImage; // the = sign copys the pixels from grayImage into grayBg (operator overloading)
+ bLearnBakground = false;
+ }
+ grayDiff.absDiff(grayBg, grayImage);
+ grayDiff.threshold(threshold);
+ contourFinder.findContours(grayDiff, 20, (gw*gh)/3, 10, true); // find holes
+ }
+
+ //generate midi
+
+ for (int i = 0; i < contourFinder.nBlobs; i++){
+ for (int j=0;j<boundaries.size();j++) {
+ if (boundaries[j].contains(contourFinder.blobs[i].centroid)) {
+ sendNote(boundaries[j].note);
+ //printf("sending %i\n",boundaries[j].note);
+ }
+ }
+ }
+
+}
+
+//--------------------------------------------------------------
+void testApp::draw(){
+ ofSetColor(255,255,255);
+ colorImg.draw(0,0,gw,gh); //(ofGetHeight()-gh)/2,gw,ofGetHeight()+((gh-ofGetHeight())/2));
+
+ for (int i = 0; i < contourFinder.nBlobs; i++){
+ contourFinder.blobs[i].draw(0,0); //(ofGetHeight()-gh)/2);
+ }
+
+ for (int i=0;i<boundaries.size();i++) {
+ if (selectedBoundary==i) ofSetColor(255,0,0);
+ else ofSetColor(180,0,0);
+ boundaries[i].draw();
+ }
+}
+
+//--------------------------------------------------------------
+void testApp::keyPressed(int key){
+
+ switch (key){
+ case ' ':
+ bLearnBakground = true;
+ break;
+ case '+':
+ threshold ++;
+ if (threshold > 255) threshold = 255;
+ break;
+ case '-':
+ threshold --;
+ if (threshold < 0) threshold = 0;
+ break;
+ case 'i':
+ bInvert=!bInvert;
+ break;
+ case 'f':
+ bFlip=!bFlip;
+ break;
+ case 's':
+ saveSettings("settings.xml");
+ break;
+ case 'a':
+ boundaries.push_back(boundary());
+ selectedBoundary=boundaries.size()-1;
+ break;
+ case 'z':
+ boundaries[selectedBoundary].undo();
+ break;
+ case 'q':
+ boundaries.erase(boundaries.begin()+selectedBoundary);
+ if (selectedBoundary==boundaries.size()) selectedBoundary=0;
+ break;
+ case OF_KEY_PAGE_UP:
+ selectedBoundary--;
+ if (selectedBoundary<0) selectedBoundary=boundaries.size()-1;
+ break;
+ case OF_KEY_PAGE_DOWN:
+ selectedBoundary=(selectedBoundary+1)%boundaries.size();
+ break;
+ case OF_KEY_LEFT:
+ boundaries[selectedBoundary].note--;
+ break;
+ case OF_KEY_RIGHT:
+ boundaries[selectedBoundary].note++;
+ break;
+
+ }
+}
+
+//--------------------------------------------------------------
+void testApp::sendNote(int note){
+ ofxOscMessage m;
+ m.setAddress("/osc/midi/out/noteOn");
+ m.addIntArg(channel);
+ m.addIntArg(note);
+ m.addIntArg(127);
+ m.addIntArg(1);
+ sender.sendMessage(m);
+}
+
+//--------------------------------------------------------------
+void testApp::keyReleased(int key){
+
+}
+
+//--------------------------------------------------------------
+void testApp::mouseMoved(int x, int y ){
+
+}
+
+//--------------------------------------------------------------
+void testApp::mouseDragged(int x, int y, int button){
+
+}
+
+//--------------------------------------------------------------
+void testApp::mousePressed(int x, int y, int button){
+ boundaries[selectedBoundary].add(ofPoint(x,y,0));
+
+}
+
+//--------------------------------------------------------------
+void testApp::mouseReleased(int x, int y, int button){
+
+}
+
+//--------------------------------------------------------------
+void testApp::windowResized(int w, int h){
+
+}
+
+//--------------------------------------------------------------
+void testApp::gotMessage(ofMessage msg){
+
+}
+
+//--------------------------------------------------------------
+void testApp::dragEvent(ofDragInfo dragInfo){
+
+}
+void testApp::loadSettings(string filename){
+ if( !XML.loadFile(filename) ){
+ printf("unable to load %s check data/ folder\n",filename.c_str());
+ }else{
+ host=XML.getAttribute("figgis","host","127.0.0.1",0);
+ port=XML.getAttribute("figgis","port",5151,0);
+ channel=XML.getAttribute("figgis","channel",1,0);
+ bInvert=(XML.getAttribute("figgis","invert",0,0)==1);
+ threshold = XML.getAttribute("figgis","threshold",80,0);
+ if(XML.pushTag("boundaries")) {
+ for (int i=0;i<XML.getNumTags("boundary");i++){
+ boundaries.push_back(boundary(XML.getAttribute("boundary","note",40,i)));
+ selectedBoundary=boundaries.size()-1;
+ XML.pushTag("boundary",i);
+ for (int j=0;j<XML.getNumTags("point");j++){
+ boundaries[selectedBoundary].add(ofPoint(XML.getAttribute("point","x",0.0,j),XML.getAttribute("point","y",0.0,j),0.0));
+ }
+ XML.popTag();
+ }
+ XML.popTag();
+ }
+ printf("loaded %s\n",filename.c_str());
+ }
+}
+void testApp::saveSettings(string filename){
+ XML.setAttribute("figgis","invert",bInvert,0);
+ XML.setAttribute("figgis","threshold",threshold,0);
+ if (XML.tagExists("boundaries")) XML.removeTag("boundaries");
+ XML.addTag("boundaries");
+ if(XML.pushTag("boundaries")) {
+ for (int i=0;i<boundaries.size();i++){
+ XML.addTag("boundary");
+ XML.setAttribute("boundary","note",boundaries[i].note,i);
+ if(XML.pushTag("boundary",i)) {
+ for (int j=0;j<boundaries[i].points.size();j++){
+ XML.addTag("point");
+ XML.setAttribute("point","x",boundaries[i].points[j].x,j);
+ XML.setAttribute("point","y",boundaries[i].points[j].y,j);
+ }
+ XML.popTag();
+ }
+ }
+ XML.popTag();
+ }
+ XML.saveFile(filename);
+ printf("saved %s\n",filename.c_str());
+}
+void testApp::exit(){
+} \ No newline at end of file
diff --git a/src/testApp.h b/src/testApp.h
new file mode 100755
index 0000000..22389a6
--- /dev/null
+++ b/src/testApp.h
@@ -0,0 +1,61 @@
+#pragma once
+
+#include "ofMain.h"
+#include "ofxOpenCv.h"
+
+#include "boundary.h"
+#include "ofxXmlSettings.h"
+
+#include "ofxOsc.h"
+
+class testApp : public ofBaseApp{
+
+ public:
+ void setup();
+ void update();
+ void draw();
+ void exit();
+
+ void keyPressed (int key);
+ void keyReleased(int key);
+ void mouseMoved(int x, int y );
+ void mouseDragged(int x, int y, int button);
+ void mousePressed(int x, int y, int button);
+ void mouseReleased(int x, int y, int button);
+ void windowResized(int w, int h);
+ void dragEvent(ofDragInfo dragInfo);
+ void gotMessage(ofMessage msg);
+
+ ofxXmlSettings XML;
+ void loadSettings(string filename);
+ void saveSettings(string filename);
+
+ //destination for OSC
+ std::string host;
+ int port,channel;
+ ofxOscSender sender;
+
+ void sendNote(int note);
+
+ ofVideoGrabber vidGrabber;
+
+ int gw,gh;
+
+ ofxCvColorImage colorImg;
+
+ ofxCvGrayscaleImage grayImage;
+ ofxCvGrayscaleImage grayBg;
+ ofxCvGrayscaleImage grayDiff;
+
+ ofxCvContourFinder contourFinder;
+
+ int threshold;
+ bool bLearnBakground;
+
+ bool bFlip;
+ bool bInvert;
+
+ vector<boundary> boundaries;
+ int selectedBoundary;
+
+};