From b678510d145fbca720f2b76b2b55b46d809b0148 Mon Sep 17 00:00:00 2001 From: shenberg Date: Fri, 1 Apr 2016 15:48:36 +0300 Subject: [PATCH] builds on mac --- Makefile | 13 + Project.xcconfig | 17 + config.make | 142 ++++ openFrameworks-Info.plist | 22 + src/ofApp.cpp | 42 +- src/ofApp.h | 9 + src/ps3eye.cpp | 5 + visionquest.xcodeproj/project.pbxproj | 790 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/visionquest.xcscmblueprint | 30 + .../UserInterfaceState.xcuserstate | Bin 0 -> 42685 bytes .../xcschemes/visionquest Debug.xcscheme | 86 ++ .../xcschemes/visionquest Release.xcscheme | 86 ++ .../xcschemes/xcschememanagement.plist | 14 + 14 files changed, 1250 insertions(+), 13 deletions(-) create mode 100644 Makefile create mode 100644 Project.xcconfig create mode 100644 config.make create mode 100644 openFrameworks-Info.plist create mode 100644 visionquest.xcodeproj/project.pbxproj create mode 100644 visionquest.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 visionquest.xcodeproj/project.xcworkspace/xcshareddata/visionquest.xcscmblueprint create mode 100644 visionquest.xcodeproj/project.xcworkspace/xcuserdata/shenberg.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 visionquest.xcodeproj/xcshareddata/xcschemes/visionquest Debug.xcscheme create mode 100644 visionquest.xcodeproj/xcshareddata/xcschemes/visionquest Release.xcscheme create mode 100644 visionquest.xcodeproj/xcuserdata/shenberg.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..8d8e4c0 --- /dev/null +++ b/Makefile @@ -0,0 +1,13 @@ +# Attempt to load a config.make file. +# If none is found, project defaults in config.project.make will be used. +ifneq ($(wildcard config.make),) + include config.make +endif + +# make sure the the OF_ROOT location is defined +ifndef OF_ROOT + OF_ROOT=$(realpath ../../..) +endif + +# call the project makefile! +include $(OF_ROOT)/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk diff --git a/Project.xcconfig b/Project.xcconfig new file mode 100644 index 0000000..e570b15 --- /dev/null +++ b/Project.xcconfig @@ -0,0 +1,17 @@ +//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT. +//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED +OF_PATH = ../../.. + +//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE +#include "../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig" + +//ICONS - NEW IN 0072 +ICON_NAME_DEBUG = icon-debug.icns +ICON_NAME_RELEASE = icon.icns +ICON_FILE_PATH = $(OF_PATH)/libs/openFrameworksCompiled/project/osx/ + +//IF YOU WANT AN APP TO HAVE A CUSTOM ICON - PUT THEM IN YOUR DATA FOLDER AND CHANGE ICON_FILE_PATH to: +//ICON_FILE_PATH = bin/data/ + +OTHER_LDFLAGS = $(OF_CORE_LIBS) $(OF_CORE_FRAMEWORKS) +HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS) diff --git a/config.make b/config.make new file mode 100644 index 0000000..df10f64 --- /dev/null +++ b/config.make @@ -0,0 +1,142 @@ +################################################################################ +# CONFIGURE PROJECT MAKEFILE (optional) +# This file is where we make project specific configurations. +################################################################################ + +################################################################################ +# OF ROOT +# The location of your root openFrameworks installation +# (default) OF_ROOT = ../../.. +################################################################################ +# OF_ROOT = ../../.. + +################################################################################ +# PROJECT ROOT +# The location of the project - a starting place for searching for files +# (default) PROJECT_ROOT = . (this directory) +# +################################################################################ +# PROJECT_ROOT = . + +################################################################################ +# PROJECT SPECIFIC CHECKS +# This is a project defined section to create internal makefile flags to +# conditionally enable or disable the addition of various features within +# this makefile. For instance, if you want to make changes based on whether +# GTK is installed, one might test that here and create a variable to check. +################################################################################ +# None + +################################################################################ +# PROJECT EXTERNAL SOURCE PATHS +# These are fully qualified paths that are not within the PROJECT_ROOT folder. +# Like source folders in the PROJECT_ROOT, these paths are subject to +# exlclusion via the PROJECT_EXLCUSIONS list. +# +# (default) PROJECT_EXTERNAL_SOURCE_PATHS = (blank) +# +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_EXTERNAL_SOURCE_PATHS = + +################################################################################ +# PROJECT EXCLUSIONS +# These makefiles assume that all folders in your current project directory +# and any listed in the PROJECT_EXTERNAL_SOURCH_PATHS are are valid locations +# to look for source code. The any folders or files that match any of the +# items in the PROJECT_EXCLUSIONS list below will be ignored. +# +# Each item in the PROJECT_EXCLUSIONS list will be treated as a complete +# string unless teh user adds a wildcard (%) operator to match subdirectories. +# GNU make only allows one wildcard for matching. The second wildcard (%) is +# treated literally. +# +# (default) PROJECT_EXCLUSIONS = (blank) +# +# Will automatically exclude the following: +# +# $(PROJECT_ROOT)/bin% +# $(PROJECT_ROOT)/obj% +# $(PROJECT_ROOT)/%.xcodeproj +# +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_EXCLUSIONS = + +################################################################################ +# PROJECT LINKER FLAGS +# These flags will be sent to the linker when compiling the executable. +# +# (default) PROJECT_LDFLAGS = -Wl,-rpath=./libs +# +# Note: Leave a leading space when adding list items with the += operator +################################################################################ + +# Currently, shared libraries that are needed are copied to the +# $(PROJECT_ROOT)/bin/libs directory. The following LDFLAGS tell the linker to +# add a runtime path to search for those shared libraries, since they aren't +# incorporated directly into the final executable application binary. +# TODO: should this be a default setting? +# PROJECT_LDFLAGS=-Wl,-rpath=./libs + +################################################################################ +# PROJECT DEFINES +# Create a space-delimited list of DEFINES. The list will be converted into +# CFLAGS with the "-D" flag later in the makefile. +# +# (default) PROJECT_DEFINES = (blank) +# +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_DEFINES = + +################################################################################ +# PROJECT CFLAGS +# This is a list of fully qualified CFLAGS required when compiling for this +# project. These CFLAGS will be used IN ADDITION TO the PLATFORM_CFLAGS +# defined in your platform specific core configuration files. These flags are +# presented to the compiler BEFORE the PROJECT_OPTIMIZATION_CFLAGS below. +# +# (default) PROJECT_CFLAGS = (blank) +# +# Note: Before adding PROJECT_CFLAGS, note that the PLATFORM_CFLAGS defined in +# your platform specific configuration file will be applied by default and +# further flags here may not be needed. +# +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_CFLAGS = + +################################################################################ +# PROJECT OPTIMIZATION CFLAGS +# These are lists of CFLAGS that are target-specific. While any flags could +# be conditionally added, they are usually limited to optimization flags. +# These flags are added BEFORE the PROJECT_CFLAGS. +# +# PROJECT_OPTIMIZATION_CFLAGS_RELEASE flags are only applied to RELEASE targets. +# +# (default) PROJECT_OPTIMIZATION_CFLAGS_RELEASE = (blank) +# +# PROJECT_OPTIMIZATION_CFLAGS_DEBUG flags are only applied to DEBUG targets. +# +# (default) PROJECT_OPTIMIZATION_CFLAGS_DEBUG = (blank) +# +# Note: Before adding PROJECT_OPTIMIZATION_CFLAGS, please note that the +# PLATFORM_OPTIMIZATION_CFLAGS defined in your platform specific configuration +# file will be applied by default and further optimization flags here may not +# be needed. +# +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_OPTIMIZATION_CFLAGS_RELEASE = +# PROJECT_OPTIMIZATION_CFLAGS_DEBUG = + +################################################################################ +# PROJECT COMPILERS +# Custom compilers can be set for CC and CXX +# (default) PROJECT_CXX = (blank) +# (default) PROJECT_CC = (blank) +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_CXX = +# PROJECT_CC = diff --git a/openFrameworks-Info.plist b/openFrameworks-Info.plist new file mode 100644 index 0000000..8d64d2b --- /dev/null +++ b/openFrameworks-Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + cc.openFrameworks.ofapp + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleVersion + 1.0 + CFBundleIconFile + ${ICON} + + diff --git a/src/ofApp.cpp b/src/ofApp.cpp index 97b271a..df1b29a 100644 --- a/src/ofApp.cpp +++ b/src/ofApp.cpp @@ -44,8 +44,9 @@ void ofApp::setup() { mouseForces.setup(flowWidth, flowHeight, drawWidth, drawHeight); // CAMERA - //simpleCam.setup(640, 480, true); + simpleCam.setup(640, 480, true); +#ifdef _KINECT // KINECT kinect.open(); kinect.initDepthSource(); @@ -53,7 +54,8 @@ void ofApp::setup() { kinect.initInfraredSource(); kinect.initBodySource(); kinect.initBodyIndexSource(); - +#endif + didCamUpdate = false; cameraFbo.allocate(1280, 720); cameraFbo.black(); @@ -234,10 +236,12 @@ void ofApp::update() { deltaTime = ofGetElapsedTimef() - lastTime; lastTime = ofGetElapsedTimef(); - //simpleCam.update(); + simpleCam.update(); +#ifdef _KINECT if (isKinectSource()) { kinect.update(); } +#endif if (isPsEyeSource() && eye) { @@ -246,9 +250,11 @@ void ofApp::update() { videoTexture.loadData(videoFrame, eye->getWidth(), eye->getHeight(), GL_RGBA); free(new_pixels); } - +#ifdef _KINECT if ((isKinectSource() && (kinect.getColorSource()->isFrameNew()) || (isPsEyeSource() && eye))) { +#endif + if ((isPsEyeSource() && eye) || simpleCam.isFrameNew()) { //simpleCam.isFrameNew(); ofPushStyle(); ofEnableBlendMode(OF_BLENDMODE_DISABLED); @@ -256,32 +262,42 @@ void ofApp::update() { if (doFlipCamera) { switch (sourceMode) { +#ifdef _KINECT case SOURCE_KINECT: kinect.getColorSource()->draw(cameraFbo.getWidth(), 0, -cameraFbo.getWidth(), cameraFbo.getHeight()); - break; - case SOURCE_PS3EYE: - videoTexture.draw(cameraFbo.getWidth(), 0, -cameraFbo.getWidth(), cameraFbo.getHeight()); - break; + break; case SOURCE_KINECT_PS3EYE: kinect.getColorSource()->draw(cameraFbo.getWidth(), 0, -cameraFbo.getWidth(), cameraFbo.getHeight()); float psEyeXPosition = (cameraFbo.getWidth() / 3 ) + 20; videoTexture.draw(psEyeXPosition, 20, -cameraFbo.getWidth() / 3, cameraFbo.getHeight() / 3); break; +#endif + case SOURCE_PS3EYE: + videoTexture.draw(cameraFbo.getWidth(), 0, -cameraFbo.getWidth(), cameraFbo.getHeight()); + break; + default: + simpleCam.draw(cameraFbo.getWidth(), 0, -cameraFbo.getWidth(), cameraFbo.getHeight()); + break; }; } else { switch (sourceMode) { +#ifdef _KINECT case SOURCE_KINECT: kinect.getColorSource()->draw(0, 0, cameraFbo.getWidth(), cameraFbo.getHeight()); break; + case SOURCE_KINECT_PS3EYE: + kinect.getColorSource()->draw(0, 0, cameraFbo.getWidth(), cameraFbo.getHeight()); + float psEyeXPosition = (cameraFbo.getWidth() / 3 * 2) - 20; + videoTexture.draw(psEyeXPosition, 20, cameraFbo.getWidth() / 3, cameraFbo.getHeight() / 3); + break; +#endif case SOURCE_PS3EYE: videoTexture.draw(0, 0, cameraFbo.getWidth(), cameraFbo.getHeight()); break; - case SOURCE_KINECT_PS3EYE: - kinect.getColorSource()->draw(0, 0, cameraFbo.getWidth(), cameraFbo.getHeight()); - float psEyeXPosition = (cameraFbo.getWidth() / 3 * 2) - 20; - videoTexture.draw(psEyeXPosition, 20, cameraFbo.getWidth() / 3, cameraFbo.getHeight() / 3); - break; + default: + simpleCam.draw(0, 0, cameraFbo.getWidth(), cameraFbo.getHeight()); + break; }; } cameraFbo.end(); diff --git a/src/ofApp.h b/src/ofApp.h index 854f7c4..6dba8a4 100644 --- a/src/ofApp.h +++ b/src/ofApp.h @@ -1,9 +1,16 @@ #pragma once +#ifdef _WIN32 +#define _KINECT +#endif + #include "ofMain.h" #include "ofxGui.h" #include "ofxFlowTools.h" +#ifdef _KINECT #include "ofxKinectForWindows2.h" +#endif + #include "ps3eye.h" #define USE_PROGRAMMABLE_GL // Maybe there is a reason you would want to @@ -45,7 +52,9 @@ class ofApp : public ofBaseApp { // Camera ofVideoGrabber simpleCam; +#ifdef _KINECT ofxKFW2::Device kinect; +#endif ps3eye::PS3EYECam::PS3EYERef eye; unsigned char * videoFrame; ofTexture videoTexture; diff --git a/src/ps3eye.cpp b/src/ps3eye.cpp index 2a10ea3..f8810ba 100644 --- a/src/ps3eye.cpp +++ b/src/ps3eye.cpp @@ -457,7 +457,12 @@ void USBMgr::transferThreadFunc() while (!exit_signaled) { +#ifdef _WIN32 libusb_handle_events_timeout_completed(usb_context, &tv, NULL); +#else + //TODO:shenberg update libusb version on mac? + libusb_handle_events(usb_context); +#endif } } diff --git a/visionquest.xcodeproj/project.pbxproj b/visionquest.xcodeproj/project.pbxproj new file mode 100644 index 0000000..3294218 --- /dev/null +++ b/visionquest.xcodeproj/project.pbxproj @@ -0,0 +1,790 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 088F26C81CAC78E90028DD20 /* libusb-1.0.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 088F26C71CAC78E90028DD20 /* libusb-1.0.dylib */; }; + 1CD33E884D9E3358252E82A1 /* ofxToggle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 907C5B5E104864A2D3A25745 /* ofxToggle.cpp */; }; + 1E51E73394C784DC0AD640E6 /* ps3eye_capi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4224F4CE8B12BB9B2BA4CE91 /* ps3eye_capi.cpp */; }; + 29D734F0DDECC8C5978185D7 /* testApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00A1BFCBB38848AD0E0C8539 /* testApp.cpp */; }; + 4166D6A6757F613CED499577 /* ftDrawForce.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6A092AB6F7172A3547F3C6E4 /* ftDrawForce.cpp */; }; + 483908258D00B98B4BE69F07 /* ofxLabel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78D67A00EB899FAC09430597 /* ofxLabel.cpp */; }; + 54FAC54E7E1116A49955101E /* ftOpticalFlow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD4BAB412F2EAE29DEEF7D5E /* ftOpticalFlow.cpp */; }; + 5CBB2AB3A60F65431D7B555D /* ofxButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C88333E71C9457E441C33474 /* ofxButton.cpp */; }; + 77FBBEE103C3E71E8C9510E0 /* ftParticleFlow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EC4179AA42E82A975E5EDC50 /* ftParticleFlow.cpp */; }; + 837220E80EB56CD44AD27F2A /* ofxSlider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 15F2C6477A769C03A56D1401 /* ofxSlider.cpp */; }; + 856AA354D08AB4B323081444 /* ofxBaseGui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9604B925D32EE39065747725 /* ofxBaseGui.cpp */; }; + 8EA04B616D228D22AEC6C9C8 /* ftAverageVelocity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5250BCAC86C0139070F38127 /* ftAverageVelocity.cpp */; }; + A52A5125D43D38A191D9F0B9 /* ps3eye.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2D7D041E38F86C524CE48081 /* ps3eye.cpp */; }; + AFBC335CC80DC27DCC9E70D7 /* ftFluidSimulation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 66EA260B157526C716077F8A /* ftFluidSimulation.cpp */; }; + B266578FC55D23BFEBC042E7 /* ofxGuiGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ECF8674C7975F1063C5E30CA /* ofxGuiGroup.cpp */; }; + B56FE57CC35806596D38118C /* ofxSliderGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 802251BAF1B35B1D67B32FD0 /* ofxSliderGroup.cpp */; }; + D1C26E826A2EA39A4D25FF84 /* ftVelocityMask.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6591B66F774811D0B071DDB7 /* ftVelocityMask.cpp */; }; + E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4328148138ABC890047C5CB /* openFrameworksDebug.a */; }; + E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1D0A3A1BDC003C02F2 /* main.cpp */; }; + E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */; }; + F285EB3169F1566CA3D93C20 /* ofxPanel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E112B3AEBEA2C091BF2B40AE /* ofxPanel.cpp */; }; + F75A96FFB5CA3A70D0903987 /* ftDrawMouseForces.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 30A7D289BFD058F2CF626BC0 /* ftDrawMouseForces.cpp */; }; +/* 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 = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 00449FC76510999AD951333B /* hotplug.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = hotplug.h; path = src/libusb/hotplug.h; sourceTree = SOURCE_ROOT; }; + 00A1BFCBB38848AD0E0C8539 /* testApp.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = testApp.cpp; path = src/testApp.cpp; sourceTree = SOURCE_ROOT; }; + 04CE6A84FA111F88EB08CDAA /* ftOpticalFlowShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftOpticalFlowShader.h; path = ../../../addons/ofxFlowTools/src/opticalflow/ftOpticalFlowShader.h; sourceTree = SOURCE_ROOT; }; + 07818DEA3E42B969F242F634 /* ftTemperatureField.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftTemperatureField.h; path = ../../../addons/ofxFlowTools/src/visualisation/ftTemperatureField.h; sourceTree = SOURCE_ROOT; }; + 088F26C71CAC78E90028DD20 /* libusb-1.0.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libusb-1.0.dylib"; path = "bin/data/libusb/libusb-1.0.dylib"; sourceTree = SOURCE_ROOT; }; + 0A1DAC09F322AE313A40706D /* ofxToggle.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxToggle.h; path = ../../../addons/ofxGui/src/ofxToggle.h; sourceTree = SOURCE_ROOT; }; + 0D418D07961710BA2605389F /* ftVelocityField.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftVelocityField.h; path = ../../../addons/ofxFlowTools/src/visualisation/ftVelocityField.h; sourceTree = SOURCE_ROOT; }; + 0DF78CA076187E107246129C /* darwin_usb.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = darwin_usb.h; path = src/libusb/os/darwin_usb.h; sourceTree = SOURCE_ROOT; }; + 141AF1017959EBF9939C1BD1 /* ftVelocitySpheresShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftVelocitySpheresShader.h; path = ../../../addons/ofxFlowTools/src/visualisation/ftVelocitySpheresShader.h; sourceTree = SOURCE_ROOT; }; + 15F2C6477A769C03A56D1401 /* ofxSlider.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxSlider.cpp; path = ../../../addons/ofxGui/src/ofxSlider.cpp; sourceTree = SOURCE_ROOT; }; + 17E65988300FBD9AAA2CD0CA /* ofxGui.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxGui.h; path = ../../../addons/ofxGui/src/ofxGui.h; sourceTree = SOURCE_ROOT; }; + 18BDF8D6A9DDAA063D9BB02C /* ftFbo.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftFbo.h; path = ../../../addons/ofxFlowTools/src/ftFbo.h; sourceTree = SOURCE_ROOT; }; + 1C0DA2561397A7DE0246858B /* ofxGuiGroup.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxGuiGroup.h; path = ../../../addons/ofxGui/src/ofxGuiGroup.h; sourceTree = SOURCE_ROOT; }; + 1E9471F754EB7EE1B0CC0D1F /* ftOpticalFlow.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftOpticalFlow.h; path = ../../../addons/ofxFlowTools/src/opticalflow/ftOpticalFlow.h; sourceTree = SOURCE_ROOT; }; + 22757F50E29B6C4E2020B4BE /* ftDrawParticleShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftDrawParticleShader.h; path = ../../../addons/ofxFlowTools/src/particles/ftDrawParticleShader.h; sourceTree = SOURCE_ROOT; }; + 253346E9CF7A7617C548092F /* ftGaussianBlurShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftGaussianBlurShader.h; path = ../../../addons/ofxFlowTools/src/filters/ftGaussianBlurShader.h; sourceTree = SOURCE_ROOT; }; + 25DEB436D7353F73022E3E0D /* ftDivergenceShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftDivergenceShader.h; path = ../../../addons/ofxFlowTools/src/fluid/ftDivergenceShader.h; sourceTree = SOURCE_ROOT; }; + 2834D88A62CD23F3DE2C47D1 /* ofxButton.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxButton.h; path = ../../../addons/ofxGui/src/ofxButton.h; sourceTree = SOURCE_ROOT; }; + 28ACBF0B88C18B573D06F071 /* ftInitPositionShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftInitPositionShader.h; path = ../../../addons/ofxFlowTools/src/particles/ftInitPositionShader.h; sourceTree = SOURCE_ROOT; }; + 2BBCAAB5F0183A520E795182 /* ftAddForceShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftAddForceShader.h; path = ../../../addons/ofxFlowTools/src/tools/ftAddForceShader.h; sourceTree = SOURCE_ROOT; }; + 2C1243DDA5B8A101F939F79C /* version.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = version.h; path = src/libusb/version.h; sourceTree = SOURCE_ROOT; }; + 2D129AB0F7D46B8DFCEADEDB /* testApp.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = testApp.h; path = src/testApp.h; sourceTree = SOURCE_ROOT; }; + 2D7D041E38F86C524CE48081 /* ps3eye.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ps3eye.cpp; path = src/ps3eye.cpp; sourceTree = SOURCE_ROOT; }; + 30A7D289BFD058F2CF626BC0 /* ftDrawMouseForces.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ftDrawMouseForces.cpp; path = ../../../addons/ofxFlowTools/src/drawforces/ftDrawMouseForces.cpp; sourceTree = SOURCE_ROOT; }; + 370832EA91F18DBADF08ACFD /* ftJacobiShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftJacobiShader.h; path = ../../../addons/ofxFlowTools/src/fluid/ftJacobiShader.h; sourceTree = SOURCE_ROOT; }; + 4224F4CE8B12BB9B2BA4CE91 /* ps3eye_capi.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ps3eye_capi.cpp; path = src/ps3eye_capi.cpp; sourceTree = SOURCE_ROOT; }; + 42D777736471997687201F89 /* ftVorticitySecondPassShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftVorticitySecondPassShader.h; path = ../../../addons/ofxFlowTools/src/fluid/ftVorticitySecondPassShader.h; sourceTree = SOURCE_ROOT; }; + 43B813EE6486AF5708B4819F /* ftAdvectShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftAdvectShader.h; path = ../../../addons/ofxFlowTools/src/fluid/ftAdvectShader.h; sourceTree = SOURCE_ROOT; }; + 46B405043F51DC91A93FB390 /* ftPressureField.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftPressureField.h; path = ../../../addons/ofxFlowTools/src/visualisation/ftPressureField.h; sourceTree = SOURCE_ROOT; }; + 4CE5EFD9C3D870801C4A2CAD /* ftRedToLuminanceShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftRedToLuminanceShader.h; path = ../../../addons/ofxFlowTools/src/tools/ftRedToLuminanceShader.h; sourceTree = SOURCE_ROOT; }; + 4DA9F46F475B1AA6CDDC166C /* ftDensityFloatMultiplier.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftDensityFloatMultiplier.h; path = ../../../addons/ofxFlowTools/src/tools/ftDensityFloatMultiplier.h; sourceTree = SOURCE_ROOT; }; + 4E5273AB4C11B2F746600298 /* ftHSLShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftHSLShader.h; path = ../../../addons/ofxFlowTools/src/filters/ftHSLShader.h; sourceTree = SOURCE_ROOT; }; + 5250BCAC86C0139070F38127 /* ftAverageVelocity.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ftAverageVelocity.cpp; path = ../../../addons/ofxFlowTools/src/tools/ftAverageVelocity.cpp; sourceTree = SOURCE_ROOT; }; + 52AFA1F08C420992CAAAE648 /* ofxSlider.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxSlider.h; path = ../../../addons/ofxGui/src/ofxSlider.h; sourceTree = SOURCE_ROOT; }; + 5508BA8EE5492442AADB5621 /* ofxFlowTools.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxFlowTools.h; path = ../../../addons/ofxFlowTools/src/ofxFlowTools.h; sourceTree = SOURCE_ROOT; }; + 5BAA25ECC443288AC1701455 /* ftMoveParticleShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftMoveParticleShader.h; path = ../../../addons/ofxFlowTools/src/particles/ftMoveParticleShader.h; sourceTree = SOURCE_ROOT; }; + 6591B66F774811D0B071DDB7 /* ftVelocityMask.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ftVelocityMask.cpp; path = ../../../addons/ofxFlowTools/src/mask/ftVelocityMask.cpp; sourceTree = SOURCE_ROOT; }; + 66EA260B157526C716077F8A /* ftFluidSimulation.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ftFluidSimulation.cpp; path = ../../../addons/ofxFlowTools/src/fluid/ftFluidSimulation.cpp; sourceTree = SOURCE_ROOT; }; + 6A092AB6F7172A3547F3C6E4 /* ftDrawForce.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ftDrawForce.cpp; path = ../../../addons/ofxFlowTools/src/drawforces/ftDrawForce.cpp; sourceTree = SOURCE_ROOT; }; + 6FE8AA3CB95DE2C9DB88C57C /* ftSplitVelocityFieldShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftSplitVelocityFieldShader.h; path = ../../../addons/ofxFlowTools/src/visualisation/ftSplitVelocityFieldShader.h; sourceTree = SOURCE_ROOT; }; + 71D7178293405647AB85798E /* ftLuminanceShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftLuminanceShader.h; path = ../../../addons/ofxFlowTools/src/filters/ftLuminanceShader.h; sourceTree = SOURCE_ROOT; }; + 729C4BECC00653460D5F2938 /* ftClampLengthShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftClampLengthShader.h; path = ../../../addons/ofxFlowTools/src/tools/ftClampLengthShader.h; sourceTree = SOURCE_ROOT; }; + 78418FB83DBBD3883FB4AA8A /* ftDisplayScalarShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftDisplayScalarShader.h; path = ../../../addons/ofxFlowTools/src/visualisation/ftDisplayScalarShader.h; sourceTree = SOURCE_ROOT; }; + 78892BE71A2A8C4E89AFD9DA /* ftDisplayScalar.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftDisplayScalar.h; path = ../../../addons/ofxFlowTools/src/visualisation/ftDisplayScalar.h; sourceTree = SOURCE_ROOT; }; + 78D67A00EB899FAC09430597 /* ofxLabel.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxLabel.cpp; path = ../../../addons/ofxGui/src/ofxLabel.cpp; sourceTree = SOURCE_ROOT; }; + 7D255B4D67A5C2A9D8A45DBD /* ftVelocityMask.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftVelocityMask.h; path = ../../../addons/ofxFlowTools/src/mask/ftVelocityMask.h; sourceTree = SOURCE_ROOT; }; + 7DA7256623799FC90D026588 /* ftVorticityFirstPassShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftVorticityFirstPassShader.h; path = ../../../addons/ofxFlowTools/src/fluid/ftVorticityFirstPassShader.h; sourceTree = SOURCE_ROOT; }; + 802251BAF1B35B1D67B32FD0 /* ofxSliderGroup.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxSliderGroup.cpp; path = ../../../addons/ofxGui/src/ofxSliderGroup.cpp; sourceTree = SOURCE_ROOT; }; + 8414676C3194DCF70AF6A634 /* version_nano.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = version_nano.h; path = src/libusb/version_nano.h; sourceTree = SOURCE_ROOT; }; + 867E954A21766F59506D60AA /* ftDiffuseShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftDiffuseShader.h; path = ../../../addons/ofxFlowTools/src/fluid/ftDiffuseShader.h; sourceTree = SOURCE_ROOT; }; + 87F26B4B24CBD428AD9EEBAA /* ofxBaseGui.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxBaseGui.h; path = ../../../addons/ofxGui/src/ofxBaseGui.h; sourceTree = SOURCE_ROOT; }; + 89449E3044D456F7DE7BEA14 /* ofxPanel.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxPanel.h; path = ../../../addons/ofxGui/src/ofxPanel.h; sourceTree = SOURCE_ROOT; }; + 89CD145C6AF7E6DAA4B0A36A /* poll_windows.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = poll_windows.h; path = src/libusb/os/poll_windows.h; sourceTree = SOURCE_ROOT; }; + 8F9605EE4B1FACD7088BCA07 /* ftDecayShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftDecayShader.h; path = ../../../addons/ofxFlowTools/src/filters/ftDecayShader.h; sourceTree = SOURCE_ROOT; }; + 8FDFCC972FD8649F027E03F1 /* ftVTFieldShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftVTFieldShader.h; path = ../../../addons/ofxFlowTools/src/visualisation/ftVTFieldShader.h; sourceTree = SOURCE_ROOT; }; + 907C5B5E104864A2D3A25745 /* ofxToggle.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxToggle.cpp; path = ../../../addons/ofxGui/src/ofxToggle.cpp; sourceTree = SOURCE_ROOT; }; + 91E4DFA41B914CDAD9DC657F /* ftParticleFlow.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftParticleFlow.h; path = ../../../addons/ofxFlowTools/src/particles/ftParticleFlow.h; sourceTree = SOURCE_ROOT; }; + 955707CBA6B73CF01FA026E4 /* ftToScalarShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftToScalarShader.h; path = ../../../addons/ofxFlowTools/src/tools/ftToScalarShader.h; sourceTree = SOURCE_ROOT; }; + 9604B925D32EE39065747725 /* ofxBaseGui.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxBaseGui.cpp; path = ../../../addons/ofxGui/src/ofxBaseGui.cpp; sourceTree = SOURCE_ROOT; }; + 9841085E4D7BB0F7F6DCFF25 /* wince_usb.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = wince_usb.h; path = src/libusb/os/wince_usb.h; sourceTree = SOURCE_ROOT; }; + 9A63368AD47D0626211CA40D /* linux_usbfs.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = linux_usbfs.h; path = src/libusb/os/linux_usbfs.h; sourceTree = SOURCE_ROOT; }; + 9CF10D042A526051F4A18AEE /* ftSwapFbo.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftSwapFbo.h; path = ../../../addons/ofxFlowTools/src/ftSwapFbo.h; sourceTree = SOURCE_ROOT; }; + A043225CC1BDA4338CEB8100 /* libusbi.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = libusbi.h; path = src/libusb/libusbi.h; sourceTree = SOURCE_ROOT; }; + A0D72BA6AD4705A413189CDE /* ftAverageVelocity.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftAverageVelocity.h; path = ../../../addons/ofxFlowTools/src/tools/ftAverageVelocity.h; sourceTree = SOURCE_ROOT; }; + A98A79BA680075F120686FF9 /* ftDrawForceShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftDrawForceShader.h; path = ../../../addons/ofxFlowTools/src/drawforces/ftDrawForceShader.h; sourceTree = SOURCE_ROOT; }; + AA54366E004172FC70DE4C6A /* windows_common.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = windows_common.h; path = src/libusb/os/windows_common.h; sourceTree = SOURCE_ROOT; }; + AD4BAB412F2EAE29DEEF7D5E /* ftOpticalFlow.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ftOpticalFlow.cpp; path = ../../../addons/ofxFlowTools/src/opticalflow/ftOpticalFlow.cpp; sourceTree = SOURCE_ROOT; }; + AD963F29ED47D3E0992632AC /* ftDrawMouseForces.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftDrawMouseForces.h; path = ../../../addons/ofxFlowTools/src/drawforces/ftDrawMouseForces.h; sourceTree = SOURCE_ROOT; }; + AE009473D423052A79BC2BF1 /* libusb.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = libusb.h; path = src/libusb/libusb.h; sourceTree = SOURCE_ROOT; }; + B2E3173A4D18A2093E23E15B /* ftSmokeBuoyancyShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftSmokeBuoyancyShader.h; path = ../../../addons/ofxFlowTools/src/fluid/ftSmokeBuoyancyShader.h; sourceTree = SOURCE_ROOT; }; + B3BEDE60A8F42C523D685523 /* ftToScalar.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftToScalar.h; path = ../../../addons/ofxFlowTools/src/tools/ftToScalar.h; sourceTree = SOURCE_ROOT; }; + B42CD7B8F98140BEC49B9DC4 /* ftVelocityFieldShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftVelocityFieldShader.h; path = ../../../addons/ofxFlowTools/src/visualisation/ftVelocityFieldShader.h; sourceTree = SOURCE_ROOT; }; + B51E9F1DB42CBC60E6BE7C5C /* ftShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftShader.h; path = ../../../addons/ofxFlowTools/src/ftShader.h; sourceTree = SOURCE_ROOT; }; + B654064D177DF314DD55C59C /* ps3eye_capi.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ps3eye_capi.h; path = src/ps3eye_capi.h; sourceTree = SOURCE_ROOT; }; + B87C60311EC1FE841C1ECD89 /* ofxLabel.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxLabel.h; path = ../../../addons/ofxGui/src/ofxLabel.h; sourceTree = SOURCE_ROOT; }; + B88CE3FFB1AF13DBFA4132F0 /* ftContrastShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftContrastShader.h; path = ../../../addons/ofxFlowTools/src/filters/ftContrastShader.h; sourceTree = SOURCE_ROOT; }; + BA1F2BDF2C8E6E027DD1CDF2 /* threads_posix.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = threads_posix.h; path = src/libusb/os/threads_posix.h; sourceTree = SOURCE_ROOT; }; + C3036967D3EA0A46094A4F6C /* ftSubstractGradientShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftSubstractGradientShader.h; path = ../../../addons/ofxFlowTools/src/fluid/ftSubstractGradientShader.h; sourceTree = SOURCE_ROOT; }; + C3ACE7270C15F3C172093377 /* ftVelocityMaskShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftVelocityMaskShader.h; path = ../../../addons/ofxFlowTools/src/mask/ftVelocityMaskShader.h; sourceTree = SOURCE_ROOT; }; + C70D8946940288799E82131E /* ofxSliderGroup.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxSliderGroup.h; path = ../../../addons/ofxGui/src/ofxSliderGroup.h; sourceTree = SOURCE_ROOT; }; + C84C3084C68BB70ED968CF73 /* poll_posix.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = poll_posix.h; path = src/libusb/os/poll_posix.h; sourceTree = SOURCE_ROOT; }; + C88333E71C9457E441C33474 /* ofxButton.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxButton.cpp; path = ../../../addons/ofxGui/src/ofxButton.cpp; sourceTree = SOURCE_ROOT; }; + D20F3D291C31DF2956A11119 /* ftVelocitySpheres.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftVelocitySpheres.h; path = ../../../addons/ofxFlowTools/src/visualisation/ftVelocitySpheres.h; sourceTree = SOURCE_ROOT; }; + D2D494489A72543FFEA458E2 /* ps3eye.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ps3eye.h; path = src/ps3eye.h; sourceTree = SOURCE_ROOT; }; + D37333C848ACE866A956CCC0 /* threads_windows.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = threads_windows.h; path = src/libusb/os/threads_windows.h; sourceTree = SOURCE_ROOT; }; + D8A43830EAC501BA93DBE6A6 /* ftSplitVelocityShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftSplitVelocityShader.h; path = ../../../addons/ofxFlowTools/src/tools/ftSplitVelocityShader.h; sourceTree = SOURCE_ROOT; }; + DD396B4A383C831B4C13ADF6 /* ftSplitVelocityField.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftSplitVelocityField.h; path = ../../../addons/ofxFlowTools/src/visualisation/ftSplitVelocityField.h; sourceTree = SOURCE_ROOT; }; + DE15D2284E9C17B5D24D5886 /* windows_usb.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = windows_usb.h; path = src/libusb/os/windows_usb.h; sourceTree = SOURCE_ROOT; }; + DED8C6880DF40E41286EB145 /* ftDensityVec2Multiplier.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftDensityVec2Multiplier.h; path = ../../../addons/ofxFlowTools/src/tools/ftDensityVec2Multiplier.h; sourceTree = SOURCE_ROOT; }; + E112B3AEBEA2C091BF2B40AE /* ofxPanel.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxPanel.cpp; path = ../../../addons/ofxGui/src/ofxPanel.cpp; sourceTree = SOURCE_ROOT; }; + E15025CCDB7261BAB1093B8F /* ftVTField.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftVTField.h; path = ../../../addons/ofxFlowTools/src/visualisation/ftVTField.h; sourceTree = SOURCE_ROOT; }; + E3D43EDDBF7078A5B1BB987A /* ftDrawForce.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftDrawForce.h; path = ../../../addons/ofxFlowTools/src/drawforces/ftDrawForce.h; sourceTree = SOURCE_ROOT; }; + E3D886AF0718D649FD059D29 /* ftTimeBlurShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftTimeBlurShader.h; path = ../../../addons/ofxFlowTools/src/filters/ftTimeBlurShader.h; sourceTree = SOURCE_ROOT; }; + E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openFrameworksLib.xcodeproj; path = ../../../libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj; sourceTree = SOURCE_ROOT; }; + E4B69B5B0A3A1756003C02F2 /* visionquestDebug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = visionquestDebug.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 /* ofApp.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofApp.cpp; path = src/ofApp.cpp; sourceTree = SOURCE_ROOT; }; + E4B69E1F0A3A1BDC003C02F2 /* ofApp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ofApp.h; path = src/ofApp.h; sourceTree = SOURCE_ROOT; }; + E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = "openFrameworks-Info.plist"; sourceTree = ""; }; + E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CoreOF.xcconfig; path = ../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig; sourceTree = SOURCE_ROOT; }; + E4EB6923138AFD0F00A09F29 /* Project.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Project.xcconfig; sourceTree = ""; }; + E50C7A54C55A97AD0BE994BD /* ftEOGShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftEOGShader.h; path = ../../../addons/ofxFlowTools/src/filters/ftEOGShader.h; sourceTree = SOURCE_ROOT; }; + E689C8FF125A3591EA6D2F74 /* ftTemperatureFieldShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftTemperatureFieldShader.h; path = ../../../addons/ofxFlowTools/src/visualisation/ftTemperatureFieldShader.h; sourceTree = SOURCE_ROOT; }; + E72B777EB52EE65388354685 /* ftFluidSimulation.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftFluidSimulation.h; path = ../../../addons/ofxFlowTools/src/fluid/ftFluidSimulation.h; sourceTree = SOURCE_ROOT; }; + EC4179AA42E82A975E5EDC50 /* ftParticleFlow.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ftParticleFlow.cpp; path = ../../../addons/ofxFlowTools/src/particles/ftParticleFlow.cpp; sourceTree = SOURCE_ROOT; }; + EC7010EF6B37BFA1C8980BD5 /* ftPressureFieldShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftPressureFieldShader.h; path = ../../../addons/ofxFlowTools/src/visualisation/ftPressureFieldShader.h; sourceTree = SOURCE_ROOT; }; + ECF8674C7975F1063C5E30CA /* ofxGuiGroup.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxGuiGroup.cpp; path = ../../../addons/ofxGui/src/ofxGuiGroup.cpp; sourceTree = SOURCE_ROOT; }; + F430932D8FF3D3EFBF775672 /* ftAgeLifespanMassSizeParticleShader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftAgeLifespanMassSizeParticleShader.h; path = ../../../addons/ofxFlowTools/src/particles/ftAgeLifespanMassSizeParticleShader.h; sourceTree = SOURCE_ROOT; }; + FBE502D279817680D2C770AA /* ftSwapBuffer.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ftSwapBuffer.h; path = ../../../addons/ofxFlowTools/src/ftSwapBuffer.h; sourceTree = SOURCE_ROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + E4B69B590A3A1756003C02F2 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */, + 088F26C81CAC78E90028DD20 /* libusb-1.0.dylib in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 06229F9D060DC0680D315E4D /* src */ = { + isa = PBXGroup; + children = ( + D2ECBAF5C76F2A8E38DCECB5 /* drawforces */, + 6A5F6297ACB44A1F73F27B75 /* filters */, + 37042A211B67E7AAE7F66BED /* fluid */, + 18BDF8D6A9DDAA063D9BB02C /* ftFbo.h */, + B51E9F1DB42CBC60E6BE7C5C /* ftShader.h */, + FBE502D279817680D2C770AA /* ftSwapBuffer.h */, + 9CF10D042A526051F4A18AEE /* ftSwapFbo.h */, + C9D1A917FDDA4767EE0F003A /* mask */, + 5508BA8EE5492442AADB5621 /* ofxFlowTools.h */, + 409F4945999998D29A65827E /* opticalflow */, + FFEF4C14324021333F122BE8 /* particles */, + 6E097110330F60F3FF60028D /* tools */, + 3921884BF51EF7661ED64724 /* visualisation */, + ); + name = src; + sourceTree = ""; + }; + 191D5B5C65CA5D1BE82F2030 /* ofxFlowTools */ = { + isa = PBXGroup; + children = ( + 06229F9D060DC0680D315E4D /* src */, + ); + name = ofxFlowTools; + sourceTree = ""; + }; + 37042A211B67E7AAE7F66BED /* fluid */ = { + isa = PBXGroup; + children = ( + 43B813EE6486AF5708B4819F /* ftAdvectShader.h */, + 867E954A21766F59506D60AA /* ftDiffuseShader.h */, + 25DEB436D7353F73022E3E0D /* ftDivergenceShader.h */, + 66EA260B157526C716077F8A /* ftFluidSimulation.cpp */, + E72B777EB52EE65388354685 /* ftFluidSimulation.h */, + 370832EA91F18DBADF08ACFD /* ftJacobiShader.h */, + B2E3173A4D18A2093E23E15B /* ftSmokeBuoyancyShader.h */, + C3036967D3EA0A46094A4F6C /* ftSubstractGradientShader.h */, + 7DA7256623799FC90D026588 /* ftVorticityFirstPassShader.h */, + 42D777736471997687201F89 /* ftVorticitySecondPassShader.h */, + ); + name = fluid; + sourceTree = ""; + }; + 3921884BF51EF7661ED64724 /* visualisation */ = { + isa = PBXGroup; + children = ( + 78892BE71A2A8C4E89AFD9DA /* ftDisplayScalar.h */, + 78418FB83DBBD3883FB4AA8A /* ftDisplayScalarShader.h */, + 46B405043F51DC91A93FB390 /* ftPressureField.h */, + EC7010EF6B37BFA1C8980BD5 /* ftPressureFieldShader.h */, + DD396B4A383C831B4C13ADF6 /* ftSplitVelocityField.h */, + 6FE8AA3CB95DE2C9DB88C57C /* ftSplitVelocityFieldShader.h */, + 07818DEA3E42B969F242F634 /* ftTemperatureField.h */, + E689C8FF125A3591EA6D2F74 /* ftTemperatureFieldShader.h */, + 0D418D07961710BA2605389F /* ftVelocityField.h */, + B42CD7B8F98140BEC49B9DC4 /* ftVelocityFieldShader.h */, + D20F3D291C31DF2956A11119 /* ftVelocitySpheres.h */, + 141AF1017959EBF9939C1BD1 /* ftVelocitySpheresShader.h */, + E15025CCDB7261BAB1093B8F /* ftVTField.h */, + 8FDFCC972FD8649F027E03F1 /* ftVTFieldShader.h */, + ); + name = visualisation; + sourceTree = ""; + }; + 409F4945999998D29A65827E /* opticalflow */ = { + isa = PBXGroup; + children = ( + AD4BAB412F2EAE29DEEF7D5E /* ftOpticalFlow.cpp */, + 1E9471F754EB7EE1B0CC0D1F /* ftOpticalFlow.h */, + 04CE6A84FA111F88EB08CDAA /* ftOpticalFlowShader.h */, + ); + name = opticalflow; + sourceTree = ""; + }; + 480A780D8D0308AE4A368801 /* ofxGui */ = { + isa = PBXGroup; + children = ( + A763ED608B35AE3310251DEE /* src */, + ); + name = ofxGui; + sourceTree = ""; + }; + 6948EE371B920CB800B5AC1A /* local_addons */ = { + isa = PBXGroup; + children = ( + ); + name = local_addons; + sourceTree = ""; + }; + 6A5F6297ACB44A1F73F27B75 /* filters */ = { + isa = PBXGroup; + children = ( + B88CE3FFB1AF13DBFA4132F0 /* ftContrastShader.h */, + 8F9605EE4B1FACD7088BCA07 /* ftDecayShader.h */, + E50C7A54C55A97AD0BE994BD /* ftEOGShader.h */, + 253346E9CF7A7617C548092F /* ftGaussianBlurShader.h */, + 4E5273AB4C11B2F746600298 /* ftHSLShader.h */, + 71D7178293405647AB85798E /* ftLuminanceShader.h */, + E3D886AF0718D649FD059D29 /* ftTimeBlurShader.h */, + ); + name = filters; + sourceTree = ""; + }; + 6BED2FD1BA7DB7E813799AC7 /* os */ = { + isa = PBXGroup; + children = ( + 0DF78CA076187E107246129C /* darwin_usb.h */, + 9A63368AD47D0626211CA40D /* linux_usbfs.h */, + C84C3084C68BB70ED968CF73 /* poll_posix.h */, + 89CD145C6AF7E6DAA4B0A36A /* poll_windows.h */, + BA1F2BDF2C8E6E027DD1CDF2 /* threads_posix.h */, + D37333C848ACE866A956CCC0 /* threads_windows.h */, + 9841085E4D7BB0F7F6DCFF25 /* wince_usb.h */, + AA54366E004172FC70DE4C6A /* windows_common.h */, + DE15D2284E9C17B5D24D5886 /* windows_usb.h */, + ); + name = os; + sourceTree = ""; + }; + 6E097110330F60F3FF60028D /* tools */ = { + isa = PBXGroup; + children = ( + 2BBCAAB5F0183A520E795182 /* ftAddForceShader.h */, + 5250BCAC86C0139070F38127 /* ftAverageVelocity.cpp */, + A0D72BA6AD4705A413189CDE /* ftAverageVelocity.h */, + 729C4BECC00653460D5F2938 /* ftClampLengthShader.h */, + 4DA9F46F475B1AA6CDDC166C /* ftDensityFloatMultiplier.h */, + DED8C6880DF40E41286EB145 /* ftDensityVec2Multiplier.h */, + 4CE5EFD9C3D870801C4A2CAD /* ftRedToLuminanceShader.h */, + D8A43830EAC501BA93DBE6A6 /* ftSplitVelocityShader.h */, + B3BEDE60A8F42C523D685523 /* ftToScalar.h */, + 955707CBA6B73CF01FA026E4 /* ftToScalarShader.h */, + ); + name = tools; + sourceTree = ""; + }; + A763ED608B35AE3310251DEE /* src */ = { + isa = PBXGroup; + children = ( + 9604B925D32EE39065747725 /* ofxBaseGui.cpp */, + 87F26B4B24CBD428AD9EEBAA /* ofxBaseGui.h */, + C88333E71C9457E441C33474 /* ofxButton.cpp */, + 2834D88A62CD23F3DE2C47D1 /* ofxButton.h */, + 17E65988300FBD9AAA2CD0CA /* ofxGui.h */, + ECF8674C7975F1063C5E30CA /* ofxGuiGroup.cpp */, + 1C0DA2561397A7DE0246858B /* ofxGuiGroup.h */, + 78D67A00EB899FAC09430597 /* ofxLabel.cpp */, + B87C60311EC1FE841C1ECD89 /* ofxLabel.h */, + E112B3AEBEA2C091BF2B40AE /* ofxPanel.cpp */, + 89449E3044D456F7DE7BEA14 /* ofxPanel.h */, + 15F2C6477A769C03A56D1401 /* ofxSlider.cpp */, + 52AFA1F08C420992CAAAE648 /* ofxSlider.h */, + 802251BAF1B35B1D67B32FD0 /* ofxSliderGroup.cpp */, + C70D8946940288799E82131E /* ofxSliderGroup.h */, + 907C5B5E104864A2D3A25745 /* ofxToggle.cpp */, + 0A1DAC09F322AE313A40706D /* ofxToggle.h */, + ); + name = src; + sourceTree = ""; + }; + BB4B014C10F69532006C3DED /* addons */ = { + isa = PBXGroup; + children = ( + 191D5B5C65CA5D1BE82F2030 /* ofxFlowTools */, + 480A780D8D0308AE4A368801 /* ofxGui */, + ); + name = addons; + sourceTree = ""; + }; + C9D1A917FDDA4767EE0F003A /* mask */ = { + isa = PBXGroup; + children = ( + 6591B66F774811D0B071DDB7 /* ftVelocityMask.cpp */, + 7D255B4D67A5C2A9D8A45DBD /* ftVelocityMask.h */, + C3ACE7270C15F3C172093377 /* ftVelocityMaskShader.h */, + ); + name = mask; + sourceTree = ""; + }; + D2ECBAF5C76F2A8E38DCECB5 /* drawforces */ = { + isa = PBXGroup; + children = ( + 6A092AB6F7172A3547F3C6E4 /* ftDrawForce.cpp */, + E3D43EDDBF7078A5B1BB987A /* ftDrawForce.h */, + A98A79BA680075F120686FF9 /* ftDrawForceShader.h */, + 30A7D289BFD058F2CF626BC0 /* ftDrawMouseForces.cpp */, + AD963F29ED47D3E0992632AC /* ftDrawMouseForces.h */, + ); + name = drawforces; + sourceTree = ""; + }; + E4328144138ABC890047C5CB /* Products */ = { + isa = PBXGroup; + children = ( + E4328148138ABC890047C5CB /* openFrameworksDebug.a */, + ); + name = Products; + sourceTree = ""; + }; + E4B69B4A0A3A1720003C02F2 = { + isa = PBXGroup; + children = ( + E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */, + E4EB6923138AFD0F00A09F29 /* Project.xcconfig */, + E4B69E1C0A3A1BDC003C02F2 /* src */, + E4EEC9E9138DF44700A80321 /* openFrameworks */, + BB4B014C10F69532006C3DED /* addons */, + 6948EE371B920CB800B5AC1A /* local_addons */, + E4B69B5B0A3A1756003C02F2 /* visionquestDebug.app */, + ); + sourceTree = ""; + }; + E4B69E1C0A3A1BDC003C02F2 /* src */ = { + isa = PBXGroup; + children = ( + 088F26C71CAC78E90028DD20 /* libusb-1.0.dylib */, + E4B69E1D0A3A1BDC003C02F2 /* main.cpp */, + E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */, + E4B69E1F0A3A1BDC003C02F2 /* ofApp.h */, + F28A5C85393111D785ACA8FF /* libusb */, + 2D7D041E38F86C524CE48081 /* ps3eye.cpp */, + D2D494489A72543FFEA458E2 /* ps3eye.h */, + 4224F4CE8B12BB9B2BA4CE91 /* ps3eye_capi.cpp */, + B654064D177DF314DD55C59C /* ps3eye_capi.h */, + 00A1BFCBB38848AD0E0C8539 /* testApp.cpp */, + 2D129AB0F7D46B8DFCEADEDB /* testApp.h */, + ); + path = src; + sourceTree = SOURCE_ROOT; + }; + E4EEC9E9138DF44700A80321 /* openFrameworks */ = { + isa = PBXGroup; + children = ( + E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */, + E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */, + ); + name = openFrameworks; + sourceTree = ""; + }; + F28A5C85393111D785ACA8FF /* libusb */ = { + isa = PBXGroup; + children = ( + 00449FC76510999AD951333B /* hotplug.h */, + AE009473D423052A79BC2BF1 /* libusb.h */, + A043225CC1BDA4338CEB8100 /* libusbi.h */, + 6BED2FD1BA7DB7E813799AC7 /* os */, + 2C1243DDA5B8A101F939F79C /* version.h */, + 8414676C3194DCF70AF6A634 /* version_nano.h */, + ); + name = libusb; + sourceTree = ""; + }; + FFEF4C14324021333F122BE8 /* particles */ = { + isa = PBXGroup; + children = ( + F430932D8FF3D3EFBF775672 /* ftAgeLifespanMassSizeParticleShader.h */, + 22757F50E29B6C4E2020B4BE /* ftDrawParticleShader.h */, + 28ACBF0B88C18B573D06F071 /* ftInitPositionShader.h */, + 5BAA25ECC443288AC1701455 /* ftMoveParticleShader.h */, + EC4179AA42E82A975E5EDC50 /* ftParticleFlow.cpp */, + 91E4DFA41B914CDAD9DC657F /* ftParticleFlow.h */, + ); + name = particles; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + E4B69B5A0A3A1756003C02F2 /* visionquest */ = { + isa = PBXNativeTarget; + buildConfigurationList = E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "visionquest" */; + buildPhases = ( + E4B69B580A3A1756003C02F2 /* Sources */, + E4B69B590A3A1756003C02F2 /* Frameworks */, + E4B6FFFD0C3F9AB9008CF71C /* ShellScript */, + E4C2427710CC5ABF004149E2 /* CopyFiles */, + 8466F1851C04CA0E00918B1C /* ShellScript */, + ); + buildRules = ( + ); + dependencies = ( + E4EEB9AC138B136A00A80321 /* PBXTargetDependency */, + ); + name = visionquest; + productName = myOFApp; + productReference = E4B69B5B0A3A1756003C02F2 /* visionquestDebug.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + E4B69B4C0A3A1720003C02F2 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0600; + }; + buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "visionquest" */; + compatibilityVersion = "Xcode 3.2"; + 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 /* visionquest */, + ); + }; +/* 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 */ + 8466F1851C04CA0E00918B1C /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 12; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "# ---- Code Sign App Package ----\n \n# WARNING: You may have to run Clean in Xcode after changing CODE_SIGN_IDENTITY!\n\n# Verify that $CODE_SIGN_IDENTITY is set\nif [ -z \"${CODE_SIGN_IDENTITY}\" ] ; then\necho \"CODE_SIGN_IDENTITY needs to be set for framework code-signing\"\nexit 0\nfi\n\nif [ -z \"${CODE_SIGN_ENTITLEMENTS}\" ] ; then\necho \"CODE_SIGN_ENTITLEMENTS needs to be set for framework code-signing!\"\n\nif [ \"${CONFIGURATION}\" = \"Release\" ] ; then\nexit 1\nelse\n# Code-signing is optional for non-release builds.\nexit 0\nfi\nfi\n\nITEMS=\"\"\n\nFRAMEWORKS_DIR=\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\"\necho \"$FRAMEWORKS_DIR\"\nif [ -d \"$FRAMEWORKS_DIR\" ] ; then\nFRAMEWORKS=$(find \"${FRAMEWORKS_DIR}\" -depth -type d -name \"*.framework\" -or -name \"*.dylib\" -or -name \"*.bundle\" | sed -e \"s/\\(.*framework\\)/\\1\\/Versions\\/A\\//\")\nRESULT=$?\nif [[ $RESULT != 0 ]] ; then\nexit 1\nfi\n\nITEMS=\"${FRAMEWORKS}\"\nfi\n\nLOGINITEMS_DIR=\"${TARGET_BUILD_DIR}/${CONTENTS_FOLDER_PATH}/Library/LoginItems/\"\nif [ -d \"$LOGINITEMS_DIR\" ] ; then\nLOGINITEMS=$(find \"${LOGINITEMS_DIR}\" -depth -type d -name \"*.app\")\nRESULT=$?\nif [[ $RESULT != 0 ]] ; then\nexit 1\nfi\n\nITEMS=\"${ITEMS}\"$'\\n'\"${LOGINITEMS}\"\nfi\n\n# Prefer the expanded name, if available.\nCODE_SIGN_IDENTITY_FOR_ITEMS=\"${EXPANDED_CODE_SIGN_IDENTITY_NAME}\"\nif [ \"${CODE_SIGN_IDENTITY_FOR_ITEMS}\" = \"\" ] ; then\n# Fall back to old behavior.\nCODE_SIGN_IDENTITY_FOR_ITEMS=\"${CODE_SIGN_IDENTITY}\"\nfi\n\necho \"Identity:\"\necho \"${CODE_SIGN_IDENTITY_FOR_ITEMS}\"\n\necho \"Entitlements:\"\necho \"${CODE_SIGN_ENTITLEMENTS}\"\n\necho \"Found:\"\necho \"${ITEMS}\"\n\n# Change the Internal Field Separator (IFS) so that spaces in paths will not cause problems below.\nSAVED_IFS=$IFS\nIFS=$(echo -en \"\\n\\b\")\n\n# Loop through all items.\nfor ITEM in $ITEMS;\ndo\necho \"Signing '${ITEM}'\"\ncodesign --force --verbose --sign \"${CODE_SIGN_IDENTITY_FOR_ITEMS}\" --entitlements \"${CODE_SIGN_ENTITLEMENTS}\" \"${ITEM}\"\nRESULT=$?\nif [[ $RESULT != 0 ]] ; then\necho \"Failed to sign '${ITEM}'.\"\nIFS=$SAVED_IFS\nexit 1\nfi\ndone\n\n# Restore $IFS.\nIFS=$SAVED_IFS\n"; + }; + E4B6FFFD0C3F9AB9008CF71C /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "mkdir -p \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/\"\n# Copy default icon file into App/Resources\nrsync -aved \"$ICON_FILE\" \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/\"\n# Copy bin/data into App/Resources\nrsync -avz --exclude='.DS_Store' \"${SRCROOT}/bin/data/\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/data/\"\n# Copy libfmod and change install directory for fmod to run\nrsync -aved ../../../libs/fmodex/lib/osx/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Frameworks/\";\ninstall_name_tool -change @executable_path/libfmodex.dylib @executable_path/../Frameworks/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME\";\n# Copy GLUT framework (must remove for AppStore submissions)\nrsync -aved ../../../libs/glut/lib/osx/GLUT.framework \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Frameworks/\"\n"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + E4B69B580A3A1756003C02F2 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */, + E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */, + A52A5125D43D38A191D9F0B9 /* ps3eye.cpp in Sources */, + 1E51E73394C784DC0AD640E6 /* ps3eye_capi.cpp in Sources */, + 29D734F0DDECC8C5978185D7 /* testApp.cpp in Sources */, + 4166D6A6757F613CED499577 /* ftDrawForce.cpp in Sources */, + F75A96FFB5CA3A70D0903987 /* ftDrawMouseForces.cpp in Sources */, + AFBC335CC80DC27DCC9E70D7 /* ftFluidSimulation.cpp in Sources */, + D1C26E826A2EA39A4D25FF84 /* ftVelocityMask.cpp in Sources */, + 54FAC54E7E1116A49955101E /* ftOpticalFlow.cpp in Sources */, + 77FBBEE103C3E71E8C9510E0 /* ftParticleFlow.cpp in Sources */, + 8EA04B616D228D22AEC6C9C8 /* ftAverageVelocity.cpp in Sources */, + 856AA354D08AB4B323081444 /* ofxBaseGui.cpp in Sources */, + 5CBB2AB3A60F65431D7B555D /* ofxButton.cpp in Sources */, + B266578FC55D23BFEBC042E7 /* ofxGuiGroup.cpp in Sources */, + 483908258D00B98B4BE69F07 /* ofxLabel.cpp in Sources */, + F285EB3169F1566CA3D93C20 /* ofxPanel.cpp in Sources */, + 837220E80EB56CD44AD27F2A /* ofxSlider.cpp in Sources */, + B56FE57CC35806596D38118C /* ofxSliderGroup.cpp in Sources */, + 1CD33E884D9E3358252E82A1 /* ofxToggle.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 = { + 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, + src/libusb, + src/libusb/os, + ../../../addons/ofxFlowTools/src, + ../../../addons/ofxFlowTools/src/drawforces, + ../../../addons/ofxFlowTools/src/filters, + ../../../addons/ofxFlowTools/src/fluid, + ../../../addons/ofxFlowTools/src/mask, + ../../../addons/ofxFlowTools/src/opticalflow, + ../../../addons/ofxFlowTools/src/particles, + ../../../addons/ofxFlowTools/src/tools, + ../../../addons/ofxFlowTools/src/visualisation, + ../../../addons/ofxGui/src, + ); + MACOSX_DEPLOYMENT_TARGET = 10.8; + ONLY_ACTIVE_ARCH = YES; + OTHER_CPLUSPLUSFLAGS = ( + "-D__MACOSX_CORE__", + "-mtune=native", + ); + SDKROOT = macosx; + }; + name = Debug; + }; + E4B69B4F0A3A1720003C02F2 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; + buildSettings = { + 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, + src/libusb, + src/libusb/os, + ../../../addons/ofxFlowTools/src, + ../../../addons/ofxFlowTools/src/drawforces, + ../../../addons/ofxFlowTools/src/filters, + ../../../addons/ofxFlowTools/src/fluid, + ../../../addons/ofxFlowTools/src/mask, + ../../../addons/ofxFlowTools/src/opticalflow, + ../../../addons/ofxFlowTools/src/particles, + ../../../addons/ofxFlowTools/src/tools, + ../../../addons/ofxFlowTools/src/visualisation, + ../../../addons/ofxGui/src, + ); + MACOSX_DEPLOYMENT_TARGET = 10.8; + OTHER_CPLUSPLUSFLAGS = ( + "-D__MACOSX_CORE__", + "-mtune=native", + ); + SDKROOT = macosx; + }; + name = Release; + }; + E4B69B600A3A1757003C02F2 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + ); + FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_MODEL_TUNING = NONE; + HEADER_SEARCH_PATHS = ( + "$(OF_CORE_HEADERS)", + src, + src/libusb, + src/libusb/os, + ../../../addons/ofxFlowTools/src, + ../../../addons/ofxFlowTools/src/drawforces, + ../../../addons/ofxFlowTools/src/filters, + ../../../addons/ofxFlowTools/src/fluid, + ../../../addons/ofxFlowTools/src/mask, + ../../../addons/ofxFlowTools/src/opticalflow, + ../../../addons/ofxFlowTools/src/particles, + ../../../addons/ofxFlowTools/src/tools, + ../../../addons/ofxFlowTools/src/visualisation, + ../../../addons/ofxGui/src, + ); + ICON = "$(ICON_NAME_DEBUG)"; + ICON_FILE = "$(ICON_FILE_PATH)$(ICON)"; + INFOPLIST_FILE = "openFrameworks-Info.plist"; + INSTALL_PATH = /Applications; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + ./bin/data/libusb, + ); + PRODUCT_NAME = "$(TARGET_NAME)Debug"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + E4B69B610A3A1757003C02F2 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + ); + FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_MODEL_TUNING = NONE; + HEADER_SEARCH_PATHS = ( + "$(OF_CORE_HEADERS)", + src, + src/libusb, + src/libusb/os, + ../../../addons/ofxFlowTools/src, + ../../../addons/ofxFlowTools/src/drawforces, + ../../../addons/ofxFlowTools/src/filters, + ../../../addons/ofxFlowTools/src/fluid, + ../../../addons/ofxFlowTools/src/mask, + ../../../addons/ofxFlowTools/src/opticalflow, + ../../../addons/ofxFlowTools/src/particles, + ../../../addons/ofxFlowTools/src/tools, + ../../../addons/ofxFlowTools/src/visualisation, + ../../../addons/ofxGui/src, + ); + ICON = "$(ICON_NAME_RELEASE)"; + ICON_FILE = "$(ICON_FILE_PATH)$(ICON)"; + INFOPLIST_FILE = "openFrameworks-Info.plist"; + INSTALL_PATH = /Applications; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + ./bin/data/libusb, + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + baseConfigurationReference = E4EB6923138AFD0F00A09F29; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "visionquest" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + E4B69B4E0A3A1720003C02F2 /* Debug */, + E4B69B4F0A3A1720003C02F2 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "visionquest" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + E4B69B600A3A1757003C02F2 /* Debug */, + E4B69B610A3A1757003C02F2 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = E4B69B4C0A3A1720003C02F2 /* Project object */; +} diff --git a/visionquest.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/visionquest.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/visionquest.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/visionquest.xcodeproj/project.xcworkspace/xcshareddata/visionquest.xcscmblueprint b/visionquest.xcodeproj/project.xcworkspace/xcshareddata/visionquest.xcscmblueprint new file mode 100644 index 0000000..910316c --- /dev/null +++ b/visionquest.xcodeproj/project.xcworkspace/xcshareddata/visionquest.xcscmblueprint @@ -0,0 +1,30 @@ +{ + "DVTSourceControlWorkspaceBlueprintPrimaryRemoteRepositoryKey" : "640A848B4A5FDACE22970ED38CD5421AE9100774", + "DVTSourceControlWorkspaceBlueprintWorkingCopyRepositoryLocationsKey" : { + + }, + "DVTSourceControlWorkspaceBlueprintWorkingCopyStatesKey" : { + "640A848B4A5FDACE22970ED38CD5421AE9100774" : 0, + "2A03CE0CF301C466938025B767254CAAC3CB8DB0" : 0 + }, + "DVTSourceControlWorkspaceBlueprintIdentifierKey" : "5E212E9C-EEF0-4E6A-819D-32DD1D002BD8", + "DVTSourceControlWorkspaceBlueprintWorkingCopyPathsKey" : { + "640A848B4A5FDACE22970ED38CD5421AE9100774" : "visionquest\/", + "2A03CE0CF301C466938025B767254CAAC3CB8DB0" : "..\/..\/addons\/ofxFlowTools" + }, + "DVTSourceControlWorkspaceBlueprintNameKey" : "visionquest", + "DVTSourceControlWorkspaceBlueprintVersion" : 204, + "DVTSourceControlWorkspaceBlueprintRelativePathToProjectKey" : "visionquest.xcodeproj", + "DVTSourceControlWorkspaceBlueprintRemoteRepositoriesKey" : [ + { + "DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "github.com:moostrik\/ofxFlowTools.git", + "DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git", + "DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "2A03CE0CF301C466938025B767254CAAC3CB8DB0" + }, + { + "DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "https:\/\/github.com\/rootux\/visionquest.git", + "DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git", + "DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "640A848B4A5FDACE22970ED38CD5421AE9100774" + } + ] +} \ No newline at end of file diff --git a/visionquest.xcodeproj/project.xcworkspace/xcuserdata/shenberg.xcuserdatad/UserInterfaceState.xcuserstate b/visionquest.xcodeproj/project.xcworkspace/xcuserdata/shenberg.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..0a141a79bb875741ab59c460f2a1093c88a48d31 GIT binary patch literal 42685 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 literal 0 HcmV?d00001 diff --git a/visionquest.xcodeproj/xcshareddata/xcschemes/visionquest Debug.xcscheme b/visionquest.xcodeproj/xcshareddata/xcschemes/visionquest Debug.xcscheme new file mode 100644 index 0000000..529206b --- /dev/null +++ b/visionquest.xcodeproj/xcshareddata/xcschemes/visionquest Debug.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/visionquest.xcodeproj/xcshareddata/xcschemes/visionquest Release.xcscheme b/visionquest.xcodeproj/xcshareddata/xcschemes/visionquest Release.xcscheme new file mode 100644 index 0000000..5abca9c --- /dev/null +++ b/visionquest.xcodeproj/xcshareddata/xcschemes/visionquest Release.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/visionquest.xcodeproj/xcuserdata/shenberg.xcuserdatad/xcschemes/xcschememanagement.plist b/visionquest.xcodeproj/xcuserdata/shenberg.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..13dfb6e --- /dev/null +++ b/visionquest.xcodeproj/xcuserdata/shenberg.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SuppressBuildableAutocreation + + E4B69B5A0A3A1756003C02F2 + + primary + + + + +