diff --git a/.appveyor.yml b/.appveyor.yml new file mode 100644 index 0000000..f519df0 --- /dev/null +++ b/.appveyor.yml @@ -0,0 +1,38 @@ +version: 1.0.{build} +os: Visual Studio 2015 RC + +environment: + global: + APPVEYOR_OS_NAME: windows + matrix: + #MSYS2 Building + - platform: x86 + BUILDER: MSYS2 + + #VisualStudio Building + - platform: x86 + BUILDER : VS + BITS: 32 + - platform: x64 + BUILDER : VS + BITS: 64 + +configuration: Debug +shallow_clone: true +clone_depth: 10 +init: +- set MSYS2_PATH=c:\msys64 +- set CHERE_INVOKING=1 +- if "%BUILDER%_%PLATFORM%"=="MSYS2_x86" set MSYSTEM=MINGW32 +- if "%BUILDER%_%PLATFORM%"=="MSYS2_x64" set MSYSTEM=MINGW64 +- if "%BUILDER%"=="VS" set PATH=C:\Program Files (x86)\MSBuild\14.0\Bin;%PATH% + +install: +- cd .. +- git clone --depth=1 --branch=master https://github.com/openframeworks/openFrameworks +- call openFrameworks\scripts\ci\addons\install.cmd + +build_script: +- cd %OF_PATH% +- scripts\ci\addons\build.cmd + diff --git a/.gitignore b/.gitignore index 593962f..8cd07bf 100644 --- a/.gitignore +++ b/.gitignore @@ -105,3 +105,17 @@ Desktop.ini *.log *.sql *.sqlite + +example/cmake-build-debug/ + +example/\.idea/ + +example/cmake-build-release/ + +example/example\.xcodeproj/xcshareddata/xcschemes/ + +.idea/ + +cmake-build-debug/ + +CMakeLists\.txt diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..9e24e2c --- /dev/null +++ b/.travis.yml @@ -0,0 +1,199 @@ +# This file allows testing your addon using travis CI servers to use it you'll need to +# create an account in travis.org and enable your addon there. +# +# By default it will test linux 64bit and osx against the master and stable OF branches. +# Other platforms can be enabled by uncommenting the corresponding sections. +# +# If any extra install is needed to use the addon it can be included in the corresponding +# install script in: +# +# scripts/ci/$TARGET/install.sh +# + + +language: c++ +compiler: gcc +sudo: true +matrix: + include: + # fully specify builds, include can't dynamically expand matrix entries + # relative order of sudo and env is important so that addons: is recognized + +# Linux 64bit, OF master + - os: linux + dist: trusty + sudo: required + env: TARGET="linux64" OF_BRANCH="master" + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - gcc-4.9 + - g++-4.9 + - gdb + +# Linux 64bit, OF stable: Not supported yet +# - os: linux +# dist: trusty +# sudo: required +# env: TARGET="linux64" OF_BRANCH="stable" +# addons: +# apt: +# sources: +# - ubuntu-toolchain-r-test +# packages: +# - gcc-4.9 +# - g++-4.9 +# - gdb + +# OSX, OF master + - os: osx + osx_image: xcode8 + compiler: clang + env: TARGET="osx" OF_BRANCH="master" + +# OSX, OF stable: Not supported yet +# - os: osx +# osx_image: xcode8 +# compiler: clang +# env: TARGET="osx" OF_BRANCH="stable" + +# Linux ARM6, OF master: Uncomment following lines to enable +# - os: linux +# sudo: required +# dist: trusty +# env: TARGET="linuxarmv6l" OF_BRANCH="master" + + +# Linux ARM6, OF stable: Not supported yet +# - os: linux +# sudo: required +# dist: trusty +# env: TARGET="linuxarmv6l" OF_BRANCH="stable" + +# Linux ARM7, OF master: Uncomment following lines to enable +# - os: linux +# sudo: false +# env: TARGET="linuxarmv7l" OF_BRANCH="master" +# cache: +# directories: +# - ~/rpi2_toolchain +# - ~/firmware-master +# - ~/archlinux + +# Linux ARM7, OF stable: Not supported yet +# - os: linux +# sudo: false +# env: TARGET="linuxarmv7l" OF_BRANCH="stable" +# cache: +# directories: +# - ~/rpi2_toolchain +# - ~/firmware-master +# - ~/archlinux + + +# Emscripten, OF master: Uncomment following lines to enable +# - os: linux +# sudo: false +# env: TARGET="emscripten" OF_BRANCH="master" +# addons: +# apt: +# sources: +# - ubuntu-toolchain-r-test +# packages: +# - libstdc++6 + + +# Emscripten, OF stable: Not supported yet +# - os: linux +# sudo: false +# env: TARGET="emscripten" OF_BRANCH="stable" +# addons: +# apt: +# sources: +# - ubuntu-toolchain-r-test +# packages: +# - libstdc++6 + + +# iOS, OF master: Not supported yet +# - os: osx +# osx_image: xcode8 +# compiler: clang +# env: TARGET="ios" OF_BRANCH="master" + + +# iOS, OF stable: Not supported yet +# - os: osx +# osx_image: xcode8 +# compiler: clang +# env: TARGET="ios" OF_BRANCH="stable" + + +# tvOS, OF master: Not supported yet +# - os: osx +# osx_image: xcode8 +# compiler: clang +# env: TARGET="tvos" OF_BRANCH="master" + + +# tvOS, OF stable: Not supported yet +# - os: osx +# osx_image: xcode8 +# compiler: clang +# env: TARGET="tvos" OF_BRANCH="stable" + + +# Android armv7, OF master: Uncomment following lines to enable +# - os: linux +# sudo: false +# env: TARGET="android" OPT="armv7" OF_BRANCH="master" +# cache: +# directories: +# - ~/android-ndk-r12b + + +# Android armv7, OF stable: Not supported yet +# - os: linux +# sudo: false +# env: TARGET="android" OPT="armv7" OF_BRANCH="stable" +# cache: +# directories: +# - ~/android-ndk-r12b + + +# Android x86, OF master: Uncomment following lines to enable +# - os: linux +# sudo: false +# env: TARGET="android" OPT="x86" OF_BRANCH="master" +# cache: +# directories: +# - ~/android-ndk-r12b + + +# Android x86, OF stable: Not supported yet +# - os: linux +# sudo: false +# env: TARGET="android" OPT="x86" OF_BRANCH="stable" +# cache: +# directories: +# - ~/android-ndk-r12b + + + # Exclude the default build that would otherwise be generated + # see https://github.com/travis-ci/travis-ci/issues/1228 + exclude: + - compiler: gcc + +install: + - cd ~ + - git clone --depth=1 --branch=$OF_BRANCH https://github.com/openframeworks/openFrameworks + - cd openFrameworks + - scripts/ci/addons/install.sh + +script: + - scripts/ci/addons/build.sh + +git: + depth: 10 \ No newline at end of file diff --git a/README.md b/README.md index b2d8902..1a83ffc 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # ofxPiMapper -[![Join the chat at https://gitter.im/kr15h/ofxPiMapper](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/kr15h/ofxPiMapper?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +[![Join the chat at https://gitter.im/kr15h/ofxPiMapper](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/kr15h/ofxPiMapper?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Build Status](https://travis-ci.org/kr15h/ofxPiMapper.svg?branch=master)](https://travis-ci.org/kr15h/ofxPiMapper) [![Build status](https://ci.appveyor.com/api/projects/status/j6mn85tt2agk4dk6?svg=true)](https://ci.appveyor.com/project/kr15h/ofxpimapper) Projection mapping addon for openFrameworks that runs on the Raspberry Pi. @@ -166,6 +166,7 @@ i | Show info t | Add triangle surface q | Add quad surface g | Add grid warp surface +c | Add circle surface d | duplicate selected surface \+ | Scale surface up \- | Scale surface down @@ -191,4 +192,4 @@ BACKSPACE ('\' via SSH) | Delete surface. SPACE | Toggle pause for video sources (texture and projection mapping modes) TAB | Select next source (no need to use the source selection interface) Arrow keys | Move selection. If no surface is selected in the projection mapping mode, all surfaces are moved. -\/ | Toggle 1px/10px steps for keyboard moves on Raspberry Pi +\/ | Toggle 1px/10px steps for keyboard moves on Raspberry Pi \ No newline at end of file diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt index 34fa65e..3cf049a 100755 --- a/example/CMakeLists.txt +++ b/example/CMakeLists.txt @@ -4,6 +4,7 @@ # ===================== CMake Settings =================== # ======================================================== cmake_minimum_required( VERSION 3.3 ) + project( openframeworks ) # ======================================================== @@ -17,21 +18,23 @@ set( APP_NAME example_ofxPiMapper ) set( OF_DIRECTORY_BY_USER "../../.." ) # --------------------- Source Files --------------------- + +file( GLOB_RECURSE + APP_SRC + "src/*.cpp" + ) + set( ${APP_NAME}_SOURCE_FILES - src/main.cpp - src/ofApp.cpp - src/CrossSource.cpp - src/CustomSource.cpp - src/Settings.cpp) + ${APP_SRC} ) # ------------------------ AddOns ----------------------- set( OFX_ADDONS_ACTIVE - ofxXmlSettings - ofxGui - ofxPiMapper - ofxIO - ) + ofxXmlSettings + ofxGui + ofxPiMapper +# ofxIO + ) # ========================================================================= # ============================== OpenFrameworks =========================== diff --git a/example/addons.make b/example/addons.make index aee7c01..963941c 100644 --- a/example/addons.make +++ b/example/addons.make @@ -1,4 +1,4 @@ +ofxGui ofxPiMapper ofxXmlSettings -ofxGui ofxOMXPlayer diff --git a/example/bin/data/magslideshow_settings.xml b/example/bin/data/magslideshow_settings.xml new file mode 100644 index 0000000..3e12c23 --- /dev/null +++ b/example/bin/data/magslideshow_settings.xml @@ -0,0 +1,15 @@ + + 800 + 600 + 2 + + NORMAL + 0 + + + Dissolve + 3 + + + FitProportionally + diff --git a/example/bin/data/ofxpimapper.xml b/example/bin/data/ofxpimapper.xml index 926e9ef..fcea673 100644 --- a/example/bin/data/ofxpimapper.xml +++ b/example/bin/data/ofxpimapper.xml @@ -1,22 +1,30 @@ - + - 194.000000000 - 57.187255859 + 337.195068359 + 362.146270752 + + + 337.195068359 + 595.853759766 - 467.000000000 - 412.000000000 + 648.804992676 + 595.853759766 - 40.374511719 - 210.812774658 + 648.804992676 + 362.146270752 - 0.500000000 + 0.000000000 + 0.000000000 + + + 1.000000000 0.000000000 @@ -32,24 +40,27 @@ image image4.jpg + + 1 + - 407.565002441 - 111.782531738 + 522.590332031 + 188.924621582 - 700.434936523 - 111.782531738 + 835.409606934 + 188.924621582 - 700.434936523 - 258.217407227 + 835.409606934 + 415.075378418 - 407.565002441 - 258.217407227 + 522.590332031 + 415.075378418 @@ -72,10 +83,44 @@ fbo - Custom FBO Source + Slide Show Source 1 + + + + 325.000000000 + 196.999847412 + + + 479.922424316 + 421.000091553 + + + 170.077636719 + 421.000091553 + + + + + 0.500000000 + 0.000000000 + + + 1.000000000 + 1.000000000 + + + 0.000000000 + 1.000000000 + + + + image + image2.jpg + + diff --git a/example/example.xcodeproj/project.pbxproj b/example/example.xcodeproj/project.pbxproj index 3eaea39..c5d67a9 100644 --- a/example/example.xcodeproj/project.pbxproj +++ b/example/example.xcodeproj/project.pbxproj @@ -7,91 +7,100 @@ objects = { /* Begin PBXBuildFile section */ - 0115A67B1DBF93BA00C51732 /* Application.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A5D91DBF93BA00C51732 /* Application.cpp */; }; - 0115A67C1DBF93BA00C51732 /* ApplicationBaseMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A5DC1DBF93BA00C51732 /* ApplicationBaseMode.cpp */; }; - 0115A67D1DBF93BA00C51732 /* PresentationMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A5DE1DBF93BA00C51732 /* PresentationMode.cpp */; }; - 0115A67E1DBF93BA00C51732 /* ProjectionMappingMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A5E01DBF93BA00C51732 /* ProjectionMappingMode.cpp */; }; - 0115A67F1DBF93BA00C51732 /* SourceSelectionMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A5E21DBF93BA00C51732 /* SourceSelectionMode.cpp */; }; - 0115A6801DBF93BA00C51732 /* TextureMappingMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A5E41DBF93BA00C51732 /* TextureMappingMode.cpp */; }; - 0115A6811DBF93BA00C51732 /* SettingsLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A5E61DBF93BA00C51732 /* SettingsLoader.cpp */; }; - 0115A6A51DBF93BA00C51732 /* Gui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6311DBF93BA00C51732 /* Gui.cpp */; }; - 0115A6A61DBF93BA00C51732 /* LayerPanelWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6351DBF93BA00C51732 /* LayerPanelWidget.cpp */; }; - 0115A6A71DBF93BA00C51732 /* ProjectionEditorWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6371DBF93BA00C51732 /* ProjectionEditorWidget.cpp */; }; - 0115A6A81DBF93BA00C51732 /* ScaleWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6391DBF93BA00C51732 /* ScaleWidget.cpp */; }; - 0115A6A91DBF93BA00C51732 /* SourcesEditorWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A63B1DBF93BA00C51732 /* SourcesEditorWidget.cpp */; }; - 0115A6AA1DBF93BA00C51732 /* SurfaceHighlightWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A63D1DBF93BA00C51732 /* SurfaceHighlightWidget.cpp */; }; - 0115A6AC1DBF93BA00C51732 /* TextureEditorWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6411DBF93BA00C51732 /* TextureEditorWidget.cpp */; }; - 0115A6AD1DBF93BA00C51732 /* TextureHighlightWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6431DBF93BA00C51732 /* TextureHighlightWidget.cpp */; }; - 0115A6AE1DBF93BA00C51732 /* Info.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6461DBF93BA00C51732 /* Info.cpp */; }; - 0115A6AF1DBF93BA00C51732 /* DirectoryWatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6491DBF93BA00C51732 /* DirectoryWatcher.cpp */; }; - 0115A6B01DBF93BA00C51732 /* MediaServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A64B1DBF93BA00C51732 /* MediaServer.cpp */; }; - 0115A6B11DBF93BA00C51732 /* ofxPiMapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A64D1DBF93BA00C51732 /* ofxPiMapper.cpp */; }; - 0115A6B21DBF93BA00C51732 /* BaseSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6501DBF93BA00C51732 /* BaseSource.cpp */; }; - 0115A6B31DBF93BA00C51732 /* FboSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6521DBF93BA00C51732 /* FboSource.cpp */; }; - 0115A6B41DBF93BA00C51732 /* ImageSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6541DBF93BA00C51732 /* ImageSource.cpp */; }; - 0115A6B51DBF93BA00C51732 /* OMXPlayerCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6561DBF93BA00C51732 /* OMXPlayerCache.cpp */; }; - 0115A6B61DBF93BA00C51732 /* VideoSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6591DBF93BA00C51732 /* VideoSource.cpp */; }; - 0115A6B71DBF93BA00C51732 /* BaseSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A65C1DBF93BA00C51732 /* BaseSurface.cpp */; }; - 0115A6B81DBF93BA00C51732 /* GridWarpSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A65E1DBF93BA00C51732 /* GridWarpSurface.cpp */; }; - 0115A6B91DBF93BA00C51732 /* HexagonSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6601DBF93BA00C51732 /* HexagonSurface.cpp */; }; - 0115A6BA1DBF93BA00C51732 /* QuadSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6621DBF93BA00C51732 /* QuadSurface.cpp */; }; - 0115A6BB1DBF93BA00C51732 /* SurfaceFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6641DBF93BA00C51732 /* SurfaceFactory.cpp */; }; - 0115A6BC1DBF93BA00C51732 /* SurfaceManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6661DBF93BA00C51732 /* SurfaceManager.cpp */; }; - 0115A6BD1DBF93BA00C51732 /* SurfaceStack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6681DBF93BA00C51732 /* SurfaceStack.cpp */; }; - 0115A6BE1DBF93BA00C51732 /* TriangleSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A66B1DBF93BA00C51732 /* TriangleSurface.cpp */; }; - 0115A6BF1DBF93BA00C51732 /* BaseJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A66E1DBF93BA00C51732 /* BaseJoint.cpp */; }; - 0115A6C01DBF93BA00C51732 /* CircleJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6701DBF93BA00C51732 /* CircleJoint.cpp */; }; - 0115A6C11DBF93BA00C51732 /* RadioList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6741DBF93BA00C51732 /* RadioList.cpp */; }; - 0115A6C21DBF93BA00C51732 /* HomographyHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6771DBF93BA00C51732 /* HomographyHelper.cpp */; }; - 016630881DC66DAB0081F28F /* AddGridColCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166303D1DC66DAB0081F28F /* AddGridColCmd.cpp */; }; - 016630891DC66DAB0081F28F /* AddGridRowCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166303F1DC66DAB0081F28F /* AddGridRowCmd.cpp */; }; - 0166308A1DC66DAB0081F28F /* AddSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630411DC66DAB0081F28F /* AddSurfaceCmd.cpp */; }; - 0166308B1DC66DAB0081F28F /* ClearSurfacesCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630441DC66DAB0081F28F /* ClearSurfacesCmd.cpp */; }; - 0166308C1DC66DAB0081F28F /* CmdManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630461DC66DAB0081F28F /* CmdManager.cpp */; }; - 0166308D1DC66DAB0081F28F /* DeselectSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630481DC66DAB0081F28F /* DeselectSurfaceCmd.cpp */; }; - 0166308E1DC66DAB0081F28F /* DeselectTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166304A1DC66DAB0081F28F /* DeselectTexCoordCmd.cpp */; }; - 0166308F1DC66DAB0081F28F /* DuplicateSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166304C1DC66DAB0081F28F /* DuplicateSurfaceCmd.cpp */; }; - 016630901DC66DAB0081F28F /* MvAllTexCoordsCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166304E1DC66DAB0081F28F /* MvAllTexCoordsCmd.cpp */; }; - 016630911DC66DAB0081F28F /* MvLayerDnCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630501DC66DAB0081F28F /* MvLayerDnCmd.cpp */; }; - 016630921DC66DAB0081F28F /* MvLayerUpCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630521DC66DAB0081F28F /* MvLayerUpCmd.cpp */; }; - 016630931DC66DAB0081F28F /* MvSelectionCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630541DC66DAB0081F28F /* MvSelectionCmd.cpp */; }; - 016630941DC66DAB0081F28F /* MvSurfaceVertCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630561DC66DAB0081F28F /* MvSurfaceVertCmd.cpp */; }; - 016630951DC66DAB0081F28F /* MvTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630581DC66DAB0081F28F /* MvTexCoordCmd.cpp */; }; - 016630961DC66DAB0081F28F /* RmGridColCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166305A1DC66DAB0081F28F /* RmGridColCmd.cpp */; }; - 016630971DC66DAB0081F28F /* RmGridRowCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166305C1DC66DAB0081F28F /* RmGridRowCmd.cpp */; }; - 016630981DC66DAB0081F28F /* RmSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166305E1DC66DAB0081F28F /* RmSurfaceCmd.cpp */; }; - 016630991DC66DAB0081F28F /* SaveTexCoordPosCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630601DC66DAB0081F28F /* SaveTexCoordPosCmd.cpp */; }; - 0166309A1DC66DAB0081F28F /* ScaleSurfaceFromToCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630621DC66DAB0081F28F /* ScaleSurfaceFromToCmd.cpp */; }; - 0166309B1DC66DAB0081F28F /* SelNextSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630641DC66DAB0081F28F /* SelNextSurfaceCmd.cpp */; }; - 0166309C1DC66DAB0081F28F /* SelNextTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630661DC66DAB0081F28F /* SelNextTexCoordCmd.cpp */; }; - 0166309D1DC66DAB0081F28F /* SelNextVertexCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630681DC66DAB0081F28F /* SelNextVertexCmd.cpp */; }; - 0166309E1DC66DAB0081F28F /* SelPrevSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166306A1DC66DAB0081F28F /* SelPrevSurfaceCmd.cpp */; }; - 0166309F1DC66DAB0081F28F /* SelPrevTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166306C1DC66DAB0081F28F /* SelPrevTexCoordCmd.cpp */; }; - 016630A01DC66DAB0081F28F /* SelPrevVertexCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166306E1DC66DAB0081F28F /* SelPrevVertexCmd.cpp */; }; - 016630A11DC66DAB0081F28F /* SelSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630701DC66DAB0081F28F /* SelSurfaceCmd.cpp */; }; - 016630A21DC66DAB0081F28F /* SelTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630721DC66DAB0081F28F /* SelTexCoordCmd.cpp */; }; - 016630A31DC66DAB0081F28F /* SelVertexCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630741DC66DAB0081F28F /* SelVertexCmd.cpp */; }; - 016630A41DC66DAB0081F28F /* SetApplicationModeCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630761DC66DAB0081F28F /* SetApplicationModeCmd.cpp */; }; - 016630A51DC66DAB0081F28F /* SetNextSourceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630781DC66DAB0081F28F /* SetNextSourceCmd.cpp */; }; - 016630A61DC66DAB0081F28F /* SetPresetCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166307A1DC66DAB0081F28F /* SetPresetCmd.cpp */; }; - 016630A71DC66DAB0081F28F /* SetSourceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166307C1DC66DAB0081F28F /* SetSourceCmd.cpp */; }; - 016630A81DC66DAB0081F28F /* SetTexMapDrawModeCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166307E1DC66DAB0081F28F /* SetTexMapDrawModeCmd.cpp */; }; - 016630A91DC66DAB0081F28F /* StartDragSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630801DC66DAB0081F28F /* StartDragSurfaceCmd.cpp */; }; - 016630AA1DC66DAB0081F28F /* ToggleAnimatedSourceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630821DC66DAB0081F28F /* ToggleAnimatedSourceCmd.cpp */; }; - 016630AB1DC66DAB0081F28F /* TogglePerspectiveCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630841DC66DAB0081F28F /* TogglePerspectiveCmd.cpp */; }; - 016630AC1DC66DAB0081F28F /* TranslateCanvasCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630861DC66DAB0081F28F /* TranslateCanvasCmd.cpp */; }; + 010E92E21FEEEE9D0015B02B /* Vec2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 010E92DE1FEEEE8D0015B02B /* Vec2.cpp */; }; + 010E92E31FEEEE9D0015B02B /* Vec3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 010E92E01FEEEE8D0015B02B /* Vec3.cpp */; }; + 01372D7D1FF2E7D4006D41AC /* ofxBaseGui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01372D6B1FF2E7B4006D41AC /* ofxBaseGui.cpp */; }; + 01372D7E1FF2E7D4006D41AC /* ofxButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01372D751FF2E7B4006D41AC /* ofxButton.cpp */; }; + 01372D7F1FF2E7D4006D41AC /* ofxColorPicker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01372D781FF2E7B4006D41AC /* ofxColorPicker.cpp */; }; + 01372D801FF2E7D4006D41AC /* ofxGuiGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01372D771FF2E7B4006D41AC /* ofxGuiGroup.cpp */; }; + 01372D811FF2E7D4006D41AC /* ofxInputField.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01372D7A1FF2E7B4006D41AC /* ofxInputField.cpp */; }; + 01372D821FF2E7D4006D41AC /* ofxLabel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01372D791FF2E7B4006D41AC /* ofxLabel.cpp */; }; + 01372D831FF2E7D4006D41AC /* ofxPanel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01372D6E1FF2E7B4006D41AC /* ofxPanel.cpp */; }; + 01372D841FF2E7D4006D41AC /* ofxSlider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01372D7B1FF2E7B5006D41AC /* ofxSlider.cpp */; }; + 01372D851FF2E7D4006D41AC /* ofxSliderGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01372D731FF2E7B4006D41AC /* ofxSliderGroup.cpp */; }; + 01372D861FF2E7D4006D41AC /* ofxToggle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01372D681FF2E7B4006D41AC /* ofxToggle.cpp */; }; + 01815E8C1FE7D59200C35E93 /* Application.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815DE01FE7D53700C35E93 /* Application.cpp */; }; + 01815E8D1FE7D59200C35E93 /* ApplicationBaseMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815DE31FE7D53700C35E93 /* ApplicationBaseMode.cpp */; }; + 01815E8E1FE7D59200C35E93 /* PresentationMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815DE51FE7D53700C35E93 /* PresentationMode.cpp */; }; + 01815E8F1FE7D59200C35E93 /* ProjectionMappingMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815DE71FE7D53700C35E93 /* ProjectionMappingMode.cpp */; }; + 01815E901FE7D59200C35E93 /* SourceSelectionMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815DE91FE7D53700C35E93 /* SourceSelectionMode.cpp */; }; + 01815E911FE7D59200C35E93 /* TextureMappingMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815DEB1FE7D53700C35E93 /* TextureMappingMode.cpp */; }; + 01815E921FE7D59200C35E93 /* SettingsLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815DED1FE7D53700C35E93 /* SettingsLoader.cpp */; }; + 01815E931FE7D59200C35E93 /* AddGridColCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815DF01FE7D53700C35E93 /* AddGridColCmd.cpp */; }; + 01815E941FE7D59200C35E93 /* AddGridRowCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815DF21FE7D53700C35E93 /* AddGridRowCmd.cpp */; }; + 01815E951FE7D59200C35E93 /* AddSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815DF41FE7D53700C35E93 /* AddSurfaceCmd.cpp */; }; + 01815E961FE7D59200C35E93 /* ClearSurfacesCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815DF71FE7D53700C35E93 /* ClearSurfacesCmd.cpp */; }; + 01815E971FE7D59200C35E93 /* CmdManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815DF91FE7D53700C35E93 /* CmdManager.cpp */; }; + 01815E981FE7D59200C35E93 /* DeselectSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815DFB1FE7D53700C35E93 /* DeselectSurfaceCmd.cpp */; }; + 01815E991FE7D59200C35E93 /* DeselectTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815DFD1FE7D53700C35E93 /* DeselectTexCoordCmd.cpp */; }; + 01815E9A1FE7D59200C35E93 /* DuplicateSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815DFF1FE7D53700C35E93 /* DuplicateSurfaceCmd.cpp */; }; + 01815E9B1FE7D59200C35E93 /* MvAllTexCoordsCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E011FE7D53700C35E93 /* MvAllTexCoordsCmd.cpp */; }; + 01815E9C1FE7D59200C35E93 /* MvLayerDnCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E031FE7D53700C35E93 /* MvLayerDnCmd.cpp */; }; + 01815E9D1FE7D59200C35E93 /* MvLayerUpCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E051FE7D53700C35E93 /* MvLayerUpCmd.cpp */; }; + 01815E9E1FE7D59200C35E93 /* MvSelectionCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E071FE7D53700C35E93 /* MvSelectionCmd.cpp */; }; + 01815E9F1FE7D59200C35E93 /* MvSurfaceVertCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E091FE7D53700C35E93 /* MvSurfaceVertCmd.cpp */; }; + 01815EA01FE7D59200C35E93 /* MvTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E0B1FE7D53700C35E93 /* MvTexCoordCmd.cpp */; }; + 01815EA11FE7D59200C35E93 /* RmGridColCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E0D1FE7D53700C35E93 /* RmGridColCmd.cpp */; }; + 01815EA21FE7D59200C35E93 /* RmGridRowCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E0F1FE7D53700C35E93 /* RmGridRowCmd.cpp */; }; + 01815EA31FE7D59200C35E93 /* RmSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E111FE7D53700C35E93 /* RmSurfaceCmd.cpp */; }; + 01815EA41FE7D59200C35E93 /* SaveTexCoordPosCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E131FE7D53700C35E93 /* SaveTexCoordPosCmd.cpp */; }; + 01815EA51FE7D59200C35E93 /* ScaleSurfaceFromToCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E151FE7D53700C35E93 /* ScaleSurfaceFromToCmd.cpp */; }; + 01815EA61FE7D59200C35E93 /* SelNextSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E171FE7D53700C35E93 /* SelNextSurfaceCmd.cpp */; }; + 01815EA71FE7D59200C35E93 /* SelNextTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E191FE7D53700C35E93 /* SelNextTexCoordCmd.cpp */; }; + 01815EA81FE7D59200C35E93 /* SelNextVertexCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E1B1FE7D53700C35E93 /* SelNextVertexCmd.cpp */; }; + 01815EA91FE7D59200C35E93 /* SelPrevSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E1D1FE7D53700C35E93 /* SelPrevSurfaceCmd.cpp */; }; + 01815EAA1FE7D59200C35E93 /* SelPrevTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E1F1FE7D53700C35E93 /* SelPrevTexCoordCmd.cpp */; }; + 01815EAB1FE7D59200C35E93 /* SelPrevVertexCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E211FE7D53700C35E93 /* SelPrevVertexCmd.cpp */; }; + 01815EAC1FE7D59200C35E93 /* SelSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E231FE7D53700C35E93 /* SelSurfaceCmd.cpp */; }; + 01815EAD1FE7D59200C35E93 /* SelTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E251FE7D53700C35E93 /* SelTexCoordCmd.cpp */; }; + 01815EAE1FE7D59200C35E93 /* SelVertexCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E271FE7D53700C35E93 /* SelVertexCmd.cpp */; }; + 01815EAF1FE7D59200C35E93 /* SetApplicationModeCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E291FE7D53700C35E93 /* SetApplicationModeCmd.cpp */; }; + 01815EB01FE7D59200C35E93 /* SetNextSourceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E2B1FE7D53700C35E93 /* SetNextSourceCmd.cpp */; }; + 01815EB11FE7D59200C35E93 /* SetPresetCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E2D1FE7D53700C35E93 /* SetPresetCmd.cpp */; }; + 01815EB21FE7D59200C35E93 /* SetSourceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E2F1FE7D53700C35E93 /* SetSourceCmd.cpp */; }; + 01815EB31FE7D59200C35E93 /* SetTexMapDrawModeCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E311FE7D53700C35E93 /* SetTexMapDrawModeCmd.cpp */; }; + 01815EB41FE7D59200C35E93 /* StartDragSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E331FE7D53700C35E93 /* StartDragSurfaceCmd.cpp */; }; + 01815EB51FE7D59200C35E93 /* ToggleAnimatedSourceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E351FE7D53700C35E93 /* ToggleAnimatedSourceCmd.cpp */; }; + 01815EB61FE7D59200C35E93 /* TogglePerspectiveCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E371FE7D53700C35E93 /* TogglePerspectiveCmd.cpp */; }; + 01815EB71FE7D59200C35E93 /* TranslateCanvasCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E391FE7D53700C35E93 /* TranslateCanvasCmd.cpp */; }; + 01815EB81FE7D59200C35E93 /* Gui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E3C1FE7D53700C35E93 /* Gui.cpp */; }; + 01815EB91FE7D59200C35E93 /* LayerPanelWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E401FE7D53700C35E93 /* LayerPanelWidget.cpp */; }; + 01815EBA1FE7D59200C35E93 /* ProjectionEditorWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E421FE7D53700C35E93 /* ProjectionEditorWidget.cpp */; }; + 01815EBB1FE7D59200C35E93 /* ScaleWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E441FE7D53700C35E93 /* ScaleWidget.cpp */; }; + 01815EBC1FE7D59200C35E93 /* SourcesEditorWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E461FE7D53700C35E93 /* SourcesEditorWidget.cpp */; }; + 01815EBD1FE7D59200C35E93 /* SurfaceHighlightWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E481FE7D53700C35E93 /* SurfaceHighlightWidget.cpp */; }; + 01815EBE1FE7D59200C35E93 /* TextureEditorWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E4A1FE7D53700C35E93 /* TextureEditorWidget.cpp */; }; + 01815EBF1FE7D59200C35E93 /* TextureHighlightWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E4C1FE7D53700C35E93 /* TextureHighlightWidget.cpp */; }; + 01815EC01FE7D59200C35E93 /* Info.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E4F1FE7D53700C35E93 /* Info.cpp */; }; + 01815EC11FE7D59200C35E93 /* DirectoryWatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E521FE7D53700C35E93 /* DirectoryWatcher.cpp */; }; + 01815EC21FE7D59200C35E93 /* MediaServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E541FE7D53700C35E93 /* MediaServer.cpp */; }; + 01815EC31FE7D59200C35E93 /* ofxPiMapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E571FE7D53700C35E93 /* ofxPiMapper.cpp */; }; + 01815EC41FE7D59200C35E93 /* BaseSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E5A1FE7D53700C35E93 /* BaseSource.cpp */; }; + 01815EC51FE7D59200C35E93 /* FboSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E5C1FE7D53700C35E93 /* FboSource.cpp */; }; + 01815EC61FE7D59200C35E93 /* ImageSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E5E1FE7D53700C35E93 /* ImageSource.cpp */; }; + 01815EC71FE7D59200C35E93 /* magSlide.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E601FE7D53700C35E93 /* magSlide.cpp */; }; + 01815EC81FE7D59200C35E93 /* magSlideShowSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E621FE7D53700C35E93 /* magSlideShowSource.cpp */; }; + 01815EC91FE7D59200C35E93 /* magSlideTransition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E641FE7D53700C35E93 /* magSlideTransition.cpp */; }; + 01815ECA1FE7D59200C35E93 /* magSlideTransitionFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E661FE7D53700C35E93 /* magSlideTransitionFactory.cpp */; }; + 01815ECB1FE7D59200C35E93 /* OMXPlayerCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E681FE7D53700C35E93 /* OMXPlayerCache.cpp */; }; + 01815ECC1FE7D59200C35E93 /* VideoSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E6C1FE7D53700C35E93 /* VideoSource.cpp */; }; + 01815ECD1FE7D59200C35E93 /* BaseSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E6F1FE7D53700C35E93 /* BaseSurface.cpp */; }; + 01815ECE1FE7D59200C35E93 /* GridWarpSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E711FE7D53700C35E93 /* GridWarpSurface.cpp */; }; + 01815ECF1FE7D59200C35E93 /* HexagonSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E731FE7D53700C35E93 /* HexagonSurface.cpp */; }; + 01815ED01FE7D59200C35E93 /* QuadSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E751FE7D53700C35E93 /* QuadSurface.cpp */; }; + 01815ED11FE7D59200C35E93 /* SurfaceFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E771FE7D53700C35E93 /* SurfaceFactory.cpp */; }; + 01815ED21FE7D59200C35E93 /* SurfaceManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E791FE7D53700C35E93 /* SurfaceManager.cpp */; }; + 01815ED31FE7D59200C35E93 /* SurfaceStack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E7B1FE7D53700C35E93 /* SurfaceStack.cpp */; }; + 01815ED41FE7D59200C35E93 /* TriangleSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E7E1FE7D53700C35E93 /* TriangleSurface.cpp */; }; + 01815ED51FE7D59200C35E93 /* BaseJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E811FE7D53700C35E93 /* BaseJoint.cpp */; }; + 01815ED61FE7D59200C35E93 /* CircleJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E831FE7D53700C35E93 /* CircleJoint.cpp */; }; + 01815ED71FE7D59200C35E93 /* RadioList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E871FE7D53700C35E93 /* RadioList.cpp */; }; + 01815ED81FE7D59200C35E93 /* HomographyHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01815E8A1FE7D53700C35E93 /* HomographyHelper.cpp */; }; + 01B8217B1FEB138A000100F2 /* CircleSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01B821791FEB138A000100F2 /* CircleSurface.cpp */; }; 3926483B192224DA0008A7F5 /* ofxXmlSettings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 39264839192224DA0008A7F5 /* ofxXmlSettings.cpp */; }; 39264841192224F90008A7F5 /* tinyxml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3926483D192224F90008A7F5 /* tinyxml.cpp */; }; 39264842192224F90008A7F5 /* tinyxmlerror.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3926483F192224F90008A7F5 /* tinyxmlerror.cpp */; }; 39264843192224F90008A7F5 /* tinyxmlparser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 39264840192224F90008A7F5 /* tinyxmlparser.cpp */; }; - 3933D5D319BB87BD000ACA55 /* ofxBaseGui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5C219BB87BD000ACA55 /* ofxBaseGui.cpp */; }; - 3933D5D419BB87BD000ACA55 /* ofxButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5C419BB87BD000ACA55 /* ofxButton.cpp */; }; - 3933D5D519BB87BD000ACA55 /* ofxGuiGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5C719BB87BD000ACA55 /* ofxGuiGroup.cpp */; }; - 3933D5D619BB87BD000ACA55 /* ofxLabel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5C919BB87BD000ACA55 /* ofxLabel.cpp */; }; - 3933D5D719BB87BD000ACA55 /* ofxPanel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5CB19BB87BD000ACA55 /* ofxPanel.cpp */; }; - 3933D5D819BB87BD000ACA55 /* ofxSlider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5CD19BB87BD000ACA55 /* ofxSlider.cpp */; }; - 3933D5D919BB87BD000ACA55 /* ofxSliderGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5CF19BB87BD000ACA55 /* ofxSliderGroup.cpp */; }; - 3933D5DA19BB87BD000ACA55 /* ofxToggle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5D119BB87BD000ACA55 /* ofxToggle.cpp */; }; 397EFC821A09047C0009286E /* CustomSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 397EFC801A09047C0009286E /* CustomSource.cpp */; }; 3995C20A1C79069B00123352 /* Settings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3995C2091C79069B00123352 /* Settings.cpp */; }; 399953691BD54FF600D5B1F1 /* CrossSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 399953671BD54FF600D5B1F1 /* CrossSource.cpp */; }; @@ -145,182 +154,201 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 0100D9401E33E667000D7FA5 /* Mode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Mode.h; sourceTree = ""; }; - 0115A5D91DBF93BA00C51732 /* Application.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Application.cpp; sourceTree = ""; }; - 0115A5DA1DBF93BA00C51732 /* Application.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Application.h; sourceTree = ""; }; - 0115A5DC1DBF93BA00C51732 /* ApplicationBaseMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ApplicationBaseMode.cpp; sourceTree = ""; }; - 0115A5DD1DBF93BA00C51732 /* ApplicationBaseMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ApplicationBaseMode.h; sourceTree = ""; }; - 0115A5DE1DBF93BA00C51732 /* PresentationMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PresentationMode.cpp; sourceTree = ""; }; - 0115A5DF1DBF93BA00C51732 /* PresentationMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PresentationMode.h; sourceTree = ""; }; - 0115A5E01DBF93BA00C51732 /* ProjectionMappingMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ProjectionMappingMode.cpp; sourceTree = ""; }; - 0115A5E11DBF93BA00C51732 /* ProjectionMappingMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProjectionMappingMode.h; sourceTree = ""; }; - 0115A5E21DBF93BA00C51732 /* SourceSelectionMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SourceSelectionMode.cpp; sourceTree = ""; }; - 0115A5E31DBF93BA00C51732 /* SourceSelectionMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SourceSelectionMode.h; sourceTree = ""; }; - 0115A5E41DBF93BA00C51732 /* TextureMappingMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextureMappingMode.cpp; sourceTree = ""; }; - 0115A5E51DBF93BA00C51732 /* TextureMappingMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextureMappingMode.h; sourceTree = ""; }; - 0115A5E61DBF93BA00C51732 /* SettingsLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SettingsLoader.cpp; sourceTree = ""; }; - 0115A5E71DBF93BA00C51732 /* SettingsLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SettingsLoader.h; sourceTree = ""; }; - 0115A6311DBF93BA00C51732 /* Gui.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Gui.cpp; sourceTree = ""; }; - 0115A6321DBF93BA00C51732 /* Gui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Gui.h; sourceTree = ""; }; - 0115A6341DBF93BA00C51732 /* GuiBaseWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GuiBaseWidget.h; sourceTree = ""; }; - 0115A6351DBF93BA00C51732 /* LayerPanelWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LayerPanelWidget.cpp; sourceTree = ""; }; - 0115A6361DBF93BA00C51732 /* LayerPanelWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LayerPanelWidget.h; sourceTree = ""; }; - 0115A6371DBF93BA00C51732 /* ProjectionEditorWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ProjectionEditorWidget.cpp; sourceTree = ""; }; - 0115A6381DBF93BA00C51732 /* ProjectionEditorWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProjectionEditorWidget.h; sourceTree = ""; }; - 0115A6391DBF93BA00C51732 /* ScaleWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScaleWidget.cpp; sourceTree = ""; }; - 0115A63A1DBF93BA00C51732 /* ScaleWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScaleWidget.h; sourceTree = ""; }; - 0115A63B1DBF93BA00C51732 /* SourcesEditorWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SourcesEditorWidget.cpp; sourceTree = ""; }; - 0115A63C1DBF93BA00C51732 /* SourcesEditorWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SourcesEditorWidget.h; sourceTree = ""; }; - 0115A63D1DBF93BA00C51732 /* SurfaceHighlightWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceHighlightWidget.cpp; sourceTree = ""; }; - 0115A63E1DBF93BA00C51732 /* SurfaceHighlightWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurfaceHighlightWidget.h; sourceTree = ""; }; - 0115A6411DBF93BA00C51732 /* TextureEditorWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextureEditorWidget.cpp; sourceTree = ""; }; - 0115A6421DBF93BA00C51732 /* TextureEditorWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextureEditorWidget.h; sourceTree = ""; }; - 0115A6431DBF93BA00C51732 /* TextureHighlightWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextureHighlightWidget.cpp; sourceTree = ""; }; - 0115A6441DBF93BA00C51732 /* TextureHighlightWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextureHighlightWidget.h; sourceTree = ""; }; - 0115A6461DBF93BA00C51732 /* Info.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Info.cpp; sourceTree = ""; }; - 0115A6471DBF93BA00C51732 /* Info.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Info.h; sourceTree = ""; }; - 0115A6491DBF93BA00C51732 /* DirectoryWatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DirectoryWatcher.cpp; sourceTree = ""; }; - 0115A64A1DBF93BA00C51732 /* DirectoryWatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DirectoryWatcher.h; sourceTree = ""; }; - 0115A64B1DBF93BA00C51732 /* MediaServer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaServer.cpp; sourceTree = ""; }; - 0115A64C1DBF93BA00C51732 /* MediaServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaServer.h; sourceTree = ""; }; - 0115A64D1DBF93BA00C51732 /* ofxPiMapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxPiMapper.cpp; sourceTree = ""; }; - 0115A64E1DBF93BA00C51732 /* ofxPiMapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxPiMapper.h; sourceTree = ""; }; - 0115A6501DBF93BA00C51732 /* BaseSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BaseSource.cpp; sourceTree = ""; }; - 0115A6511DBF93BA00C51732 /* BaseSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseSource.h; sourceTree = ""; }; - 0115A6521DBF93BA00C51732 /* FboSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FboSource.cpp; sourceTree = ""; }; - 0115A6531DBF93BA00C51732 /* FboSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FboSource.h; sourceTree = ""; }; - 0115A6541DBF93BA00C51732 /* ImageSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageSource.cpp; sourceTree = ""; }; - 0115A6551DBF93BA00C51732 /* ImageSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageSource.h; sourceTree = ""; }; - 0115A6561DBF93BA00C51732 /* OMXPlayerCache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OMXPlayerCache.cpp; sourceTree = ""; }; - 0115A6571DBF93BA00C51732 /* OMXPlayerCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OMXPlayerCache.h; sourceTree = ""; }; - 0115A6581DBF93BA00C51732 /* SourceType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SourceType.h; sourceTree = ""; }; - 0115A6591DBF93BA00C51732 /* VideoSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VideoSource.cpp; sourceTree = ""; }; - 0115A65A1DBF93BA00C51732 /* VideoSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VideoSource.h; sourceTree = ""; }; - 0115A65C1DBF93BA00C51732 /* BaseSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BaseSurface.cpp; sourceTree = ""; }; - 0115A65D1DBF93BA00C51732 /* BaseSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseSurface.h; sourceTree = ""; }; - 0115A65E1DBF93BA00C51732 /* GridWarpSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GridWarpSurface.cpp; sourceTree = ""; }; - 0115A65F1DBF93BA00C51732 /* GridWarpSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GridWarpSurface.h; sourceTree = ""; }; - 0115A6601DBF93BA00C51732 /* HexagonSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HexagonSurface.cpp; sourceTree = ""; }; - 0115A6611DBF93BA00C51732 /* HexagonSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HexagonSurface.h; sourceTree = ""; }; - 0115A6621DBF93BA00C51732 /* QuadSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = QuadSurface.cpp; sourceTree = ""; }; - 0115A6631DBF93BA00C51732 /* QuadSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QuadSurface.h; sourceTree = ""; }; - 0115A6641DBF93BA00C51732 /* SurfaceFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceFactory.cpp; sourceTree = ""; }; - 0115A6651DBF93BA00C51732 /* SurfaceFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurfaceFactory.h; sourceTree = ""; }; - 0115A6661DBF93BA00C51732 /* SurfaceManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceManager.cpp; sourceTree = ""; }; - 0115A6671DBF93BA00C51732 /* SurfaceManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurfaceManager.h; sourceTree = ""; }; - 0115A6681DBF93BA00C51732 /* SurfaceStack.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceStack.cpp; sourceTree = ""; }; - 0115A6691DBF93BA00C51732 /* SurfaceStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurfaceStack.h; sourceTree = ""; }; - 0115A66A1DBF93BA00C51732 /* SurfaceType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurfaceType.h; sourceTree = ""; }; - 0115A66B1DBF93BA00C51732 /* TriangleSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TriangleSurface.cpp; sourceTree = ""; }; - 0115A66C1DBF93BA00C51732 /* TriangleSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TriangleSurface.h; sourceTree = ""; }; - 0115A66E1DBF93BA00C51732 /* BaseJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BaseJoint.cpp; sourceTree = ""; }; - 0115A66F1DBF93BA00C51732 /* BaseJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseJoint.h; sourceTree = ""; }; - 0115A6701DBF93BA00C51732 /* CircleJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CircleJoint.cpp; sourceTree = ""; }; - 0115A6711DBF93BA00C51732 /* CircleJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CircleJoint.h; sourceTree = ""; }; - 0115A6721DBF93BA00C51732 /* EditorType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EditorType.h; sourceTree = ""; }; - 0115A6731DBF93BA00C51732 /* GuiMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GuiMode.h; sourceTree = ""; }; - 0115A6741DBF93BA00C51732 /* RadioList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RadioList.cpp; sourceTree = ""; }; - 0115A6751DBF93BA00C51732 /* RadioList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RadioList.h; sourceTree = ""; }; - 0115A6771DBF93BA00C51732 /* HomographyHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HomographyHelper.cpp; sourceTree = ""; }; - 0115A6781DBF93BA00C51732 /* HomographyHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomographyHelper.h; sourceTree = ""; }; - 0166303D1DC66DAB0081F28F /* AddGridColCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AddGridColCmd.cpp; sourceTree = ""; }; - 0166303E1DC66DAB0081F28F /* AddGridColCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AddGridColCmd.h; sourceTree = ""; }; - 0166303F1DC66DAB0081F28F /* AddGridRowCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AddGridRowCmd.cpp; sourceTree = ""; }; - 016630401DC66DAB0081F28F /* AddGridRowCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AddGridRowCmd.h; sourceTree = ""; }; - 016630411DC66DAB0081F28F /* AddSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AddSurfaceCmd.cpp; sourceTree = ""; }; - 016630421DC66DAB0081F28F /* AddSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AddSurfaceCmd.h; sourceTree = ""; }; - 016630431DC66DAB0081F28F /* BaseCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseCmd.h; sourceTree = ""; }; - 016630441DC66DAB0081F28F /* ClearSurfacesCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ClearSurfacesCmd.cpp; sourceTree = ""; }; - 016630451DC66DAB0081F28F /* ClearSurfacesCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ClearSurfacesCmd.h; sourceTree = ""; }; - 016630461DC66DAB0081F28F /* CmdManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CmdManager.cpp; sourceTree = ""; }; - 016630471DC66DAB0081F28F /* CmdManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CmdManager.h; sourceTree = ""; }; - 016630481DC66DAB0081F28F /* DeselectSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeselectSurfaceCmd.cpp; sourceTree = ""; }; - 016630491DC66DAB0081F28F /* DeselectSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeselectSurfaceCmd.h; sourceTree = ""; }; - 0166304A1DC66DAB0081F28F /* DeselectTexCoordCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeselectTexCoordCmd.cpp; sourceTree = ""; }; - 0166304B1DC66DAB0081F28F /* DeselectTexCoordCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeselectTexCoordCmd.h; sourceTree = ""; }; - 0166304C1DC66DAB0081F28F /* DuplicateSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DuplicateSurfaceCmd.cpp; sourceTree = ""; }; - 0166304D1DC66DAB0081F28F /* DuplicateSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DuplicateSurfaceCmd.h; sourceTree = ""; }; - 0166304E1DC66DAB0081F28F /* MvAllTexCoordsCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvAllTexCoordsCmd.cpp; sourceTree = ""; }; - 0166304F1DC66DAB0081F28F /* MvAllTexCoordsCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvAllTexCoordsCmd.h; sourceTree = ""; }; - 016630501DC66DAB0081F28F /* MvLayerDnCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvLayerDnCmd.cpp; sourceTree = ""; }; - 016630511DC66DAB0081F28F /* MvLayerDnCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvLayerDnCmd.h; sourceTree = ""; }; - 016630521DC66DAB0081F28F /* MvLayerUpCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvLayerUpCmd.cpp; sourceTree = ""; }; - 016630531DC66DAB0081F28F /* MvLayerUpCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvLayerUpCmd.h; sourceTree = ""; }; - 016630541DC66DAB0081F28F /* MvSelectionCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvSelectionCmd.cpp; sourceTree = ""; }; - 016630551DC66DAB0081F28F /* MvSelectionCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvSelectionCmd.h; sourceTree = ""; }; - 016630561DC66DAB0081F28F /* MvSurfaceVertCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvSurfaceVertCmd.cpp; sourceTree = ""; }; - 016630571DC66DAB0081F28F /* MvSurfaceVertCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvSurfaceVertCmd.h; sourceTree = ""; }; - 016630581DC66DAB0081F28F /* MvTexCoordCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvTexCoordCmd.cpp; sourceTree = ""; }; - 016630591DC66DAB0081F28F /* MvTexCoordCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvTexCoordCmd.h; sourceTree = ""; }; - 0166305A1DC66DAB0081F28F /* RmGridColCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RmGridColCmd.cpp; sourceTree = ""; }; - 0166305B1DC66DAB0081F28F /* RmGridColCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RmGridColCmd.h; sourceTree = ""; }; - 0166305C1DC66DAB0081F28F /* RmGridRowCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RmGridRowCmd.cpp; sourceTree = ""; }; - 0166305D1DC66DAB0081F28F /* RmGridRowCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RmGridRowCmd.h; sourceTree = ""; }; - 0166305E1DC66DAB0081F28F /* RmSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RmSurfaceCmd.cpp; sourceTree = ""; }; - 0166305F1DC66DAB0081F28F /* RmSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RmSurfaceCmd.h; sourceTree = ""; }; - 016630601DC66DAB0081F28F /* SaveTexCoordPosCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SaveTexCoordPosCmd.cpp; sourceTree = ""; }; - 016630611DC66DAB0081F28F /* SaveTexCoordPosCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SaveTexCoordPosCmd.h; sourceTree = ""; }; - 016630621DC66DAB0081F28F /* ScaleSurfaceFromToCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScaleSurfaceFromToCmd.cpp; sourceTree = ""; }; - 016630631DC66DAB0081F28F /* ScaleSurfaceFromToCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScaleSurfaceFromToCmd.h; sourceTree = ""; }; - 016630641DC66DAB0081F28F /* SelNextSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelNextSurfaceCmd.cpp; sourceTree = ""; }; - 016630651DC66DAB0081F28F /* SelNextSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelNextSurfaceCmd.h; sourceTree = ""; }; - 016630661DC66DAB0081F28F /* SelNextTexCoordCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelNextTexCoordCmd.cpp; sourceTree = ""; }; - 016630671DC66DAB0081F28F /* SelNextTexCoordCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelNextTexCoordCmd.h; sourceTree = ""; }; - 016630681DC66DAB0081F28F /* SelNextVertexCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelNextVertexCmd.cpp; sourceTree = ""; }; - 016630691DC66DAB0081F28F /* SelNextVertexCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelNextVertexCmd.h; sourceTree = ""; }; - 0166306A1DC66DAB0081F28F /* SelPrevSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelPrevSurfaceCmd.cpp; sourceTree = ""; }; - 0166306B1DC66DAB0081F28F /* SelPrevSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelPrevSurfaceCmd.h; sourceTree = ""; }; - 0166306C1DC66DAB0081F28F /* SelPrevTexCoordCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelPrevTexCoordCmd.cpp; sourceTree = ""; }; - 0166306D1DC66DAB0081F28F /* SelPrevTexCoordCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelPrevTexCoordCmd.h; sourceTree = ""; }; - 0166306E1DC66DAB0081F28F /* SelPrevVertexCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelPrevVertexCmd.cpp; sourceTree = ""; }; - 0166306F1DC66DAB0081F28F /* SelPrevVertexCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelPrevVertexCmd.h; sourceTree = ""; }; - 016630701DC66DAB0081F28F /* SelSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelSurfaceCmd.cpp; sourceTree = ""; }; - 016630711DC66DAB0081F28F /* SelSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelSurfaceCmd.h; sourceTree = ""; }; - 016630721DC66DAB0081F28F /* SelTexCoordCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelTexCoordCmd.cpp; sourceTree = ""; }; - 016630731DC66DAB0081F28F /* SelTexCoordCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelTexCoordCmd.h; sourceTree = ""; }; - 016630741DC66DAB0081F28F /* SelVertexCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelVertexCmd.cpp; sourceTree = ""; }; - 016630751DC66DAB0081F28F /* SelVertexCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelVertexCmd.h; sourceTree = ""; }; - 016630761DC66DAB0081F28F /* SetApplicationModeCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetApplicationModeCmd.cpp; sourceTree = ""; }; - 016630771DC66DAB0081F28F /* SetApplicationModeCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetApplicationModeCmd.h; sourceTree = ""; }; - 016630781DC66DAB0081F28F /* SetNextSourceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetNextSourceCmd.cpp; sourceTree = ""; }; - 016630791DC66DAB0081F28F /* SetNextSourceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetNextSourceCmd.h; sourceTree = ""; }; - 0166307A1DC66DAB0081F28F /* SetPresetCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetPresetCmd.cpp; sourceTree = ""; }; - 0166307B1DC66DAB0081F28F /* SetPresetCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetPresetCmd.h; sourceTree = ""; }; - 0166307C1DC66DAB0081F28F /* SetSourceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetSourceCmd.cpp; sourceTree = ""; }; - 0166307D1DC66DAB0081F28F /* SetSourceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetSourceCmd.h; sourceTree = ""; }; - 0166307E1DC66DAB0081F28F /* SetTexMapDrawModeCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetTexMapDrawModeCmd.cpp; sourceTree = ""; }; - 0166307F1DC66DAB0081F28F /* SetTexMapDrawModeCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetTexMapDrawModeCmd.h; sourceTree = ""; }; - 016630801DC66DAB0081F28F /* StartDragSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StartDragSurfaceCmd.cpp; sourceTree = ""; }; - 016630811DC66DAB0081F28F /* StartDragSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StartDragSurfaceCmd.h; sourceTree = ""; }; - 016630821DC66DAB0081F28F /* ToggleAnimatedSourceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ToggleAnimatedSourceCmd.cpp; sourceTree = ""; }; - 016630831DC66DAB0081F28F /* ToggleAnimatedSourceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ToggleAnimatedSourceCmd.h; sourceTree = ""; }; - 016630841DC66DAB0081F28F /* TogglePerspectiveCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TogglePerspectiveCmd.cpp; sourceTree = ""; }; - 016630851DC66DAB0081F28F /* TogglePerspectiveCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TogglePerspectiveCmd.h; sourceTree = ""; }; - 016630861DC66DAB0081F28F /* TranslateCanvasCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TranslateCanvasCmd.cpp; sourceTree = ""; }; - 016630871DC66DAB0081F28F /* TranslateCanvasCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TranslateCanvasCmd.h; sourceTree = ""; }; + 010E92DE1FEEEE8D0015B02B /* Vec2.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Vec2.cpp; sourceTree = ""; }; + 010E92DF1FEEEE8D0015B02B /* Vec2.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Vec2.h; sourceTree = ""; }; + 010E92E01FEEEE8D0015B02B /* Vec3.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Vec3.cpp; sourceTree = ""; }; + 010E92E11FEEEE8D0015B02B /* Vec3.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Vec3.h; sourceTree = ""; }; + 01372D681FF2E7B4006D41AC /* ofxToggle.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxToggle.cpp; sourceTree = ""; }; + 01372D691FF2E7B4006D41AC /* ofxButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxButton.h; sourceTree = ""; }; + 01372D6A1FF2E7B4006D41AC /* ofxSliderGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxSliderGroup.h; sourceTree = ""; }; + 01372D6B1FF2E7B4006D41AC /* ofxBaseGui.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxBaseGui.cpp; sourceTree = ""; }; + 01372D6C1FF2E7B4006D41AC /* ofxColorPicker.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxColorPicker.h; sourceTree = ""; }; + 01372D6D1FF2E7B4006D41AC /* ofxInputField.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxInputField.h; sourceTree = ""; }; + 01372D6E1FF2E7B4006D41AC /* ofxPanel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxPanel.cpp; sourceTree = ""; }; + 01372D6F1FF2E7B4006D41AC /* ofxGui.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxGui.h; sourceTree = ""; }; + 01372D701FF2E7B4006D41AC /* ofxPanel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxPanel.h; sourceTree = ""; }; + 01372D711FF2E7B4006D41AC /* ofxSlider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxSlider.h; sourceTree = ""; }; + 01372D721FF2E7B4006D41AC /* ofxGuiGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxGuiGroup.h; sourceTree = ""; }; + 01372D731FF2E7B4006D41AC /* ofxSliderGroup.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSliderGroup.cpp; sourceTree = ""; }; + 01372D741FF2E7B4006D41AC /* ofxToggle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxToggle.h; sourceTree = ""; }; + 01372D751FF2E7B4006D41AC /* ofxButton.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxButton.cpp; sourceTree = ""; }; + 01372D761FF2E7B4006D41AC /* ofxBaseGui.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxBaseGui.h; sourceTree = ""; }; + 01372D771FF2E7B4006D41AC /* ofxGuiGroup.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxGuiGroup.cpp; sourceTree = ""; }; + 01372D781FF2E7B4006D41AC /* ofxColorPicker.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxColorPicker.cpp; sourceTree = ""; }; + 01372D791FF2E7B4006D41AC /* ofxLabel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxLabel.cpp; sourceTree = ""; }; + 01372D7A1FF2E7B4006D41AC /* ofxInputField.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxInputField.cpp; sourceTree = ""; }; + 01372D7B1FF2E7B5006D41AC /* ofxSlider.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSlider.cpp; sourceTree = ""; }; + 01372D7C1FF2E7B5006D41AC /* ofxLabel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxLabel.h; sourceTree = ""; }; + 01815DE01FE7D53700C35E93 /* Application.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Application.cpp; sourceTree = ""; }; + 01815DE11FE7D53700C35E93 /* Application.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Application.h; sourceTree = ""; }; + 01815DE31FE7D53700C35E93 /* ApplicationBaseMode.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ApplicationBaseMode.cpp; sourceTree = ""; }; + 01815DE41FE7D53700C35E93 /* ApplicationBaseMode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ApplicationBaseMode.h; sourceTree = ""; }; + 01815DE51FE7D53700C35E93 /* PresentationMode.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = PresentationMode.cpp; sourceTree = ""; }; + 01815DE61FE7D53700C35E93 /* PresentationMode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PresentationMode.h; sourceTree = ""; }; + 01815DE71FE7D53700C35E93 /* ProjectionMappingMode.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ProjectionMappingMode.cpp; sourceTree = ""; }; + 01815DE81FE7D53700C35E93 /* ProjectionMappingMode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ProjectionMappingMode.h; sourceTree = ""; }; + 01815DE91FE7D53700C35E93 /* SourceSelectionMode.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SourceSelectionMode.cpp; sourceTree = ""; }; + 01815DEA1FE7D53700C35E93 /* SourceSelectionMode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SourceSelectionMode.h; sourceTree = ""; }; + 01815DEB1FE7D53700C35E93 /* TextureMappingMode.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TextureMappingMode.cpp; sourceTree = ""; }; + 01815DEC1FE7D53700C35E93 /* TextureMappingMode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TextureMappingMode.h; sourceTree = ""; }; + 01815DED1FE7D53700C35E93 /* SettingsLoader.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SettingsLoader.cpp; sourceTree = ""; }; + 01815DEE1FE7D53700C35E93 /* SettingsLoader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SettingsLoader.h; sourceTree = ""; }; + 01815DF01FE7D53700C35E93 /* AddGridColCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = AddGridColCmd.cpp; sourceTree = ""; }; + 01815DF11FE7D53700C35E93 /* AddGridColCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AddGridColCmd.h; sourceTree = ""; }; + 01815DF21FE7D53700C35E93 /* AddGridRowCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = AddGridRowCmd.cpp; sourceTree = ""; }; + 01815DF31FE7D53700C35E93 /* AddGridRowCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AddGridRowCmd.h; sourceTree = ""; }; + 01815DF41FE7D53700C35E93 /* AddSurfaceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = AddSurfaceCmd.cpp; sourceTree = ""; }; + 01815DF51FE7D53700C35E93 /* AddSurfaceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AddSurfaceCmd.h; sourceTree = ""; }; + 01815DF61FE7D53700C35E93 /* BaseCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BaseCmd.h; sourceTree = ""; }; + 01815DF71FE7D53700C35E93 /* ClearSurfacesCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ClearSurfacesCmd.cpp; sourceTree = ""; }; + 01815DF81FE7D53700C35E93 /* ClearSurfacesCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ClearSurfacesCmd.h; sourceTree = ""; }; + 01815DF91FE7D53700C35E93 /* CmdManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = CmdManager.cpp; sourceTree = ""; }; + 01815DFA1FE7D53700C35E93 /* CmdManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CmdManager.h; sourceTree = ""; }; + 01815DFB1FE7D53700C35E93 /* DeselectSurfaceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = DeselectSurfaceCmd.cpp; sourceTree = ""; }; + 01815DFC1FE7D53700C35E93 /* DeselectSurfaceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DeselectSurfaceCmd.h; sourceTree = ""; }; + 01815DFD1FE7D53700C35E93 /* DeselectTexCoordCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = DeselectTexCoordCmd.cpp; sourceTree = ""; }; + 01815DFE1FE7D53700C35E93 /* DeselectTexCoordCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DeselectTexCoordCmd.h; sourceTree = ""; }; + 01815DFF1FE7D53700C35E93 /* DuplicateSurfaceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = DuplicateSurfaceCmd.cpp; sourceTree = ""; }; + 01815E001FE7D53700C35E93 /* DuplicateSurfaceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DuplicateSurfaceCmd.h; sourceTree = ""; }; + 01815E011FE7D53700C35E93 /* MvAllTexCoordsCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MvAllTexCoordsCmd.cpp; sourceTree = ""; }; + 01815E021FE7D53700C35E93 /* MvAllTexCoordsCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MvAllTexCoordsCmd.h; sourceTree = ""; }; + 01815E031FE7D53700C35E93 /* MvLayerDnCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MvLayerDnCmd.cpp; sourceTree = ""; }; + 01815E041FE7D53700C35E93 /* MvLayerDnCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MvLayerDnCmd.h; sourceTree = ""; }; + 01815E051FE7D53700C35E93 /* MvLayerUpCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MvLayerUpCmd.cpp; sourceTree = ""; }; + 01815E061FE7D53700C35E93 /* MvLayerUpCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MvLayerUpCmd.h; sourceTree = ""; }; + 01815E071FE7D53700C35E93 /* MvSelectionCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MvSelectionCmd.cpp; sourceTree = ""; }; + 01815E081FE7D53700C35E93 /* MvSelectionCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MvSelectionCmd.h; sourceTree = ""; }; + 01815E091FE7D53700C35E93 /* MvSurfaceVertCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MvSurfaceVertCmd.cpp; sourceTree = ""; }; + 01815E0A1FE7D53700C35E93 /* MvSurfaceVertCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MvSurfaceVertCmd.h; sourceTree = ""; }; + 01815E0B1FE7D53700C35E93 /* MvTexCoordCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MvTexCoordCmd.cpp; sourceTree = ""; }; + 01815E0C1FE7D53700C35E93 /* MvTexCoordCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MvTexCoordCmd.h; sourceTree = ""; }; + 01815E0D1FE7D53700C35E93 /* RmGridColCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RmGridColCmd.cpp; sourceTree = ""; }; + 01815E0E1FE7D53700C35E93 /* RmGridColCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RmGridColCmd.h; sourceTree = ""; }; + 01815E0F1FE7D53700C35E93 /* RmGridRowCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RmGridRowCmd.cpp; sourceTree = ""; }; + 01815E101FE7D53700C35E93 /* RmGridRowCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RmGridRowCmd.h; sourceTree = ""; }; + 01815E111FE7D53700C35E93 /* RmSurfaceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RmSurfaceCmd.cpp; sourceTree = ""; }; + 01815E121FE7D53700C35E93 /* RmSurfaceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RmSurfaceCmd.h; sourceTree = ""; }; + 01815E131FE7D53700C35E93 /* SaveTexCoordPosCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SaveTexCoordPosCmd.cpp; sourceTree = ""; }; + 01815E141FE7D53700C35E93 /* SaveTexCoordPosCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SaveTexCoordPosCmd.h; sourceTree = ""; }; + 01815E151FE7D53700C35E93 /* ScaleSurfaceFromToCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ScaleSurfaceFromToCmd.cpp; sourceTree = ""; }; + 01815E161FE7D53700C35E93 /* ScaleSurfaceFromToCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ScaleSurfaceFromToCmd.h; sourceTree = ""; }; + 01815E171FE7D53700C35E93 /* SelNextSurfaceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SelNextSurfaceCmd.cpp; sourceTree = ""; }; + 01815E181FE7D53700C35E93 /* SelNextSurfaceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SelNextSurfaceCmd.h; sourceTree = ""; }; + 01815E191FE7D53700C35E93 /* SelNextTexCoordCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SelNextTexCoordCmd.cpp; sourceTree = ""; }; + 01815E1A1FE7D53700C35E93 /* SelNextTexCoordCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SelNextTexCoordCmd.h; sourceTree = ""; }; + 01815E1B1FE7D53700C35E93 /* SelNextVertexCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SelNextVertexCmd.cpp; sourceTree = ""; }; + 01815E1C1FE7D53700C35E93 /* SelNextVertexCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SelNextVertexCmd.h; sourceTree = ""; }; + 01815E1D1FE7D53700C35E93 /* SelPrevSurfaceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SelPrevSurfaceCmd.cpp; sourceTree = ""; }; + 01815E1E1FE7D53700C35E93 /* SelPrevSurfaceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SelPrevSurfaceCmd.h; sourceTree = ""; }; + 01815E1F1FE7D53700C35E93 /* SelPrevTexCoordCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SelPrevTexCoordCmd.cpp; sourceTree = ""; }; + 01815E201FE7D53700C35E93 /* SelPrevTexCoordCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SelPrevTexCoordCmd.h; sourceTree = ""; }; + 01815E211FE7D53700C35E93 /* SelPrevVertexCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SelPrevVertexCmd.cpp; sourceTree = ""; }; + 01815E221FE7D53700C35E93 /* SelPrevVertexCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SelPrevVertexCmd.h; sourceTree = ""; }; + 01815E231FE7D53700C35E93 /* SelSurfaceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SelSurfaceCmd.cpp; sourceTree = ""; }; + 01815E241FE7D53700C35E93 /* SelSurfaceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SelSurfaceCmd.h; sourceTree = ""; }; + 01815E251FE7D53700C35E93 /* SelTexCoordCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SelTexCoordCmd.cpp; sourceTree = ""; }; + 01815E261FE7D53700C35E93 /* SelTexCoordCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SelTexCoordCmd.h; sourceTree = ""; }; + 01815E271FE7D53700C35E93 /* SelVertexCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SelVertexCmd.cpp; sourceTree = ""; }; + 01815E281FE7D53700C35E93 /* SelVertexCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SelVertexCmd.h; sourceTree = ""; }; + 01815E291FE7D53700C35E93 /* SetApplicationModeCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SetApplicationModeCmd.cpp; sourceTree = ""; }; + 01815E2A1FE7D53700C35E93 /* SetApplicationModeCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SetApplicationModeCmd.h; sourceTree = ""; }; + 01815E2B1FE7D53700C35E93 /* SetNextSourceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SetNextSourceCmd.cpp; sourceTree = ""; }; + 01815E2C1FE7D53700C35E93 /* SetNextSourceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SetNextSourceCmd.h; sourceTree = ""; }; + 01815E2D1FE7D53700C35E93 /* SetPresetCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SetPresetCmd.cpp; sourceTree = ""; }; + 01815E2E1FE7D53700C35E93 /* SetPresetCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SetPresetCmd.h; sourceTree = ""; }; + 01815E2F1FE7D53700C35E93 /* SetSourceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SetSourceCmd.cpp; sourceTree = ""; }; + 01815E301FE7D53700C35E93 /* SetSourceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SetSourceCmd.h; sourceTree = ""; }; + 01815E311FE7D53700C35E93 /* SetTexMapDrawModeCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SetTexMapDrawModeCmd.cpp; sourceTree = ""; }; + 01815E321FE7D53700C35E93 /* SetTexMapDrawModeCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SetTexMapDrawModeCmd.h; sourceTree = ""; }; + 01815E331FE7D53700C35E93 /* StartDragSurfaceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = StartDragSurfaceCmd.cpp; sourceTree = ""; }; + 01815E341FE7D53700C35E93 /* StartDragSurfaceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StartDragSurfaceCmd.h; sourceTree = ""; }; + 01815E351FE7D53700C35E93 /* ToggleAnimatedSourceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ToggleAnimatedSourceCmd.cpp; sourceTree = ""; }; + 01815E361FE7D53700C35E93 /* ToggleAnimatedSourceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ToggleAnimatedSourceCmd.h; sourceTree = ""; }; + 01815E371FE7D53700C35E93 /* TogglePerspectiveCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TogglePerspectiveCmd.cpp; sourceTree = ""; }; + 01815E381FE7D53700C35E93 /* TogglePerspectiveCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TogglePerspectiveCmd.h; sourceTree = ""; }; + 01815E391FE7D53700C35E93 /* TranslateCanvasCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TranslateCanvasCmd.cpp; sourceTree = ""; }; + 01815E3A1FE7D53700C35E93 /* TranslateCanvasCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TranslateCanvasCmd.h; sourceTree = ""; }; + 01815E3C1FE7D53700C35E93 /* Gui.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Gui.cpp; sourceTree = ""; }; + 01815E3D1FE7D53700C35E93 /* Gui.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Gui.h; sourceTree = ""; }; + 01815E3F1FE7D53700C35E93 /* GuiBaseWidget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GuiBaseWidget.h; sourceTree = ""; }; + 01815E401FE7D53700C35E93 /* LayerPanelWidget.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = LayerPanelWidget.cpp; sourceTree = ""; }; + 01815E411FE7D53700C35E93 /* LayerPanelWidget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LayerPanelWidget.h; sourceTree = ""; }; + 01815E421FE7D53700C35E93 /* ProjectionEditorWidget.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ProjectionEditorWidget.cpp; sourceTree = ""; }; + 01815E431FE7D53700C35E93 /* ProjectionEditorWidget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ProjectionEditorWidget.h; sourceTree = ""; }; + 01815E441FE7D53700C35E93 /* ScaleWidget.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ScaleWidget.cpp; sourceTree = ""; }; + 01815E451FE7D53700C35E93 /* ScaleWidget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ScaleWidget.h; sourceTree = ""; }; + 01815E461FE7D53700C35E93 /* SourcesEditorWidget.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SourcesEditorWidget.cpp; sourceTree = ""; }; + 01815E471FE7D53700C35E93 /* SourcesEditorWidget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SourcesEditorWidget.h; sourceTree = ""; }; + 01815E481FE7D53700C35E93 /* SurfaceHighlightWidget.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceHighlightWidget.cpp; sourceTree = ""; }; + 01815E491FE7D53700C35E93 /* SurfaceHighlightWidget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SurfaceHighlightWidget.h; sourceTree = ""; }; + 01815E4A1FE7D53700C35E93 /* TextureEditorWidget.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TextureEditorWidget.cpp; sourceTree = ""; }; + 01815E4B1FE7D53700C35E93 /* TextureEditorWidget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TextureEditorWidget.h; sourceTree = ""; }; + 01815E4C1FE7D53700C35E93 /* TextureHighlightWidget.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TextureHighlightWidget.cpp; sourceTree = ""; }; + 01815E4D1FE7D53700C35E93 /* TextureHighlightWidget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TextureHighlightWidget.h; sourceTree = ""; }; + 01815E4F1FE7D53700C35E93 /* Info.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Info.cpp; sourceTree = ""; }; + 01815E501FE7D53700C35E93 /* Info.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Info.h; sourceTree = ""; }; + 01815E521FE7D53700C35E93 /* DirectoryWatcher.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = DirectoryWatcher.cpp; sourceTree = ""; }; + 01815E531FE7D53700C35E93 /* DirectoryWatcher.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DirectoryWatcher.h; sourceTree = ""; }; + 01815E541FE7D53700C35E93 /* MediaServer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MediaServer.cpp; sourceTree = ""; }; + 01815E551FE7D53700C35E93 /* MediaServer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MediaServer.h; sourceTree = ""; }; + 01815E561FE7D53700C35E93 /* Mode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Mode.h; sourceTree = ""; }; + 01815E571FE7D53700C35E93 /* ofxPiMapper.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxPiMapper.cpp; sourceTree = ""; }; + 01815E581FE7D53700C35E93 /* ofxPiMapper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxPiMapper.h; sourceTree = ""; }; + 01815E5A1FE7D53700C35E93 /* BaseSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = BaseSource.cpp; sourceTree = ""; }; + 01815E5B1FE7D53700C35E93 /* BaseSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BaseSource.h; sourceTree = ""; }; + 01815E5C1FE7D53700C35E93 /* FboSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = FboSource.cpp; sourceTree = ""; }; + 01815E5D1FE7D53700C35E93 /* FboSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FboSource.h; sourceTree = ""; }; + 01815E5E1FE7D53700C35E93 /* ImageSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ImageSource.cpp; sourceTree = ""; }; + 01815E5F1FE7D53700C35E93 /* ImageSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ImageSource.h; sourceTree = ""; }; + 01815E601FE7D53700C35E93 /* magSlide.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = magSlide.cpp; sourceTree = ""; }; + 01815E611FE7D53700C35E93 /* magSlide.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = magSlide.h; sourceTree = ""; }; + 01815E621FE7D53700C35E93 /* magSlideShowSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = magSlideShowSource.cpp; sourceTree = ""; }; + 01815E631FE7D53700C35E93 /* magSlideShowSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = magSlideShowSource.h; sourceTree = ""; }; + 01815E641FE7D53700C35E93 /* magSlideTransition.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = magSlideTransition.cpp; sourceTree = ""; }; + 01815E651FE7D53700C35E93 /* magSlideTransition.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = magSlideTransition.h; sourceTree = ""; }; + 01815E661FE7D53700C35E93 /* magSlideTransitionFactory.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = magSlideTransitionFactory.cpp; sourceTree = ""; }; + 01815E671FE7D53700C35E93 /* magSlideTransitionFactory.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = magSlideTransitionFactory.h; sourceTree = ""; }; + 01815E681FE7D53700C35E93 /* OMXPlayerCache.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = OMXPlayerCache.cpp; sourceTree = ""; }; + 01815E691FE7D53700C35E93 /* OMXPlayerCache.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OMXPlayerCache.h; sourceTree = ""; }; + 01815E6A1FE7D53700C35E93 /* SourceType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SourceType.h; sourceTree = ""; }; + 01815E6B1FE7D53700C35E93 /* SourceTypeHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SourceTypeHelper.h; sourceTree = ""; }; + 01815E6C1FE7D53700C35E93 /* VideoSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = VideoSource.cpp; sourceTree = ""; }; + 01815E6D1FE7D53700C35E93 /* VideoSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VideoSource.h; sourceTree = ""; }; + 01815E6F1FE7D53700C35E93 /* BaseSurface.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = BaseSurface.cpp; sourceTree = ""; }; + 01815E701FE7D53700C35E93 /* BaseSurface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BaseSurface.h; sourceTree = ""; }; + 01815E711FE7D53700C35E93 /* GridWarpSurface.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GridWarpSurface.cpp; sourceTree = ""; }; + 01815E721FE7D53700C35E93 /* GridWarpSurface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GridWarpSurface.h; sourceTree = ""; }; + 01815E731FE7D53700C35E93 /* HexagonSurface.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = HexagonSurface.cpp; sourceTree = ""; }; + 01815E741FE7D53700C35E93 /* HexagonSurface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HexagonSurface.h; sourceTree = ""; }; + 01815E751FE7D53700C35E93 /* QuadSurface.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = QuadSurface.cpp; sourceTree = ""; }; + 01815E761FE7D53700C35E93 /* QuadSurface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = QuadSurface.h; sourceTree = ""; }; + 01815E771FE7D53700C35E93 /* SurfaceFactory.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceFactory.cpp; sourceTree = ""; }; + 01815E781FE7D53700C35E93 /* SurfaceFactory.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SurfaceFactory.h; sourceTree = ""; }; + 01815E791FE7D53700C35E93 /* SurfaceManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceManager.cpp; sourceTree = ""; }; + 01815E7A1FE7D53700C35E93 /* SurfaceManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SurfaceManager.h; sourceTree = ""; }; + 01815E7B1FE7D53700C35E93 /* SurfaceStack.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceStack.cpp; sourceTree = ""; }; + 01815E7C1FE7D53700C35E93 /* SurfaceStack.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SurfaceStack.h; sourceTree = ""; }; + 01815E7D1FE7D53700C35E93 /* SurfaceType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SurfaceType.h; sourceTree = ""; }; + 01815E7E1FE7D53700C35E93 /* TriangleSurface.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TriangleSurface.cpp; sourceTree = ""; }; + 01815E7F1FE7D53700C35E93 /* TriangleSurface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TriangleSurface.h; sourceTree = ""; }; + 01815E811FE7D53700C35E93 /* BaseJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = BaseJoint.cpp; sourceTree = ""; }; + 01815E821FE7D53700C35E93 /* BaseJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BaseJoint.h; sourceTree = ""; }; + 01815E831FE7D53700C35E93 /* CircleJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = CircleJoint.cpp; sourceTree = ""; }; + 01815E841FE7D53700C35E93 /* CircleJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CircleJoint.h; sourceTree = ""; }; + 01815E851FE7D53700C35E93 /* EditorType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EditorType.h; sourceTree = ""; }; + 01815E861FE7D53700C35E93 /* GuiMode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GuiMode.h; sourceTree = ""; }; + 01815E871FE7D53700C35E93 /* RadioList.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RadioList.cpp; sourceTree = ""; }; + 01815E881FE7D53700C35E93 /* RadioList.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RadioList.h; sourceTree = ""; }; + 01815E8A1FE7D53700C35E93 /* HomographyHelper.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = HomographyHelper.cpp; sourceTree = ""; }; + 01815E8B1FE7D53700C35E93 /* HomographyHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HomographyHelper.h; sourceTree = ""; }; + 01B821791FEB138A000100F2 /* CircleSurface.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = CircleSurface.cpp; sourceTree = ""; }; + 01B8217A1FEB138A000100F2 /* CircleSurface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CircleSurface.h; sourceTree = ""; }; 39264839192224DA0008A7F5 /* ofxXmlSettings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ofxXmlSettings.cpp; path = ../../ofxXmlSettings/src/ofxXmlSettings.cpp; sourceTree = ""; }; 3926483A192224DA0008A7F5 /* ofxXmlSettings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ofxXmlSettings.h; path = ../../ofxXmlSettings/src/ofxXmlSettings.h; sourceTree = ""; }; 3926483D192224F90008A7F5 /* tinyxml.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tinyxml.cpp; sourceTree = ""; }; 3926483E192224F90008A7F5 /* tinyxml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tinyxml.h; sourceTree = ""; }; 3926483F192224F90008A7F5 /* tinyxmlerror.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tinyxmlerror.cpp; sourceTree = ""; }; 39264840192224F90008A7F5 /* tinyxmlparser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tinyxmlparser.cpp; sourceTree = ""; }; - 3933D5C219BB87BD000ACA55 /* ofxBaseGui.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxBaseGui.cpp; sourceTree = ""; }; - 3933D5C319BB87BD000ACA55 /* ofxBaseGui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxBaseGui.h; sourceTree = ""; }; - 3933D5C419BB87BD000ACA55 /* ofxButton.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxButton.cpp; sourceTree = ""; }; - 3933D5C519BB87BD000ACA55 /* ofxButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxButton.h; sourceTree = ""; }; - 3933D5C619BB87BD000ACA55 /* ofxGui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxGui.h; sourceTree = ""; }; - 3933D5C719BB87BD000ACA55 /* ofxGuiGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxGuiGroup.cpp; sourceTree = ""; }; - 3933D5C819BB87BD000ACA55 /* ofxGuiGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxGuiGroup.h; sourceTree = ""; }; - 3933D5C919BB87BD000ACA55 /* ofxLabel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxLabel.cpp; sourceTree = ""; }; - 3933D5CA19BB87BD000ACA55 /* ofxLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxLabel.h; sourceTree = ""; }; - 3933D5CB19BB87BD000ACA55 /* ofxPanel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxPanel.cpp; sourceTree = ""; }; - 3933D5CC19BB87BD000ACA55 /* ofxPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxPanel.h; sourceTree = ""; }; - 3933D5CD19BB87BD000ACA55 /* ofxSlider.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSlider.cpp; sourceTree = ""; }; - 3933D5CE19BB87BD000ACA55 /* ofxSlider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxSlider.h; sourceTree = ""; }; - 3933D5CF19BB87BD000ACA55 /* ofxSliderGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSliderGroup.cpp; sourceTree = ""; }; - 3933D5D019BB87BD000ACA55 /* ofxSliderGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxSliderGroup.h; sourceTree = ""; }; - 3933D5D119BB87BD000ACA55 /* ofxToggle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxToggle.cpp; sourceTree = ""; }; - 3933D5D219BB87BD000ACA55 /* ofxToggle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxToggle.h; sourceTree = ""; }; 397EFC801A09047C0009286E /* CustomSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CustomSource.cpp; sourceTree = ""; }; 397EFC811A09047C0009286E /* CustomSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CustomSource.h; sourceTree = ""; }; 3995C2081C79069B00123352 /* Settings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Settings.h; sourceTree = ""; }; @@ -379,255 +407,278 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 0115A5D71DBF93BA00C51732 /* src */ = { + 010E92DD1FEEEE8D0015B02B /* Types */ = { isa = PBXGroup; children = ( - 0115A5D81DBF93BA00C51732 /* Application */, - 0166303C1DC66DAB0081F28F /* Commands */, - 0115A6301DBF93BA00C51732 /* Gui */, - 0115A6451DBF93BA00C51732 /* Info */, - 0115A6481DBF93BA00C51732 /* MediaServer */, - 0115A64D1DBF93BA00C51732 /* ofxPiMapper.cpp */, - 0115A64E1DBF93BA00C51732 /* ofxPiMapper.h */, - 0100D9401E33E667000D7FA5 /* Mode.h */, - 0115A64F1DBF93BA00C51732 /* Sources */, - 0115A65B1DBF93BA00C51732 /* Surfaces */, - 0115A66D1DBF93BA00C51732 /* UserInterface */, - 0115A6761DBF93BA00C51732 /* Utils */, + 010E92DE1FEEEE8D0015B02B /* Vec2.cpp */, + 010E92DF1FEEEE8D0015B02B /* Vec2.h */, + 010E92E01FEEEE8D0015B02B /* Vec3.cpp */, + 010E92E11FEEEE8D0015B02B /* Vec3.h */, + ); + path = Types; + sourceTree = ""; + }; + 01815DDE1FE7D53700C35E93 /* src */ = { + isa = PBXGroup; + children = ( + 01815DDF1FE7D53700C35E93 /* Application */, + 01815DEF1FE7D53700C35E93 /* Commands */, + 01815E3B1FE7D53700C35E93 /* Gui */, + 01815E4E1FE7D53700C35E93 /* Info */, + 01815E511FE7D53700C35E93 /* MediaServer */, + 01815E561FE7D53700C35E93 /* Mode.h */, + 01815E571FE7D53700C35E93 /* ofxPiMapper.cpp */, + 01815E581FE7D53700C35E93 /* ofxPiMapper.h */, + 01815E591FE7D53700C35E93 /* Sources */, + 01815E6E1FE7D53700C35E93 /* Surfaces */, + 010E92DD1FEEEE8D0015B02B /* Types */, + 01815E801FE7D53700C35E93 /* UserInterface */, + 01815E891FE7D53700C35E93 /* Utils */, ); name = src; path = ../src; sourceTree = ""; }; - 0115A5D81DBF93BA00C51732 /* Application */ = { + 01815DDF1FE7D53700C35E93 /* Application */ = { isa = PBXGroup; children = ( - 0115A5D91DBF93BA00C51732 /* Application.cpp */, - 0115A5DA1DBF93BA00C51732 /* Application.h */, - 0115A5DB1DBF93BA00C51732 /* Modes */, - 0115A5E61DBF93BA00C51732 /* SettingsLoader.cpp */, - 0115A5E71DBF93BA00C51732 /* SettingsLoader.h */, + 01815DE01FE7D53700C35E93 /* Application.cpp */, + 01815DE11FE7D53700C35E93 /* Application.h */, + 01815DE21FE7D53700C35E93 /* Modes */, + 01815DED1FE7D53700C35E93 /* SettingsLoader.cpp */, + 01815DEE1FE7D53700C35E93 /* SettingsLoader.h */, ); path = Application; sourceTree = ""; }; - 0115A5DB1DBF93BA00C51732 /* Modes */ = { + 01815DE21FE7D53700C35E93 /* Modes */ = { isa = PBXGroup; children = ( - 0115A5DC1DBF93BA00C51732 /* ApplicationBaseMode.cpp */, - 0115A5DD1DBF93BA00C51732 /* ApplicationBaseMode.h */, - 0115A5DE1DBF93BA00C51732 /* PresentationMode.cpp */, - 0115A5DF1DBF93BA00C51732 /* PresentationMode.h */, - 0115A5E01DBF93BA00C51732 /* ProjectionMappingMode.cpp */, - 0115A5E11DBF93BA00C51732 /* ProjectionMappingMode.h */, - 0115A5E21DBF93BA00C51732 /* SourceSelectionMode.cpp */, - 0115A5E31DBF93BA00C51732 /* SourceSelectionMode.h */, - 0115A5E41DBF93BA00C51732 /* TextureMappingMode.cpp */, - 0115A5E51DBF93BA00C51732 /* TextureMappingMode.h */, + 01815DE31FE7D53700C35E93 /* ApplicationBaseMode.cpp */, + 01815DE41FE7D53700C35E93 /* ApplicationBaseMode.h */, + 01815DE51FE7D53700C35E93 /* PresentationMode.cpp */, + 01815DE61FE7D53700C35E93 /* PresentationMode.h */, + 01815DE71FE7D53700C35E93 /* ProjectionMappingMode.cpp */, + 01815DE81FE7D53700C35E93 /* ProjectionMappingMode.h */, + 01815DE91FE7D53700C35E93 /* SourceSelectionMode.cpp */, + 01815DEA1FE7D53700C35E93 /* SourceSelectionMode.h */, + 01815DEB1FE7D53700C35E93 /* TextureMappingMode.cpp */, + 01815DEC1FE7D53700C35E93 /* TextureMappingMode.h */, ); path = Modes; sourceTree = ""; }; - 0115A6301DBF93BA00C51732 /* Gui */ = { + 01815DEF1FE7D53700C35E93 /* Commands */ = { isa = PBXGroup; children = ( - 0115A6311DBF93BA00C51732 /* Gui.cpp */, - 0115A6321DBF93BA00C51732 /* Gui.h */, - 0115A6331DBF93BA00C51732 /* Widgets */, + 01815DF01FE7D53700C35E93 /* AddGridColCmd.cpp */, + 01815DF11FE7D53700C35E93 /* AddGridColCmd.h */, + 01815DF21FE7D53700C35E93 /* AddGridRowCmd.cpp */, + 01815DF31FE7D53700C35E93 /* AddGridRowCmd.h */, + 01815DF41FE7D53700C35E93 /* AddSurfaceCmd.cpp */, + 01815DF51FE7D53700C35E93 /* AddSurfaceCmd.h */, + 01815DF61FE7D53700C35E93 /* BaseCmd.h */, + 01815DF71FE7D53700C35E93 /* ClearSurfacesCmd.cpp */, + 01815DF81FE7D53700C35E93 /* ClearSurfacesCmd.h */, + 01815DF91FE7D53700C35E93 /* CmdManager.cpp */, + 01815DFA1FE7D53700C35E93 /* CmdManager.h */, + 01815DFB1FE7D53700C35E93 /* DeselectSurfaceCmd.cpp */, + 01815DFC1FE7D53700C35E93 /* DeselectSurfaceCmd.h */, + 01815DFD1FE7D53700C35E93 /* DeselectTexCoordCmd.cpp */, + 01815DFE1FE7D53700C35E93 /* DeselectTexCoordCmd.h */, + 01815DFF1FE7D53700C35E93 /* DuplicateSurfaceCmd.cpp */, + 01815E001FE7D53700C35E93 /* DuplicateSurfaceCmd.h */, + 01815E011FE7D53700C35E93 /* MvAllTexCoordsCmd.cpp */, + 01815E021FE7D53700C35E93 /* MvAllTexCoordsCmd.h */, + 01815E031FE7D53700C35E93 /* MvLayerDnCmd.cpp */, + 01815E041FE7D53700C35E93 /* MvLayerDnCmd.h */, + 01815E051FE7D53700C35E93 /* MvLayerUpCmd.cpp */, + 01815E061FE7D53700C35E93 /* MvLayerUpCmd.h */, + 01815E071FE7D53700C35E93 /* MvSelectionCmd.cpp */, + 01815E081FE7D53700C35E93 /* MvSelectionCmd.h */, + 01815E091FE7D53700C35E93 /* MvSurfaceVertCmd.cpp */, + 01815E0A1FE7D53700C35E93 /* MvSurfaceVertCmd.h */, + 01815E0B1FE7D53700C35E93 /* MvTexCoordCmd.cpp */, + 01815E0C1FE7D53700C35E93 /* MvTexCoordCmd.h */, + 01815E0D1FE7D53700C35E93 /* RmGridColCmd.cpp */, + 01815E0E1FE7D53700C35E93 /* RmGridColCmd.h */, + 01815E0F1FE7D53700C35E93 /* RmGridRowCmd.cpp */, + 01815E101FE7D53700C35E93 /* RmGridRowCmd.h */, + 01815E111FE7D53700C35E93 /* RmSurfaceCmd.cpp */, + 01815E121FE7D53700C35E93 /* RmSurfaceCmd.h */, + 01815E131FE7D53700C35E93 /* SaveTexCoordPosCmd.cpp */, + 01815E141FE7D53700C35E93 /* SaveTexCoordPosCmd.h */, + 01815E151FE7D53700C35E93 /* ScaleSurfaceFromToCmd.cpp */, + 01815E161FE7D53700C35E93 /* ScaleSurfaceFromToCmd.h */, + 01815E171FE7D53700C35E93 /* SelNextSurfaceCmd.cpp */, + 01815E181FE7D53700C35E93 /* SelNextSurfaceCmd.h */, + 01815E191FE7D53700C35E93 /* SelNextTexCoordCmd.cpp */, + 01815E1A1FE7D53700C35E93 /* SelNextTexCoordCmd.h */, + 01815E1B1FE7D53700C35E93 /* SelNextVertexCmd.cpp */, + 01815E1C1FE7D53700C35E93 /* SelNextVertexCmd.h */, + 01815E1D1FE7D53700C35E93 /* SelPrevSurfaceCmd.cpp */, + 01815E1E1FE7D53700C35E93 /* SelPrevSurfaceCmd.h */, + 01815E1F1FE7D53700C35E93 /* SelPrevTexCoordCmd.cpp */, + 01815E201FE7D53700C35E93 /* SelPrevTexCoordCmd.h */, + 01815E211FE7D53700C35E93 /* SelPrevVertexCmd.cpp */, + 01815E221FE7D53700C35E93 /* SelPrevVertexCmd.h */, + 01815E231FE7D53700C35E93 /* SelSurfaceCmd.cpp */, + 01815E241FE7D53700C35E93 /* SelSurfaceCmd.h */, + 01815E251FE7D53700C35E93 /* SelTexCoordCmd.cpp */, + 01815E261FE7D53700C35E93 /* SelTexCoordCmd.h */, + 01815E271FE7D53700C35E93 /* SelVertexCmd.cpp */, + 01815E281FE7D53700C35E93 /* SelVertexCmd.h */, + 01815E291FE7D53700C35E93 /* SetApplicationModeCmd.cpp */, + 01815E2A1FE7D53700C35E93 /* SetApplicationModeCmd.h */, + 01815E2B1FE7D53700C35E93 /* SetNextSourceCmd.cpp */, + 01815E2C1FE7D53700C35E93 /* SetNextSourceCmd.h */, + 01815E2D1FE7D53700C35E93 /* SetPresetCmd.cpp */, + 01815E2E1FE7D53700C35E93 /* SetPresetCmd.h */, + 01815E2F1FE7D53700C35E93 /* SetSourceCmd.cpp */, + 01815E301FE7D53700C35E93 /* SetSourceCmd.h */, + 01815E311FE7D53700C35E93 /* SetTexMapDrawModeCmd.cpp */, + 01815E321FE7D53700C35E93 /* SetTexMapDrawModeCmd.h */, + 01815E331FE7D53700C35E93 /* StartDragSurfaceCmd.cpp */, + 01815E341FE7D53700C35E93 /* StartDragSurfaceCmd.h */, + 01815E351FE7D53700C35E93 /* ToggleAnimatedSourceCmd.cpp */, + 01815E361FE7D53700C35E93 /* ToggleAnimatedSourceCmd.h */, + 01815E371FE7D53700C35E93 /* TogglePerspectiveCmd.cpp */, + 01815E381FE7D53700C35E93 /* TogglePerspectiveCmd.h */, + 01815E391FE7D53700C35E93 /* TranslateCanvasCmd.cpp */, + 01815E3A1FE7D53700C35E93 /* TranslateCanvasCmd.h */, + ); + path = Commands; + sourceTree = ""; + }; + 01815E3B1FE7D53700C35E93 /* Gui */ = { + isa = PBXGroup; + children = ( + 01815E3C1FE7D53700C35E93 /* Gui.cpp */, + 01815E3D1FE7D53700C35E93 /* Gui.h */, + 01815E3E1FE7D53700C35E93 /* Widgets */, ); path = Gui; sourceTree = ""; }; - 0115A6331DBF93BA00C51732 /* Widgets */ = { + 01815E3E1FE7D53700C35E93 /* Widgets */ = { isa = PBXGroup; children = ( - 0115A6341DBF93BA00C51732 /* GuiBaseWidget.h */, - 0115A6351DBF93BA00C51732 /* LayerPanelWidget.cpp */, - 0115A6361DBF93BA00C51732 /* LayerPanelWidget.h */, - 0115A6371DBF93BA00C51732 /* ProjectionEditorWidget.cpp */, - 0115A6381DBF93BA00C51732 /* ProjectionEditorWidget.h */, - 0115A6391DBF93BA00C51732 /* ScaleWidget.cpp */, - 0115A63A1DBF93BA00C51732 /* ScaleWidget.h */, - 0115A63B1DBF93BA00C51732 /* SourcesEditorWidget.cpp */, - 0115A63C1DBF93BA00C51732 /* SourcesEditorWidget.h */, - 0115A63D1DBF93BA00C51732 /* SurfaceHighlightWidget.cpp */, - 0115A63E1DBF93BA00C51732 /* SurfaceHighlightWidget.h */, - 0115A6411DBF93BA00C51732 /* TextureEditorWidget.cpp */, - 0115A6421DBF93BA00C51732 /* TextureEditorWidget.h */, - 0115A6431DBF93BA00C51732 /* TextureHighlightWidget.cpp */, - 0115A6441DBF93BA00C51732 /* TextureHighlightWidget.h */, + 01815E3F1FE7D53700C35E93 /* GuiBaseWidget.h */, + 01815E401FE7D53700C35E93 /* LayerPanelWidget.cpp */, + 01815E411FE7D53700C35E93 /* LayerPanelWidget.h */, + 01815E421FE7D53700C35E93 /* ProjectionEditorWidget.cpp */, + 01815E431FE7D53700C35E93 /* ProjectionEditorWidget.h */, + 01815E441FE7D53700C35E93 /* ScaleWidget.cpp */, + 01815E451FE7D53700C35E93 /* ScaleWidget.h */, + 01815E461FE7D53700C35E93 /* SourcesEditorWidget.cpp */, + 01815E471FE7D53700C35E93 /* SourcesEditorWidget.h */, + 01815E481FE7D53700C35E93 /* SurfaceHighlightWidget.cpp */, + 01815E491FE7D53700C35E93 /* SurfaceHighlightWidget.h */, + 01815E4A1FE7D53700C35E93 /* TextureEditorWidget.cpp */, + 01815E4B1FE7D53700C35E93 /* TextureEditorWidget.h */, + 01815E4C1FE7D53700C35E93 /* TextureHighlightWidget.cpp */, + 01815E4D1FE7D53700C35E93 /* TextureHighlightWidget.h */, ); path = Widgets; sourceTree = ""; }; - 0115A6451DBF93BA00C51732 /* Info */ = { + 01815E4E1FE7D53700C35E93 /* Info */ = { isa = PBXGroup; children = ( - 0115A6461DBF93BA00C51732 /* Info.cpp */, - 0115A6471DBF93BA00C51732 /* Info.h */, + 01815E4F1FE7D53700C35E93 /* Info.cpp */, + 01815E501FE7D53700C35E93 /* Info.h */, ); path = Info; sourceTree = ""; }; - 0115A6481DBF93BA00C51732 /* MediaServer */ = { + 01815E511FE7D53700C35E93 /* MediaServer */ = { isa = PBXGroup; children = ( - 0115A6491DBF93BA00C51732 /* DirectoryWatcher.cpp */, - 0115A64A1DBF93BA00C51732 /* DirectoryWatcher.h */, - 0115A64B1DBF93BA00C51732 /* MediaServer.cpp */, - 0115A64C1DBF93BA00C51732 /* MediaServer.h */, + 01815E521FE7D53700C35E93 /* DirectoryWatcher.cpp */, + 01815E531FE7D53700C35E93 /* DirectoryWatcher.h */, + 01815E541FE7D53700C35E93 /* MediaServer.cpp */, + 01815E551FE7D53700C35E93 /* MediaServer.h */, ); path = MediaServer; sourceTree = ""; }; - 0115A64F1DBF93BA00C51732 /* Sources */ = { + 01815E591FE7D53700C35E93 /* Sources */ = { isa = PBXGroup; children = ( - 0115A6501DBF93BA00C51732 /* BaseSource.cpp */, - 0115A6511DBF93BA00C51732 /* BaseSource.h */, - 0115A6521DBF93BA00C51732 /* FboSource.cpp */, - 0115A6531DBF93BA00C51732 /* FboSource.h */, - 0115A6541DBF93BA00C51732 /* ImageSource.cpp */, - 0115A6551DBF93BA00C51732 /* ImageSource.h */, - 0115A6561DBF93BA00C51732 /* OMXPlayerCache.cpp */, - 0115A6571DBF93BA00C51732 /* OMXPlayerCache.h */, - 0115A6581DBF93BA00C51732 /* SourceType.h */, - 0115A6591DBF93BA00C51732 /* VideoSource.cpp */, - 0115A65A1DBF93BA00C51732 /* VideoSource.h */, + 01815E5A1FE7D53700C35E93 /* BaseSource.cpp */, + 01815E5B1FE7D53700C35E93 /* BaseSource.h */, + 01815E5C1FE7D53700C35E93 /* FboSource.cpp */, + 01815E5D1FE7D53700C35E93 /* FboSource.h */, + 01815E5E1FE7D53700C35E93 /* ImageSource.cpp */, + 01815E5F1FE7D53700C35E93 /* ImageSource.h */, + 01815E601FE7D53700C35E93 /* magSlide.cpp */, + 01815E611FE7D53700C35E93 /* magSlide.h */, + 01815E621FE7D53700C35E93 /* magSlideShowSource.cpp */, + 01815E631FE7D53700C35E93 /* magSlideShowSource.h */, + 01815E641FE7D53700C35E93 /* magSlideTransition.cpp */, + 01815E651FE7D53700C35E93 /* magSlideTransition.h */, + 01815E661FE7D53700C35E93 /* magSlideTransitionFactory.cpp */, + 01815E671FE7D53700C35E93 /* magSlideTransitionFactory.h */, + 01815E681FE7D53700C35E93 /* OMXPlayerCache.cpp */, + 01815E691FE7D53700C35E93 /* OMXPlayerCache.h */, + 01815E6A1FE7D53700C35E93 /* SourceType.h */, + 01815E6B1FE7D53700C35E93 /* SourceTypeHelper.h */, + 01815E6C1FE7D53700C35E93 /* VideoSource.cpp */, + 01815E6D1FE7D53700C35E93 /* VideoSource.h */, ); path = Sources; sourceTree = ""; }; - 0115A65B1DBF93BA00C51732 /* Surfaces */ = { + 01815E6E1FE7D53700C35E93 /* Surfaces */ = { isa = PBXGroup; children = ( - 0115A65C1DBF93BA00C51732 /* BaseSurface.cpp */, - 0115A65D1DBF93BA00C51732 /* BaseSurface.h */, - 0115A65E1DBF93BA00C51732 /* GridWarpSurface.cpp */, - 0115A65F1DBF93BA00C51732 /* GridWarpSurface.h */, - 0115A6601DBF93BA00C51732 /* HexagonSurface.cpp */, - 0115A6611DBF93BA00C51732 /* HexagonSurface.h */, - 0115A6621DBF93BA00C51732 /* QuadSurface.cpp */, - 0115A6631DBF93BA00C51732 /* QuadSurface.h */, - 0115A6641DBF93BA00C51732 /* SurfaceFactory.cpp */, - 0115A6651DBF93BA00C51732 /* SurfaceFactory.h */, - 0115A6661DBF93BA00C51732 /* SurfaceManager.cpp */, - 0115A6671DBF93BA00C51732 /* SurfaceManager.h */, - 0115A6681DBF93BA00C51732 /* SurfaceStack.cpp */, - 0115A6691DBF93BA00C51732 /* SurfaceStack.h */, - 0115A66A1DBF93BA00C51732 /* SurfaceType.h */, - 0115A66B1DBF93BA00C51732 /* TriangleSurface.cpp */, - 0115A66C1DBF93BA00C51732 /* TriangleSurface.h */, + 01815E6F1FE7D53700C35E93 /* BaseSurface.cpp */, + 01815E701FE7D53700C35E93 /* BaseSurface.h */, + 01815E711FE7D53700C35E93 /* GridWarpSurface.cpp */, + 01815E721FE7D53700C35E93 /* GridWarpSurface.h */, + 01815E731FE7D53700C35E93 /* HexagonSurface.cpp */, + 01815E741FE7D53700C35E93 /* HexagonSurface.h */, + 01815E751FE7D53700C35E93 /* QuadSurface.cpp */, + 01815E761FE7D53700C35E93 /* QuadSurface.h */, + 01815E771FE7D53700C35E93 /* SurfaceFactory.cpp */, + 01815E781FE7D53700C35E93 /* SurfaceFactory.h */, + 01815E791FE7D53700C35E93 /* SurfaceManager.cpp */, + 01815E7A1FE7D53700C35E93 /* SurfaceManager.h */, + 01815E7B1FE7D53700C35E93 /* SurfaceStack.cpp */, + 01815E7C1FE7D53700C35E93 /* SurfaceStack.h */, + 01815E7D1FE7D53700C35E93 /* SurfaceType.h */, + 01815E7E1FE7D53700C35E93 /* TriangleSurface.cpp */, + 01815E7F1FE7D53700C35E93 /* TriangleSurface.h */, + 01B821791FEB138A000100F2 /* CircleSurface.cpp */, + 01B8217A1FEB138A000100F2 /* CircleSurface.h */, ); path = Surfaces; sourceTree = ""; }; - 0115A66D1DBF93BA00C51732 /* UserInterface */ = { + 01815E801FE7D53700C35E93 /* UserInterface */ = { isa = PBXGroup; children = ( - 0115A66E1DBF93BA00C51732 /* BaseJoint.cpp */, - 0115A66F1DBF93BA00C51732 /* BaseJoint.h */, - 0115A6701DBF93BA00C51732 /* CircleJoint.cpp */, - 0115A6711DBF93BA00C51732 /* CircleJoint.h */, - 0115A6721DBF93BA00C51732 /* EditorType.h */, - 0115A6731DBF93BA00C51732 /* GuiMode.h */, - 0115A6741DBF93BA00C51732 /* RadioList.cpp */, - 0115A6751DBF93BA00C51732 /* RadioList.h */, + 01815E811FE7D53700C35E93 /* BaseJoint.cpp */, + 01815E821FE7D53700C35E93 /* BaseJoint.h */, + 01815E831FE7D53700C35E93 /* CircleJoint.cpp */, + 01815E841FE7D53700C35E93 /* CircleJoint.h */, + 01815E851FE7D53700C35E93 /* EditorType.h */, + 01815E861FE7D53700C35E93 /* GuiMode.h */, + 01815E871FE7D53700C35E93 /* RadioList.cpp */, + 01815E881FE7D53700C35E93 /* RadioList.h */, ); path = UserInterface; sourceTree = ""; }; - 0115A6761DBF93BA00C51732 /* Utils */ = { + 01815E891FE7D53700C35E93 /* Utils */ = { isa = PBXGroup; children = ( - 0115A6771DBF93BA00C51732 /* HomographyHelper.cpp */, - 0115A6781DBF93BA00C51732 /* HomographyHelper.h */, + 01815E8A1FE7D53700C35E93 /* HomographyHelper.cpp */, + 01815E8B1FE7D53700C35E93 /* HomographyHelper.h */, ); path = Utils; sourceTree = ""; }; - 0166303C1DC66DAB0081F28F /* Commands */ = { - isa = PBXGroup; - children = ( - 0166303D1DC66DAB0081F28F /* AddGridColCmd.cpp */, - 0166303E1DC66DAB0081F28F /* AddGridColCmd.h */, - 0166303F1DC66DAB0081F28F /* AddGridRowCmd.cpp */, - 016630401DC66DAB0081F28F /* AddGridRowCmd.h */, - 016630411DC66DAB0081F28F /* AddSurfaceCmd.cpp */, - 016630421DC66DAB0081F28F /* AddSurfaceCmd.h */, - 016630431DC66DAB0081F28F /* BaseCmd.h */, - 016630441DC66DAB0081F28F /* ClearSurfacesCmd.cpp */, - 016630451DC66DAB0081F28F /* ClearSurfacesCmd.h */, - 016630461DC66DAB0081F28F /* CmdManager.cpp */, - 016630471DC66DAB0081F28F /* CmdManager.h */, - 016630481DC66DAB0081F28F /* DeselectSurfaceCmd.cpp */, - 016630491DC66DAB0081F28F /* DeselectSurfaceCmd.h */, - 0166304A1DC66DAB0081F28F /* DeselectTexCoordCmd.cpp */, - 0166304B1DC66DAB0081F28F /* DeselectTexCoordCmd.h */, - 0166304C1DC66DAB0081F28F /* DuplicateSurfaceCmd.cpp */, - 0166304D1DC66DAB0081F28F /* DuplicateSurfaceCmd.h */, - 0166304E1DC66DAB0081F28F /* MvAllTexCoordsCmd.cpp */, - 0166304F1DC66DAB0081F28F /* MvAllTexCoordsCmd.h */, - 016630501DC66DAB0081F28F /* MvLayerDnCmd.cpp */, - 016630511DC66DAB0081F28F /* MvLayerDnCmd.h */, - 016630521DC66DAB0081F28F /* MvLayerUpCmd.cpp */, - 016630531DC66DAB0081F28F /* MvLayerUpCmd.h */, - 016630541DC66DAB0081F28F /* MvSelectionCmd.cpp */, - 016630551DC66DAB0081F28F /* MvSelectionCmd.h */, - 016630561DC66DAB0081F28F /* MvSurfaceVertCmd.cpp */, - 016630571DC66DAB0081F28F /* MvSurfaceVertCmd.h */, - 016630581DC66DAB0081F28F /* MvTexCoordCmd.cpp */, - 016630591DC66DAB0081F28F /* MvTexCoordCmd.h */, - 0166305A1DC66DAB0081F28F /* RmGridColCmd.cpp */, - 0166305B1DC66DAB0081F28F /* RmGridColCmd.h */, - 0166305C1DC66DAB0081F28F /* RmGridRowCmd.cpp */, - 0166305D1DC66DAB0081F28F /* RmGridRowCmd.h */, - 0166305E1DC66DAB0081F28F /* RmSurfaceCmd.cpp */, - 0166305F1DC66DAB0081F28F /* RmSurfaceCmd.h */, - 016630601DC66DAB0081F28F /* SaveTexCoordPosCmd.cpp */, - 016630611DC66DAB0081F28F /* SaveTexCoordPosCmd.h */, - 016630621DC66DAB0081F28F /* ScaleSurfaceFromToCmd.cpp */, - 016630631DC66DAB0081F28F /* ScaleSurfaceFromToCmd.h */, - 016630641DC66DAB0081F28F /* SelNextSurfaceCmd.cpp */, - 016630651DC66DAB0081F28F /* SelNextSurfaceCmd.h */, - 016630661DC66DAB0081F28F /* SelNextTexCoordCmd.cpp */, - 016630671DC66DAB0081F28F /* SelNextTexCoordCmd.h */, - 016630681DC66DAB0081F28F /* SelNextVertexCmd.cpp */, - 016630691DC66DAB0081F28F /* SelNextVertexCmd.h */, - 0166306A1DC66DAB0081F28F /* SelPrevSurfaceCmd.cpp */, - 0166306B1DC66DAB0081F28F /* SelPrevSurfaceCmd.h */, - 0166306C1DC66DAB0081F28F /* SelPrevTexCoordCmd.cpp */, - 0166306D1DC66DAB0081F28F /* SelPrevTexCoordCmd.h */, - 0166306E1DC66DAB0081F28F /* SelPrevVertexCmd.cpp */, - 0166306F1DC66DAB0081F28F /* SelPrevVertexCmd.h */, - 016630701DC66DAB0081F28F /* SelSurfaceCmd.cpp */, - 016630711DC66DAB0081F28F /* SelSurfaceCmd.h */, - 016630721DC66DAB0081F28F /* SelTexCoordCmd.cpp */, - 016630731DC66DAB0081F28F /* SelTexCoordCmd.h */, - 016630741DC66DAB0081F28F /* SelVertexCmd.cpp */, - 016630751DC66DAB0081F28F /* SelVertexCmd.h */, - 016630761DC66DAB0081F28F /* SetApplicationModeCmd.cpp */, - 016630771DC66DAB0081F28F /* SetApplicationModeCmd.h */, - 016630781DC66DAB0081F28F /* SetNextSourceCmd.cpp */, - 016630791DC66DAB0081F28F /* SetNextSourceCmd.h */, - 0166307A1DC66DAB0081F28F /* SetPresetCmd.cpp */, - 0166307B1DC66DAB0081F28F /* SetPresetCmd.h */, - 0166307C1DC66DAB0081F28F /* SetSourceCmd.cpp */, - 0166307D1DC66DAB0081F28F /* SetSourceCmd.h */, - 0166307E1DC66DAB0081F28F /* SetTexMapDrawModeCmd.cpp */, - 0166307F1DC66DAB0081F28F /* SetTexMapDrawModeCmd.h */, - 016630801DC66DAB0081F28F /* StartDragSurfaceCmd.cpp */, - 016630811DC66DAB0081F28F /* StartDragSurfaceCmd.h */, - 016630821DC66DAB0081F28F /* ToggleAnimatedSourceCmd.cpp */, - 016630831DC66DAB0081F28F /* ToggleAnimatedSourceCmd.h */, - 016630841DC66DAB0081F28F /* TogglePerspectiveCmd.cpp */, - 016630851DC66DAB0081F28F /* TogglePerspectiveCmd.h */, - 016630861DC66DAB0081F28F /* TranslateCanvasCmd.cpp */, - 016630871DC66DAB0081F28F /* TranslateCanvasCmd.h */, - ); - path = Commands; - sourceTree = ""; - }; 39264837192224C20008A7F5 /* ofxXmlSettings */ = { isa = PBXGroup; children = ( @@ -669,23 +720,27 @@ 3933D5C119BB87BD000ACA55 /* src */ = { isa = PBXGroup; children = ( - 3933D5C219BB87BD000ACA55 /* ofxBaseGui.cpp */, - 3933D5C319BB87BD000ACA55 /* ofxBaseGui.h */, - 3933D5C419BB87BD000ACA55 /* ofxButton.cpp */, - 3933D5C519BB87BD000ACA55 /* ofxButton.h */, - 3933D5C619BB87BD000ACA55 /* ofxGui.h */, - 3933D5C719BB87BD000ACA55 /* ofxGuiGroup.cpp */, - 3933D5C819BB87BD000ACA55 /* ofxGuiGroup.h */, - 3933D5C919BB87BD000ACA55 /* ofxLabel.cpp */, - 3933D5CA19BB87BD000ACA55 /* ofxLabel.h */, - 3933D5CB19BB87BD000ACA55 /* ofxPanel.cpp */, - 3933D5CC19BB87BD000ACA55 /* ofxPanel.h */, - 3933D5CD19BB87BD000ACA55 /* ofxSlider.cpp */, - 3933D5CE19BB87BD000ACA55 /* ofxSlider.h */, - 3933D5CF19BB87BD000ACA55 /* ofxSliderGroup.cpp */, - 3933D5D019BB87BD000ACA55 /* ofxSliderGroup.h */, - 3933D5D119BB87BD000ACA55 /* ofxToggle.cpp */, - 3933D5D219BB87BD000ACA55 /* ofxToggle.h */, + 01372D6B1FF2E7B4006D41AC /* ofxBaseGui.cpp */, + 01372D761FF2E7B4006D41AC /* ofxBaseGui.h */, + 01372D751FF2E7B4006D41AC /* ofxButton.cpp */, + 01372D691FF2E7B4006D41AC /* ofxButton.h */, + 01372D781FF2E7B4006D41AC /* ofxColorPicker.cpp */, + 01372D6C1FF2E7B4006D41AC /* ofxColorPicker.h */, + 01372D6F1FF2E7B4006D41AC /* ofxGui.h */, + 01372D771FF2E7B4006D41AC /* ofxGuiGroup.cpp */, + 01372D721FF2E7B4006D41AC /* ofxGuiGroup.h */, + 01372D7A1FF2E7B4006D41AC /* ofxInputField.cpp */, + 01372D6D1FF2E7B4006D41AC /* ofxInputField.h */, + 01372D791FF2E7B4006D41AC /* ofxLabel.cpp */, + 01372D7C1FF2E7B5006D41AC /* ofxLabel.h */, + 01372D6E1FF2E7B4006D41AC /* ofxPanel.cpp */, + 01372D701FF2E7B4006D41AC /* ofxPanel.h */, + 01372D7B1FF2E7B5006D41AC /* ofxSlider.cpp */, + 01372D711FF2E7B4006D41AC /* ofxSlider.h */, + 01372D731FF2E7B4006D41AC /* ofxSliderGroup.cpp */, + 01372D6A1FF2E7B4006D41AC /* ofxSliderGroup.h */, + 01372D681FF2E7B4006D41AC /* ofxToggle.cpp */, + 01372D741FF2E7B4006D41AC /* ofxToggle.h */, ); name = src; path = ../../ofxGui/src; @@ -694,7 +749,7 @@ 396E8A34190FEDE500705899 /* ofxPiMapper */ = { isa = PBXGroup; children = ( - 0115A5D71DBF93BA00C51732 /* src */, + 01815DDE1FE7D53700C35E93 /* src */, ); name = ofxPiMapper; sourceTree = ""; @@ -871,7 +926,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "rsync -aved ../../../libs/fmodex/lib/osx/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/\"; install_name_tool -change ./libfmodex.dylib @executable_path/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME\";\nmkdir -p \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/\"\nrsync -aved \"$ICON_FILE\" \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/\"\nrsync -aved ../../../libs/glut/lib/osx/GLUT.framework \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Frameworks/\""; + 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 libfmod and change install directory for fmod to run\nrsync -aved \"$OF_PATH/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\necho \"$GCC_PREPROCESSOR_DEFINITIONS\";\n"; }; /* End PBXShellScriptBuildPhase section */ @@ -880,96 +935,105 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3933D5D819BB87BD000ACA55 /* ofxSlider.cpp in Sources */, - 0115A6B71DBF93BA00C51732 /* BaseSurface.cpp in Sources */, - 0115A6A81DBF93BA00C51732 /* ScaleWidget.cpp in Sources */, - 016630A31DC66DAB0081F28F /* SelVertexCmd.cpp in Sources */, - 016630911DC66DAB0081F28F /* MvLayerDnCmd.cpp in Sources */, - 3933D5DA19BB87BD000ACA55 /* ofxToggle.cpp in Sources */, - 0166308C1DC66DAB0081F28F /* CmdManager.cpp in Sources */, - 3933D5D319BB87BD000ACA55 /* ofxBaseGui.cpp in Sources */, - 0115A6B91DBF93BA00C51732 /* HexagonSurface.cpp in Sources */, - 3933D5D919BB87BD000ACA55 /* ofxSliderGroup.cpp in Sources */, - 0115A6BB1DBF93BA00C51732 /* SurfaceFactory.cpp in Sources */, - 016630921DC66DAB0081F28F /* MvLayerUpCmd.cpp in Sources */, - 0166309C1DC66DAB0081F28F /* SelNextTexCoordCmd.cpp in Sources */, - 0115A6A71DBF93BA00C51732 /* ProjectionEditorWidget.cpp in Sources */, - 0115A67F1DBF93BA00C51732 /* SourceSelectionMode.cpp in Sources */, + 01372D7D1FF2E7D4006D41AC /* ofxBaseGui.cpp in Sources */, + 01372D7E1FF2E7D4006D41AC /* ofxButton.cpp in Sources */, + 01372D7F1FF2E7D4006D41AC /* ofxColorPicker.cpp in Sources */, + 01372D801FF2E7D4006D41AC /* ofxGuiGroup.cpp in Sources */, + 01372D811FF2E7D4006D41AC /* ofxInputField.cpp in Sources */, + 01372D821FF2E7D4006D41AC /* ofxLabel.cpp in Sources */, + 01372D831FF2E7D4006D41AC /* ofxPanel.cpp in Sources */, + 01372D841FF2E7D4006D41AC /* ofxSlider.cpp in Sources */, + 01372D851FF2E7D4006D41AC /* ofxSliderGroup.cpp in Sources */, + 01372D861FF2E7D4006D41AC /* ofxToggle.cpp in Sources */, + 010E92E21FEEEE9D0015B02B /* Vec2.cpp in Sources */, + 010E92E31FEEEE9D0015B02B /* Vec3.cpp in Sources */, + 01815E8C1FE7D59200C35E93 /* Application.cpp in Sources */, + 01815E8D1FE7D59200C35E93 /* ApplicationBaseMode.cpp in Sources */, + 01815E8E1FE7D59200C35E93 /* PresentationMode.cpp in Sources */, + 01815E8F1FE7D59200C35E93 /* ProjectionMappingMode.cpp in Sources */, + 01815E901FE7D59200C35E93 /* SourceSelectionMode.cpp in Sources */, + 01815E911FE7D59200C35E93 /* TextureMappingMode.cpp in Sources */, + 01815E921FE7D59200C35E93 /* SettingsLoader.cpp in Sources */, + 01815E931FE7D59200C35E93 /* AddGridColCmd.cpp in Sources */, + 01815E941FE7D59200C35E93 /* AddGridRowCmd.cpp in Sources */, + 01815E951FE7D59200C35E93 /* AddSurfaceCmd.cpp in Sources */, + 01815E961FE7D59200C35E93 /* ClearSurfacesCmd.cpp in Sources */, + 01815E971FE7D59200C35E93 /* CmdManager.cpp in Sources */, + 01815E981FE7D59200C35E93 /* DeselectSurfaceCmd.cpp in Sources */, + 01815E991FE7D59200C35E93 /* DeselectTexCoordCmd.cpp in Sources */, + 01815E9A1FE7D59200C35E93 /* DuplicateSurfaceCmd.cpp in Sources */, + 01815E9B1FE7D59200C35E93 /* MvAllTexCoordsCmd.cpp in Sources */, + 01815E9C1FE7D59200C35E93 /* MvLayerDnCmd.cpp in Sources */, + 01815E9D1FE7D59200C35E93 /* MvLayerUpCmd.cpp in Sources */, + 01815E9E1FE7D59200C35E93 /* MvSelectionCmd.cpp in Sources */, + 01815E9F1FE7D59200C35E93 /* MvSurfaceVertCmd.cpp in Sources */, + 01815EA01FE7D59200C35E93 /* MvTexCoordCmd.cpp in Sources */, + 01815EA11FE7D59200C35E93 /* RmGridColCmd.cpp in Sources */, + 01815EA21FE7D59200C35E93 /* RmGridRowCmd.cpp in Sources */, + 01815EA31FE7D59200C35E93 /* RmSurfaceCmd.cpp in Sources */, + 01815EA41FE7D59200C35E93 /* SaveTexCoordPosCmd.cpp in Sources */, + 01815EA51FE7D59200C35E93 /* ScaleSurfaceFromToCmd.cpp in Sources */, + 01815EA61FE7D59200C35E93 /* SelNextSurfaceCmd.cpp in Sources */, + 01815EA71FE7D59200C35E93 /* SelNextTexCoordCmd.cpp in Sources */, + 01815EA81FE7D59200C35E93 /* SelNextVertexCmd.cpp in Sources */, + 01815EA91FE7D59200C35E93 /* SelPrevSurfaceCmd.cpp in Sources */, + 01815EAA1FE7D59200C35E93 /* SelPrevTexCoordCmd.cpp in Sources */, + 01815EAB1FE7D59200C35E93 /* SelPrevVertexCmd.cpp in Sources */, + 01815EAC1FE7D59200C35E93 /* SelSurfaceCmd.cpp in Sources */, + 01815EAD1FE7D59200C35E93 /* SelTexCoordCmd.cpp in Sources */, + 01815EAE1FE7D59200C35E93 /* SelVertexCmd.cpp in Sources */, + 01815EAF1FE7D59200C35E93 /* SetApplicationModeCmd.cpp in Sources */, + 01815EB01FE7D59200C35E93 /* SetNextSourceCmd.cpp in Sources */, + 01815EB11FE7D59200C35E93 /* SetPresetCmd.cpp in Sources */, + 01815EB21FE7D59200C35E93 /* SetSourceCmd.cpp in Sources */, + 01B8217B1FEB138A000100F2 /* CircleSurface.cpp in Sources */, + 01815EB31FE7D59200C35E93 /* SetTexMapDrawModeCmd.cpp in Sources */, + 01815EB41FE7D59200C35E93 /* StartDragSurfaceCmd.cpp in Sources */, + 01815EB51FE7D59200C35E93 /* ToggleAnimatedSourceCmd.cpp in Sources */, + 01815EB61FE7D59200C35E93 /* TogglePerspectiveCmd.cpp in Sources */, + 01815EB71FE7D59200C35E93 /* TranslateCanvasCmd.cpp in Sources */, + 01815EB81FE7D59200C35E93 /* Gui.cpp in Sources */, + 01815EB91FE7D59200C35E93 /* LayerPanelWidget.cpp in Sources */, + 01815EBA1FE7D59200C35E93 /* ProjectionEditorWidget.cpp in Sources */, + 01815EBB1FE7D59200C35E93 /* ScaleWidget.cpp in Sources */, + 01815EBC1FE7D59200C35E93 /* SourcesEditorWidget.cpp in Sources */, + 01815EBD1FE7D59200C35E93 /* SurfaceHighlightWidget.cpp in Sources */, + 01815EBE1FE7D59200C35E93 /* TextureEditorWidget.cpp in Sources */, + 01815EBF1FE7D59200C35E93 /* TextureHighlightWidget.cpp in Sources */, + 01815EC01FE7D59200C35E93 /* Info.cpp in Sources */, + 01815EC11FE7D59200C35E93 /* DirectoryWatcher.cpp in Sources */, + 01815EC21FE7D59200C35E93 /* MediaServer.cpp in Sources */, + 01815EC31FE7D59200C35E93 /* ofxPiMapper.cpp in Sources */, + 01815EC41FE7D59200C35E93 /* BaseSource.cpp in Sources */, + 01815EC51FE7D59200C35E93 /* FboSource.cpp in Sources */, + 01815EC61FE7D59200C35E93 /* ImageSource.cpp in Sources */, + 01815EC71FE7D59200C35E93 /* magSlide.cpp in Sources */, + 01815EC81FE7D59200C35E93 /* magSlideShowSource.cpp in Sources */, + 01815EC91FE7D59200C35E93 /* magSlideTransition.cpp in Sources */, + 01815ECA1FE7D59200C35E93 /* magSlideTransitionFactory.cpp in Sources */, + 01815ECB1FE7D59200C35E93 /* OMXPlayerCache.cpp in Sources */, + 01815ECC1FE7D59200C35E93 /* VideoSource.cpp in Sources */, + 01815ECD1FE7D59200C35E93 /* BaseSurface.cpp in Sources */, + 01815ECE1FE7D59200C35E93 /* GridWarpSurface.cpp in Sources */, + 01815ECF1FE7D59200C35E93 /* HexagonSurface.cpp in Sources */, + 01815ED01FE7D59200C35E93 /* QuadSurface.cpp in Sources */, + 01815ED11FE7D59200C35E93 /* SurfaceFactory.cpp in Sources */, + 01815ED21FE7D59200C35E93 /* SurfaceManager.cpp in Sources */, + 01815ED31FE7D59200C35E93 /* SurfaceStack.cpp in Sources */, + 01815ED41FE7D59200C35E93 /* TriangleSurface.cpp in Sources */, + 01815ED51FE7D59200C35E93 /* BaseJoint.cpp in Sources */, + 01815ED61FE7D59200C35E93 /* CircleJoint.cpp in Sources */, + 01815ED71FE7D59200C35E93 /* RadioList.cpp in Sources */, + 01815ED81FE7D59200C35E93 /* HomographyHelper.cpp in Sources */, 3995C20A1C79069B00123352 /* Settings.cpp in Sources */, - 0115A6B61DBF93BA00C51732 /* VideoSource.cpp in Sources */, - 016630891DC66DAB0081F28F /* AddGridRowCmd.cpp in Sources */, - 0115A6AD1DBF93BA00C51732 /* TextureHighlightWidget.cpp in Sources */, - 016630A81DC66DAB0081F28F /* SetTexMapDrawModeCmd.cpp in Sources */, - 0115A6AF1DBF93BA00C51732 /* DirectoryWatcher.cpp in Sources */, - 016630961DC66DAB0081F28F /* RmGridColCmd.cpp in Sources */, - 0115A6AE1DBF93BA00C51732 /* Info.cpp in Sources */, - 0166308F1DC66DAB0081F28F /* DuplicateSurfaceCmd.cpp in Sources */, E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */, 39264843192224F90008A7F5 /* tinyxmlparser.cpp in Sources */, - 016630971DC66DAB0081F28F /* RmGridRowCmd.cpp in Sources */, - 3933D5D419BB87BD000ACA55 /* ofxButton.cpp in Sources */, - 0115A6B51DBF93BA00C51732 /* OMXPlayerCache.cpp in Sources */, - 0166308E1DC66DAB0081F28F /* DeselectTexCoordCmd.cpp in Sources */, - 0115A67E1DBF93BA00C51732 /* ProjectionMappingMode.cpp in Sources */, - 0115A6B41DBF93BA00C51732 /* ImageSource.cpp in Sources */, - 0166309D1DC66DAB0081F28F /* SelNextVertexCmd.cpp in Sources */, - 016630AC1DC66DAB0081F28F /* TranslateCanvasCmd.cpp in Sources */, - 0166309F1DC66DAB0081F28F /* SelPrevTexCoordCmd.cpp in Sources */, - 016630A21DC66DAB0081F28F /* SelTexCoordCmd.cpp in Sources */, - 0115A6A91DBF93BA00C51732 /* SourcesEditorWidget.cpp in Sources */, - 016630981DC66DAB0081F28F /* RmSurfaceCmd.cpp in Sources */, - 016630A41DC66DAB0081F28F /* SetApplicationModeCmd.cpp in Sources */, - 016630901DC66DAB0081F28F /* MvAllTexCoordsCmd.cpp in Sources */, - 0115A67B1DBF93BA00C51732 /* Application.cpp in Sources */, 39264841192224F90008A7F5 /* tinyxml.cpp in Sources */, - 0115A6B31DBF93BA00C51732 /* FboSource.cpp in Sources */, - 3933D5D619BB87BD000ACA55 /* ofxLabel.cpp in Sources */, - 0115A67D1DBF93BA00C51732 /* PresentationMode.cpp in Sources */, - 0166308B1DC66DAB0081F28F /* ClearSurfacesCmd.cpp in Sources */, 399953691BD54FF600D5B1F1 /* CrossSource.cpp in Sources */, - 0115A6AA1DBF93BA00C51732 /* SurfaceHighlightWidget.cpp in Sources */, - 016630A61DC66DAB0081F28F /* SetPresetCmd.cpp in Sources */, - 0115A67C1DBF93BA00C51732 /* ApplicationBaseMode.cpp in Sources */, - 0166309B1DC66DAB0081F28F /* SelNextSurfaceCmd.cpp in Sources */, - 0115A6C01DBF93BA00C51732 /* CircleJoint.cpp in Sources */, - 0166309E1DC66DAB0081F28F /* SelPrevSurfaceCmd.cpp in Sources */, - 0115A6A51DBF93BA00C51732 /* Gui.cpp in Sources */, - 016630A11DC66DAB0081F28F /* SelSurfaceCmd.cpp in Sources */, - 0166308D1DC66DAB0081F28F /* DeselectSurfaceCmd.cpp in Sources */, - 0115A6B01DBF93BA00C51732 /* MediaServer.cpp in Sources */, - 0166308A1DC66DAB0081F28F /* AddSurfaceCmd.cpp in Sources */, - 0115A6AC1DBF93BA00C51732 /* TextureEditorWidget.cpp in Sources */, - 0115A6811DBF93BA00C51732 /* SettingsLoader.cpp in Sources */, - 016630A71DC66DAB0081F28F /* SetSourceCmd.cpp in Sources */, - 0115A6BA1DBF93BA00C51732 /* QuadSurface.cpp in Sources */, E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */, - 016630A01DC66DAB0081F28F /* SelPrevVertexCmd.cpp in Sources */, - 016630A51DC66DAB0081F28F /* SetNextSourceCmd.cpp in Sources */, - 0115A6B21DBF93BA00C51732 /* BaseSource.cpp in Sources */, - 016630941DC66DAB0081F28F /* MvSurfaceVertCmd.cpp in Sources */, - 3933D5D719BB87BD000ACA55 /* ofxPanel.cpp in Sources */, - 0115A6BC1DBF93BA00C51732 /* SurfaceManager.cpp in Sources */, - 016630AA1DC66DAB0081F28F /* ToggleAnimatedSourceCmd.cpp in Sources */, - 0166309A1DC66DAB0081F28F /* ScaleSurfaceFromToCmd.cpp in Sources */, - 0115A6801DBF93BA00C51732 /* TextureMappingMode.cpp in Sources */, - 016630931DC66DAB0081F28F /* MvSelectionCmd.cpp in Sources */, - 0115A6B11DBF93BA00C51732 /* ofxPiMapper.cpp in Sources */, - 0115A6BD1DBF93BA00C51732 /* SurfaceStack.cpp in Sources */, - 0115A6A61DBF93BA00C51732 /* LayerPanelWidget.cpp in Sources */, - 016630951DC66DAB0081F28F /* MvTexCoordCmd.cpp in Sources */, - 0115A6BE1DBF93BA00C51732 /* TriangleSurface.cpp in Sources */, - 0115A6C21DBF93BA00C51732 /* HomographyHelper.cpp in Sources */, - 0115A6B81DBF93BA00C51732 /* GridWarpSurface.cpp in Sources */, 39264842192224F90008A7F5 /* tinyxmlerror.cpp in Sources */, 3926483B192224DA0008A7F5 /* ofxXmlSettings.cpp in Sources */, - 016630881DC66DAB0081F28F /* AddGridColCmd.cpp in Sources */, 397EFC821A09047C0009286E /* CustomSource.cpp in Sources */, - 016630AB1DC66DAB0081F28F /* TogglePerspectiveCmd.cpp in Sources */, - 016630991DC66DAB0081F28F /* SaveTexCoordPosCmd.cpp in Sources */, - 016630A91DC66DAB0081F28F /* StartDragSurfaceCmd.cpp in Sources */, - 3933D5D519BB87BD000ACA55 /* ofxGuiGroup.cpp in Sources */, - 0115A6C11DBF93BA00C51732 /* RadioList.cpp in Sources */, - 0115A6BF1DBF93BA00C51732 /* BaseJoint.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/example/openFrameworks-Info.plist b/example/openFrameworks-Info.plist index 60abaf8..8d64d2b 100644 --- a/example/openFrameworks-Info.plist +++ b/example/openFrameworks-Info.plist @@ -6,8 +6,6 @@ English CFBundleExecutable ${EXECUTABLE_NAME} - CFBundleIconFile - ${ICON} CFBundleIdentifier cc.openFrameworks.ofapp CFBundleInfoDictionaryVersion @@ -18,5 +16,7 @@ ???? CFBundleVersion 1.0 + CFBundleIconFile + ${ICON} diff --git a/example/src/CustomSource.h b/example/src/CustomSource.h index 9a3ce04..a473d73 100644 --- a/example/src/CustomSource.h +++ b/example/src/CustomSource.h @@ -9,6 +9,6 @@ class CustomSource : public ofx::piMapper::FboSource { void update(); void draw(); - vector rects; - vector rectSpeeds; + std::vector rects; + std::vector rectSpeeds; }; \ No newline at end of file diff --git a/example/src/main.cpp b/example/src/main.cpp index e5733f9..64e63d1 100644 --- a/example/src/main.cpp +++ b/example/src/main.cpp @@ -7,16 +7,16 @@ int main(int argc, char * argv[]){ bool fullscreen = false; - vector arguments = vector(argv, argv + argc); + std::vector arguments = std::vector(argv, argv + argc); for(int i = 0; i < arguments.size(); ++i){ if(arguments.at(i) == "-f"){ fullscreen = true; break; } } - + Settings::instance()->setFullscreen(fullscreen); - ofSetupOpenGL(800, 450, OF_WINDOW); + ofSetupOpenGL(1024, 768, OF_WINDOW); ofRunApp(new ofApp()); } diff --git a/example/src/ofApp.cpp b/example/src/ofApp.cpp index 93a0d08..d4d9395 100644 --- a/example/src/ofApp.cpp +++ b/example/src/ofApp.cpp @@ -14,15 +14,24 @@ void ofApp::setup(){ // a surface in XML settings. crossSource = new CrossSource(); customSource = new CustomSource(); + + // Create the slide show source. + slideShowSource = new magSlideShowSource(); + + // Register our sources: piMapper.registerFboSource(crossSource); piMapper.registerFboSource(customSource); + piMapper.registerFboSource(slideShowSource); piMapper.setup(); // The info layer is hidden by default, press to toggle // piMapper.showInfo(); - + ofSetFullscreen(Settings::instance()->getFullscreen()); ofSetEscapeQuitsApp(false); + ofSetLogLevel(OF_LOG_VERBOSE); + + slideShowSource->play(); } void ofApp::update(){ diff --git a/example/src/ofApp.h b/example/src/ofApp.h index 8ca4b64..aa07e98 100644 --- a/example/src/ofApp.h +++ b/example/src/ofApp.h @@ -6,24 +6,27 @@ #include "CustomSource.h" #include "CrossSource.h" #include "VideoSource.h" +#include "magSlideShowSource.h" -class ofApp : public ofBaseApp { - public: - void setup(); - void update(); - void draw(); - - void keyPressed(int key); - void keyReleased(int key); - - void mousePressed(int x, int y, int button); - void mouseReleased(int x, int y, int button); - void mouseDragged(int x, int y, int button); +class ofApp : public ofBaseApp{ +public: + void setup(); + void update(); + void draw(); - ofxPiMapper piMapper; + void keyPressed(int key); + void keyReleased(int key); + + void mousePressed(int x, int y, int button); + void mouseReleased(int x, int y, int button); + void mouseDragged(int x, int y, int button); + + ofxPiMapper piMapper; + + // By using a custom source that is derived from FboSource + // you will be able to see the source listed in sources editor + CustomSource *customSource; + CrossSource *crossSource; + magSlideShowSource *slideShowSource; - // By using a custom source that is derived from FboSource - // you will be able to see the source listed in sources editor - CustomSource * customSource; - CrossSource * crossSource; }; diff --git a/example_camera/addons.make b/example_camera/addons.make index c3aa2a3..963941c 100644 --- a/example_camera/addons.make +++ b/example_camera/addons.make @@ -1,4 +1,4 @@ +ofxGui ofxPiMapper ofxXmlSettings -ofxGui -ofxRPiCameraVideoGrabber +ofxOMXPlayer diff --git a/example_camera/example_camera.xcodeproj/project.pbxproj b/example_camera/example_camera.xcodeproj/project.pbxproj index fb93a4e..9d273fb 100644 --- a/example_camera/example_camera.xcodeproj/project.pbxproj +++ b/example_camera/example_camera.xcodeproj/project.pbxproj @@ -7,91 +7,100 @@ objects = { /* Begin PBXBuildFile section */ - 016631561DC8E8010081F28F /* Application.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630B21DC8E8010081F28F /* Application.cpp */; }; - 016631571DC8E8010081F28F /* ApplicationBaseMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630B51DC8E8010081F28F /* ApplicationBaseMode.cpp */; }; - 016631581DC8E8010081F28F /* PresentationMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630B71DC8E8010081F28F /* PresentationMode.cpp */; }; - 016631591DC8E8010081F28F /* ProjectionMappingMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630B91DC8E8010081F28F /* ProjectionMappingMode.cpp */; }; - 0166315A1DC8E8010081F28F /* SourceSelectionMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630BB1DC8E8010081F28F /* SourceSelectionMode.cpp */; }; - 0166315B1DC8E8010081F28F /* TextureMappingMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630BD1DC8E8010081F28F /* TextureMappingMode.cpp */; }; - 0166315C1DC8E8010081F28F /* SettingsLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630BF1DC8E8010081F28F /* SettingsLoader.cpp */; }; - 0166315D1DC8E8010081F28F /* AddGridColCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630C21DC8E8010081F28F /* AddGridColCmd.cpp */; }; - 0166315E1DC8E8010081F28F /* AddGridRowCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630C41DC8E8010081F28F /* AddGridRowCmd.cpp */; }; - 0166315F1DC8E8010081F28F /* AddSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630C61DC8E8010081F28F /* AddSurfaceCmd.cpp */; }; - 016631601DC8E8010081F28F /* ClearSurfacesCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630C91DC8E8010081F28F /* ClearSurfacesCmd.cpp */; }; - 016631611DC8E8010081F28F /* CmdManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630CB1DC8E8010081F28F /* CmdManager.cpp */; }; - 016631621DC8E8010081F28F /* DeselectSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630CD1DC8E8010081F28F /* DeselectSurfaceCmd.cpp */; }; - 016631631DC8E8010081F28F /* DeselectTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630CF1DC8E8010081F28F /* DeselectTexCoordCmd.cpp */; }; - 016631641DC8E8010081F28F /* DuplicateSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630D11DC8E8010081F28F /* DuplicateSurfaceCmd.cpp */; }; - 016631651DC8E8010081F28F /* MvAllTexCoordsCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630D31DC8E8010081F28F /* MvAllTexCoordsCmd.cpp */; }; - 016631661DC8E8010081F28F /* MvLayerDnCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630D51DC8E8010081F28F /* MvLayerDnCmd.cpp */; }; - 016631671DC8E8010081F28F /* MvLayerUpCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630D71DC8E8010081F28F /* MvLayerUpCmd.cpp */; }; - 016631681DC8E8010081F28F /* MvSelectionCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630D91DC8E8010081F28F /* MvSelectionCmd.cpp */; }; - 016631691DC8E8010081F28F /* MvSurfaceVertCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630DB1DC8E8010081F28F /* MvSurfaceVertCmd.cpp */; }; - 0166316A1DC8E8010081F28F /* MvTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630DD1DC8E8010081F28F /* MvTexCoordCmd.cpp */; }; - 0166316B1DC8E8010081F28F /* RmGridColCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630DF1DC8E8010081F28F /* RmGridColCmd.cpp */; }; - 0166316C1DC8E8010081F28F /* RmGridRowCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630E11DC8E8010081F28F /* RmGridRowCmd.cpp */; }; - 0166316D1DC8E8010081F28F /* RmSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630E31DC8E8010081F28F /* RmSurfaceCmd.cpp */; }; - 0166316E1DC8E8010081F28F /* SaveTexCoordPosCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630E51DC8E8010081F28F /* SaveTexCoordPosCmd.cpp */; }; - 0166316F1DC8E8010081F28F /* ScaleSurfaceFromToCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630E71DC8E8010081F28F /* ScaleSurfaceFromToCmd.cpp */; }; - 016631701DC8E8010081F28F /* SelNextSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630E91DC8E8010081F28F /* SelNextSurfaceCmd.cpp */; }; - 016631711DC8E8010081F28F /* SelNextTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630EB1DC8E8010081F28F /* SelNextTexCoordCmd.cpp */; }; - 016631721DC8E8010081F28F /* SelNextVertexCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630ED1DC8E8010081F28F /* SelNextVertexCmd.cpp */; }; - 016631731DC8E8010081F28F /* SelPrevSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630EF1DC8E8010081F28F /* SelPrevSurfaceCmd.cpp */; }; - 016631741DC8E8010081F28F /* SelPrevTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630F11DC8E8010081F28F /* SelPrevTexCoordCmd.cpp */; }; - 016631751DC8E8010081F28F /* SelPrevVertexCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630F31DC8E8010081F28F /* SelPrevVertexCmd.cpp */; }; - 016631761DC8E8010081F28F /* SelSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630F51DC8E8010081F28F /* SelSurfaceCmd.cpp */; }; - 016631771DC8E8010081F28F /* SelTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630F71DC8E8010081F28F /* SelTexCoordCmd.cpp */; }; - 016631781DC8E8010081F28F /* SelVertexCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630F91DC8E8010081F28F /* SelVertexCmd.cpp */; }; - 016631791DC8E8010081F28F /* SetApplicationModeCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630FB1DC8E8010081F28F /* SetApplicationModeCmd.cpp */; }; - 0166317A1DC8E8010081F28F /* SetNextSourceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630FD1DC8E8010081F28F /* SetNextSourceCmd.cpp */; }; - 0166317B1DC8E8010081F28F /* SetPresetCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630FF1DC8E8010081F28F /* SetPresetCmd.cpp */; }; - 0166317C1DC8E8010081F28F /* SetSourceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631011DC8E8010081F28F /* SetSourceCmd.cpp */; }; - 0166317D1DC8E8010081F28F /* SetTexMapDrawModeCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631031DC8E8010081F28F /* SetTexMapDrawModeCmd.cpp */; }; - 0166317E1DC8E8010081F28F /* StartDragSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631051DC8E8010081F28F /* StartDragSurfaceCmd.cpp */; }; - 0166317F1DC8E8010081F28F /* ToggleAnimatedSourceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631071DC8E8010081F28F /* ToggleAnimatedSourceCmd.cpp */; }; - 016631801DC8E8010081F28F /* TogglePerspectiveCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631091DC8E8010081F28F /* TogglePerspectiveCmd.cpp */; }; - 016631811DC8E8010081F28F /* TranslateCanvasCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166310B1DC8E8010081F28F /* TranslateCanvasCmd.cpp */; }; - 016631821DC8E8010081F28F /* Gui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166310E1DC8E8010081F28F /* Gui.cpp */; }; - 016631831DC8E8010081F28F /* LayerPanelWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631121DC8E8010081F28F /* LayerPanelWidget.cpp */; }; - 016631841DC8E8010081F28F /* ProjectionEditorWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631141DC8E8010081F28F /* ProjectionEditorWidget.cpp */; }; - 016631851DC8E8010081F28F /* ScaleWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631161DC8E8010081F28F /* ScaleWidget.cpp */; }; - 016631861DC8E8010081F28F /* SourcesEditorWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631181DC8E8010081F28F /* SourcesEditorWidget.cpp */; }; - 016631871DC8E8010081F28F /* SurfaceHighlightWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166311A1DC8E8010081F28F /* SurfaceHighlightWidget.cpp */; }; - 016631881DC8E8010081F28F /* TextureEditorWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166311C1DC8E8010081F28F /* TextureEditorWidget.cpp */; }; - 016631891DC8E8010081F28F /* TextureHighlightWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166311E1DC8E8010081F28F /* TextureHighlightWidget.cpp */; }; - 0166318A1DC8E8010081F28F /* Info.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631211DC8E8010081F28F /* Info.cpp */; }; - 0166318B1DC8E8010081F28F /* DirectoryWatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631241DC8E8010081F28F /* DirectoryWatcher.cpp */; }; - 0166318C1DC8E8010081F28F /* MediaServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631261DC8E8010081F28F /* MediaServer.cpp */; }; - 0166318D1DC8E8010081F28F /* ofxPiMapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631281DC8E8010081F28F /* ofxPiMapper.cpp */; }; - 0166318E1DC8E8010081F28F /* BaseSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166312B1DC8E8010081F28F /* BaseSource.cpp */; }; - 0166318F1DC8E8010081F28F /* FboSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166312D1DC8E8010081F28F /* FboSource.cpp */; }; - 016631901DC8E8010081F28F /* ImageSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166312F1DC8E8010081F28F /* ImageSource.cpp */; }; - 016631911DC8E8010081F28F /* OMXPlayerCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631311DC8E8010081F28F /* OMXPlayerCache.cpp */; }; - 016631921DC8E8010081F28F /* VideoSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631341DC8E8010081F28F /* VideoSource.cpp */; }; - 016631931DC8E8010081F28F /* BaseSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631371DC8E8010081F28F /* BaseSurface.cpp */; }; - 016631941DC8E8010081F28F /* GridWarpSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631391DC8E8010081F28F /* GridWarpSurface.cpp */; }; - 016631951DC8E8010081F28F /* HexagonSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166313B1DC8E8010081F28F /* HexagonSurface.cpp */; }; - 016631961DC8E8010081F28F /* QuadSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166313D1DC8E8010081F28F /* QuadSurface.cpp */; }; - 016631971DC8E8010081F28F /* SurfaceFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166313F1DC8E8010081F28F /* SurfaceFactory.cpp */; }; - 016631981DC8E8010081F28F /* SurfaceManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631411DC8E8010081F28F /* SurfaceManager.cpp */; }; - 016631991DC8E8010081F28F /* SurfaceStack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631431DC8E8010081F28F /* SurfaceStack.cpp */; }; - 0166319A1DC8E8010081F28F /* TriangleSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631461DC8E8010081F28F /* TriangleSurface.cpp */; }; - 0166319B1DC8E8010081F28F /* BaseJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631491DC8E8010081F28F /* BaseJoint.cpp */; }; - 0166319C1DC8E8010081F28F /* CircleJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166314B1DC8E8010081F28F /* CircleJoint.cpp */; }; - 0166319D1DC8E8010081F28F /* RadioList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166314F1DC8E8010081F28F /* RadioList.cpp */; }; - 0166319E1DC8E8010081F28F /* HomographyHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631521DC8E8010081F28F /* HomographyHelper.cpp */; }; + 012CB78B1FFF89C200F8F880 /* Application.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB6D81FFF893D00F8F880 /* Application.cpp */; }; + 012CB78C1FFF89C200F8F880 /* ApplicationBaseMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB6DB1FFF893D00F8F880 /* ApplicationBaseMode.cpp */; }; + 012CB78D1FFF89C200F8F880 /* PresentationMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB6DD1FFF893D00F8F880 /* PresentationMode.cpp */; }; + 012CB78E1FFF89C200F8F880 /* ProjectionMappingMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB6DF1FFF893D00F8F880 /* ProjectionMappingMode.cpp */; }; + 012CB78F1FFF89C200F8F880 /* SourceSelectionMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB6E11FFF893D00F8F880 /* SourceSelectionMode.cpp */; }; + 012CB7901FFF89C200F8F880 /* TextureMappingMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB6E31FFF893D00F8F880 /* TextureMappingMode.cpp */; }; + 012CB7911FFF89C200F8F880 /* SettingsLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB6E51FFF893D00F8F880 /* SettingsLoader.cpp */; }; + 012CB7921FFF89C200F8F880 /* AddGridColCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB6E81FFF893D00F8F880 /* AddGridColCmd.cpp */; }; + 012CB7931FFF89C200F8F880 /* AddGridRowCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB6EA1FFF893D00F8F880 /* AddGridRowCmd.cpp */; }; + 012CB7941FFF89C200F8F880 /* AddSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB6EC1FFF893D00F8F880 /* AddSurfaceCmd.cpp */; }; + 012CB7951FFF89C200F8F880 /* ClearSurfacesCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB6EF1FFF893D00F8F880 /* ClearSurfacesCmd.cpp */; }; + 012CB7961FFF89C200F8F880 /* CmdManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB6F11FFF893D00F8F880 /* CmdManager.cpp */; }; + 012CB7971FFF89C200F8F880 /* DeselectSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB6F31FFF893D00F8F880 /* DeselectSurfaceCmd.cpp */; }; + 012CB7981FFF89C200F8F880 /* DeselectTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB6F51FFF893D00F8F880 /* DeselectTexCoordCmd.cpp */; }; + 012CB7991FFF89C200F8F880 /* DuplicateSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB6F71FFF893D00F8F880 /* DuplicateSurfaceCmd.cpp */; }; + 012CB79A1FFF89C200F8F880 /* MvAllTexCoordsCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB6F91FFF893D00F8F880 /* MvAllTexCoordsCmd.cpp */; }; + 012CB79B1FFF89C200F8F880 /* MvLayerDnCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB6FB1FFF893D00F8F880 /* MvLayerDnCmd.cpp */; }; + 012CB79C1FFF89C200F8F880 /* MvLayerUpCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB6FD1FFF893D00F8F880 /* MvLayerUpCmd.cpp */; }; + 012CB79D1FFF89C200F8F880 /* MvSelectionCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB6FF1FFF893D00F8F880 /* MvSelectionCmd.cpp */; }; + 012CB79E1FFF89C200F8F880 /* MvSurfaceVertCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7011FFF893D00F8F880 /* MvSurfaceVertCmd.cpp */; }; + 012CB79F1FFF89C200F8F880 /* MvTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7031FFF893D00F8F880 /* MvTexCoordCmd.cpp */; }; + 012CB7A01FFF89C200F8F880 /* RmGridColCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7051FFF893D00F8F880 /* RmGridColCmd.cpp */; }; + 012CB7A11FFF89C200F8F880 /* RmGridRowCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7071FFF893D00F8F880 /* RmGridRowCmd.cpp */; }; + 012CB7A21FFF89C200F8F880 /* RmSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7091FFF893D00F8F880 /* RmSurfaceCmd.cpp */; }; + 012CB7A31FFF89C200F8F880 /* SaveTexCoordPosCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB70B1FFF893D00F8F880 /* SaveTexCoordPosCmd.cpp */; }; + 012CB7A41FFF89C200F8F880 /* ScaleSurfaceFromToCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB70D1FFF893D00F8F880 /* ScaleSurfaceFromToCmd.cpp */; }; + 012CB7A51FFF89C200F8F880 /* SelNextSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB70F1FFF893D00F8F880 /* SelNextSurfaceCmd.cpp */; }; + 012CB7A61FFF89C200F8F880 /* SelNextTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7111FFF893D00F8F880 /* SelNextTexCoordCmd.cpp */; }; + 012CB7A71FFF89C200F8F880 /* SelNextVertexCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7131FFF893D00F8F880 /* SelNextVertexCmd.cpp */; }; + 012CB7A81FFF89C200F8F880 /* SelPrevSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7151FFF893D00F8F880 /* SelPrevSurfaceCmd.cpp */; }; + 012CB7A91FFF89C200F8F880 /* SelPrevTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7171FFF893D00F8F880 /* SelPrevTexCoordCmd.cpp */; }; + 012CB7AA1FFF89C200F8F880 /* SelPrevVertexCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7191FFF893D00F8F880 /* SelPrevVertexCmd.cpp */; }; + 012CB7AB1FFF89C200F8F880 /* SelSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB71B1FFF893D00F8F880 /* SelSurfaceCmd.cpp */; }; + 012CB7AC1FFF89C200F8F880 /* SelTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB71D1FFF893D00F8F880 /* SelTexCoordCmd.cpp */; }; + 012CB7AD1FFF89C200F8F880 /* SelVertexCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB71F1FFF893D00F8F880 /* SelVertexCmd.cpp */; }; + 012CB7AE1FFF89C200F8F880 /* SetApplicationModeCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7211FFF893D00F8F880 /* SetApplicationModeCmd.cpp */; }; + 012CB7AF1FFF89C200F8F880 /* SetNextSourceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7231FFF893D00F8F880 /* SetNextSourceCmd.cpp */; }; + 012CB7B01FFF89C200F8F880 /* SetPresetCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7251FFF893D00F8F880 /* SetPresetCmd.cpp */; }; + 012CB7B11FFF89C200F8F880 /* SetSourceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7271FFF893D00F8F880 /* SetSourceCmd.cpp */; }; + 012CB7B21FFF89C200F8F880 /* SetTexMapDrawModeCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7291FFF893D00F8F880 /* SetTexMapDrawModeCmd.cpp */; }; + 012CB7B31FFF89C200F8F880 /* StartDragSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB72B1FFF893D00F8F880 /* StartDragSurfaceCmd.cpp */; }; + 012CB7B41FFF89C200F8F880 /* ToggleAnimatedSourceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB72D1FFF893D00F8F880 /* ToggleAnimatedSourceCmd.cpp */; }; + 012CB7B51FFF89C200F8F880 /* TogglePerspectiveCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB72F1FFF893D00F8F880 /* TogglePerspectiveCmd.cpp */; }; + 012CB7B61FFF89C200F8F880 /* TranslateCanvasCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7311FFF893D00F8F880 /* TranslateCanvasCmd.cpp */; }; + 012CB7B71FFF89C200F8F880 /* Gui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7341FFF893D00F8F880 /* Gui.cpp */; }; + 012CB7B81FFF89C200F8F880 /* LayerPanelWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7381FFF893D00F8F880 /* LayerPanelWidget.cpp */; }; + 012CB7B91FFF89C200F8F880 /* ProjectionEditorWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB73A1FFF893D00F8F880 /* ProjectionEditorWidget.cpp */; }; + 012CB7BA1FFF89C200F8F880 /* ScaleWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB73C1FFF893D00F8F880 /* ScaleWidget.cpp */; }; + 012CB7BB1FFF89C200F8F880 /* SourcesEditorWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB73E1FFF893D00F8F880 /* SourcesEditorWidget.cpp */; }; + 012CB7BC1FFF89C200F8F880 /* SurfaceHighlightWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7401FFF893D00F8F880 /* SurfaceHighlightWidget.cpp */; }; + 012CB7BD1FFF89C200F8F880 /* TextureEditorWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7421FFF893D00F8F880 /* TextureEditorWidget.cpp */; }; + 012CB7BE1FFF89C200F8F880 /* TextureHighlightWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7441FFF893D00F8F880 /* TextureHighlightWidget.cpp */; }; + 012CB7BF1FFF89C200F8F880 /* Info.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7471FFF893D00F8F880 /* Info.cpp */; }; + 012CB7C01FFF89C200F8F880 /* DirectoryWatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB74A1FFF893D00F8F880 /* DirectoryWatcher.cpp */; }; + 012CB7C11FFF89C200F8F880 /* MediaServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB74C1FFF893D00F8F880 /* MediaServer.cpp */; }; + 012CB7C21FFF89C200F8F880 /* ofxPiMapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB74F1FFF893D00F8F880 /* ofxPiMapper.cpp */; }; + 012CB7C31FFF89C200F8F880 /* BaseSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7521FFF893D00F8F880 /* BaseSource.cpp */; }; + 012CB7C41FFF89C200F8F880 /* FboSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7541FFF893D00F8F880 /* FboSource.cpp */; }; + 012CB7C51FFF89C200F8F880 /* ImageSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7561FFF893D00F8F880 /* ImageSource.cpp */; }; + 012CB7C61FFF89C200F8F880 /* magSlide.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7581FFF893D00F8F880 /* magSlide.cpp */; }; + 012CB7C71FFF89C200F8F880 /* magSlideShowSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB75A1FFF893D00F8F880 /* magSlideShowSource.cpp */; }; + 012CB7C81FFF89C200F8F880 /* magSlideTransition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB75C1FFF893D00F8F880 /* magSlideTransition.cpp */; }; + 012CB7C91FFF89C200F8F880 /* magSlideTransitionFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB75E1FFF893D00F8F880 /* magSlideTransitionFactory.cpp */; }; + 012CB7CA1FFF89C200F8F880 /* OMXPlayerCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7601FFF893D00F8F880 /* OMXPlayerCache.cpp */; }; + 012CB7CB1FFF89C200F8F880 /* VideoSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7641FFF893D00F8F880 /* VideoSource.cpp */; }; + 012CB7CC1FFF89C200F8F880 /* BaseSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7671FFF893D00F8F880 /* BaseSurface.cpp */; }; + 012CB7CD1FFF89C200F8F880 /* CircleSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7691FFF893D00F8F880 /* CircleSurface.cpp */; }; + 012CB7CE1FFF89C200F8F880 /* GridWarpSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB76B1FFF893D00F8F880 /* GridWarpSurface.cpp */; }; + 012CB7CF1FFF89C200F8F880 /* HexagonSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB76D1FFF893D00F8F880 /* HexagonSurface.cpp */; }; + 012CB7D01FFF89C200F8F880 /* QuadSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB76F1FFF893D00F8F880 /* QuadSurface.cpp */; }; + 012CB7D11FFF89C200F8F880 /* SurfaceFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7711FFF893D00F8F880 /* SurfaceFactory.cpp */; }; + 012CB7D21FFF89C200F8F880 /* SurfaceManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7731FFF893D00F8F880 /* SurfaceManager.cpp */; }; + 012CB7D31FFF89C200F8F880 /* SurfaceStack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7751FFF893D00F8F880 /* SurfaceStack.cpp */; }; + 012CB7D41FFF89C200F8F880 /* TriangleSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7781FFF893D00F8F880 /* TriangleSurface.cpp */; }; + 012CB7D51FFF89C200F8F880 /* Vec2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB77B1FFF893D00F8F880 /* Vec2.cpp */; }; + 012CB7D61FFF89C200F8F880 /* Vec3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB77D1FFF893D00F8F880 /* Vec3.cpp */; }; + 012CB7D71FFF89C200F8F880 /* BaseJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7801FFF893D00F8F880 /* BaseJoint.cpp */; }; + 012CB7D81FFF89C200F8F880 /* CircleJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7821FFF893D00F8F880 /* CircleJoint.cpp */; }; + 012CB7D91FFF89C200F8F880 /* RadioList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7861FFF893D00F8F880 /* RadioList.cpp */; }; + 012CB7DA1FFF89C200F8F880 /* HomographyHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7891FFF893D00F8F880 /* HomographyHelper.cpp */; }; + 012CB7F11FFF8A9700F8F880 /* ofxBaseGui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7DC1FFF8A8200F8F880 /* ofxBaseGui.cpp */; }; + 012CB7F21FFF8A9700F8F880 /* ofxButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7DE1FFF8A8200F8F880 /* ofxButton.cpp */; }; + 012CB7F31FFF8A9700F8F880 /* ofxColorPicker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7E01FFF8A8200F8F880 /* ofxColorPicker.cpp */; }; + 012CB7F41FFF8A9700F8F880 /* ofxGuiGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7E31FFF8A8200F8F880 /* ofxGuiGroup.cpp */; }; + 012CB7F51FFF8A9700F8F880 /* ofxInputField.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7E51FFF8A8200F8F880 /* ofxInputField.cpp */; }; + 012CB7F61FFF8A9700F8F880 /* ofxLabel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7E71FFF8A8200F8F880 /* ofxLabel.cpp */; }; + 012CB7F71FFF8A9700F8F880 /* ofxPanel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7E91FFF8A8300F8F880 /* ofxPanel.cpp */; }; + 012CB7F81FFF8A9700F8F880 /* ofxSlider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7EB1FFF8A8300F8F880 /* ofxSlider.cpp */; }; + 012CB7F91FFF8A9700F8F880 /* ofxSliderGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7ED1FFF8A8300F8F880 /* ofxSliderGroup.cpp */; }; + 012CB7FA1FFF8A9700F8F880 /* ofxToggle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7EF1FFF8A8300F8F880 /* ofxToggle.cpp */; }; 3926483B192224DA0008A7F5 /* ofxXmlSettings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 39264839192224DA0008A7F5 /* ofxXmlSettings.cpp */; }; 39264841192224F90008A7F5 /* tinyxml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3926483D192224F90008A7F5 /* tinyxml.cpp */; }; 39264842192224F90008A7F5 /* tinyxmlerror.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3926483F192224F90008A7F5 /* tinyxmlerror.cpp */; }; 39264843192224F90008A7F5 /* tinyxmlparser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 39264840192224F90008A7F5 /* tinyxmlparser.cpp */; }; - 3933D5D319BB87BD000ACA55 /* ofxBaseGui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5C219BB87BD000ACA55 /* ofxBaseGui.cpp */; }; - 3933D5D419BB87BD000ACA55 /* ofxButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5C419BB87BD000ACA55 /* ofxButton.cpp */; }; - 3933D5D519BB87BD000ACA55 /* ofxGuiGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5C719BB87BD000ACA55 /* ofxGuiGroup.cpp */; }; - 3933D5D619BB87BD000ACA55 /* ofxLabel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5C919BB87BD000ACA55 /* ofxLabel.cpp */; }; - 3933D5D719BB87BD000ACA55 /* ofxPanel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5CB19BB87BD000ACA55 /* ofxPanel.cpp */; }; - 3933D5D819BB87BD000ACA55 /* ofxSlider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5CD19BB87BD000ACA55 /* ofxSlider.cpp */; }; - 3933D5D919BB87BD000ACA55 /* ofxSliderGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5CF19BB87BD000ACA55 /* ofxSliderGroup.cpp */; }; - 3933D5DA19BB87BD000ACA55 /* ofxToggle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5D119BB87BD000ACA55 /* ofxToggle.cpp */; }; 397EFC821A09047C0009286E /* CameraSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 397EFC801A09047C0009286E /* CameraSource.cpp */; }; E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4328148138ABC890047C5CB /* openFrameworksDebug.a */; }; E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9710E8CC7DD009D7055 /* AGL.framework */; }; @@ -143,182 +152,201 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 0100D9421E33E6C1000D7FA5 /* Mode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Mode.h; sourceTree = ""; }; - 016630B21DC8E8010081F28F /* Application.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Application.cpp; sourceTree = ""; }; - 016630B31DC8E8010081F28F /* Application.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Application.h; sourceTree = ""; }; - 016630B51DC8E8010081F28F /* ApplicationBaseMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ApplicationBaseMode.cpp; sourceTree = ""; }; - 016630B61DC8E8010081F28F /* ApplicationBaseMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ApplicationBaseMode.h; sourceTree = ""; }; - 016630B71DC8E8010081F28F /* PresentationMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PresentationMode.cpp; sourceTree = ""; }; - 016630B81DC8E8010081F28F /* PresentationMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PresentationMode.h; sourceTree = ""; }; - 016630B91DC8E8010081F28F /* ProjectionMappingMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ProjectionMappingMode.cpp; sourceTree = ""; }; - 016630BA1DC8E8010081F28F /* ProjectionMappingMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProjectionMappingMode.h; sourceTree = ""; }; - 016630BB1DC8E8010081F28F /* SourceSelectionMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SourceSelectionMode.cpp; sourceTree = ""; }; - 016630BC1DC8E8010081F28F /* SourceSelectionMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SourceSelectionMode.h; sourceTree = ""; }; - 016630BD1DC8E8010081F28F /* TextureMappingMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextureMappingMode.cpp; sourceTree = ""; }; - 016630BE1DC8E8010081F28F /* TextureMappingMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextureMappingMode.h; sourceTree = ""; }; - 016630BF1DC8E8010081F28F /* SettingsLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SettingsLoader.cpp; sourceTree = ""; }; - 016630C01DC8E8010081F28F /* SettingsLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SettingsLoader.h; sourceTree = ""; }; - 016630C21DC8E8010081F28F /* AddGridColCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AddGridColCmd.cpp; sourceTree = ""; }; - 016630C31DC8E8010081F28F /* AddGridColCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AddGridColCmd.h; sourceTree = ""; }; - 016630C41DC8E8010081F28F /* AddGridRowCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AddGridRowCmd.cpp; sourceTree = ""; }; - 016630C51DC8E8010081F28F /* AddGridRowCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AddGridRowCmd.h; sourceTree = ""; }; - 016630C61DC8E8010081F28F /* AddSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AddSurfaceCmd.cpp; sourceTree = ""; }; - 016630C71DC8E8010081F28F /* AddSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AddSurfaceCmd.h; sourceTree = ""; }; - 016630C81DC8E8010081F28F /* BaseCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseCmd.h; sourceTree = ""; }; - 016630C91DC8E8010081F28F /* ClearSurfacesCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ClearSurfacesCmd.cpp; sourceTree = ""; }; - 016630CA1DC8E8010081F28F /* ClearSurfacesCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ClearSurfacesCmd.h; sourceTree = ""; }; - 016630CB1DC8E8010081F28F /* CmdManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CmdManager.cpp; sourceTree = ""; }; - 016630CC1DC8E8010081F28F /* CmdManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CmdManager.h; sourceTree = ""; }; - 016630CD1DC8E8010081F28F /* DeselectSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeselectSurfaceCmd.cpp; sourceTree = ""; }; - 016630CE1DC8E8010081F28F /* DeselectSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeselectSurfaceCmd.h; sourceTree = ""; }; - 016630CF1DC8E8010081F28F /* DeselectTexCoordCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeselectTexCoordCmd.cpp; sourceTree = ""; }; - 016630D01DC8E8010081F28F /* DeselectTexCoordCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeselectTexCoordCmd.h; sourceTree = ""; }; - 016630D11DC8E8010081F28F /* DuplicateSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DuplicateSurfaceCmd.cpp; sourceTree = ""; }; - 016630D21DC8E8010081F28F /* DuplicateSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DuplicateSurfaceCmd.h; sourceTree = ""; }; - 016630D31DC8E8010081F28F /* MvAllTexCoordsCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvAllTexCoordsCmd.cpp; sourceTree = ""; }; - 016630D41DC8E8010081F28F /* MvAllTexCoordsCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvAllTexCoordsCmd.h; sourceTree = ""; }; - 016630D51DC8E8010081F28F /* MvLayerDnCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvLayerDnCmd.cpp; sourceTree = ""; }; - 016630D61DC8E8010081F28F /* MvLayerDnCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvLayerDnCmd.h; sourceTree = ""; }; - 016630D71DC8E8010081F28F /* MvLayerUpCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvLayerUpCmd.cpp; sourceTree = ""; }; - 016630D81DC8E8010081F28F /* MvLayerUpCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvLayerUpCmd.h; sourceTree = ""; }; - 016630D91DC8E8010081F28F /* MvSelectionCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvSelectionCmd.cpp; sourceTree = ""; }; - 016630DA1DC8E8010081F28F /* MvSelectionCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvSelectionCmd.h; sourceTree = ""; }; - 016630DB1DC8E8010081F28F /* MvSurfaceVertCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvSurfaceVertCmd.cpp; sourceTree = ""; }; - 016630DC1DC8E8010081F28F /* MvSurfaceVertCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvSurfaceVertCmd.h; sourceTree = ""; }; - 016630DD1DC8E8010081F28F /* MvTexCoordCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvTexCoordCmd.cpp; sourceTree = ""; }; - 016630DE1DC8E8010081F28F /* MvTexCoordCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvTexCoordCmd.h; sourceTree = ""; }; - 016630DF1DC8E8010081F28F /* RmGridColCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RmGridColCmd.cpp; sourceTree = ""; }; - 016630E01DC8E8010081F28F /* RmGridColCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RmGridColCmd.h; sourceTree = ""; }; - 016630E11DC8E8010081F28F /* RmGridRowCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RmGridRowCmd.cpp; sourceTree = ""; }; - 016630E21DC8E8010081F28F /* RmGridRowCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RmGridRowCmd.h; sourceTree = ""; }; - 016630E31DC8E8010081F28F /* RmSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RmSurfaceCmd.cpp; sourceTree = ""; }; - 016630E41DC8E8010081F28F /* RmSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RmSurfaceCmd.h; sourceTree = ""; }; - 016630E51DC8E8010081F28F /* SaveTexCoordPosCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SaveTexCoordPosCmd.cpp; sourceTree = ""; }; - 016630E61DC8E8010081F28F /* SaveTexCoordPosCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SaveTexCoordPosCmd.h; sourceTree = ""; }; - 016630E71DC8E8010081F28F /* ScaleSurfaceFromToCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScaleSurfaceFromToCmd.cpp; sourceTree = ""; }; - 016630E81DC8E8010081F28F /* ScaleSurfaceFromToCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScaleSurfaceFromToCmd.h; sourceTree = ""; }; - 016630E91DC8E8010081F28F /* SelNextSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelNextSurfaceCmd.cpp; sourceTree = ""; }; - 016630EA1DC8E8010081F28F /* SelNextSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelNextSurfaceCmd.h; sourceTree = ""; }; - 016630EB1DC8E8010081F28F /* SelNextTexCoordCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelNextTexCoordCmd.cpp; sourceTree = ""; }; - 016630EC1DC8E8010081F28F /* SelNextTexCoordCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelNextTexCoordCmd.h; sourceTree = ""; }; - 016630ED1DC8E8010081F28F /* SelNextVertexCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelNextVertexCmd.cpp; sourceTree = ""; }; - 016630EE1DC8E8010081F28F /* SelNextVertexCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelNextVertexCmd.h; sourceTree = ""; }; - 016630EF1DC8E8010081F28F /* SelPrevSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelPrevSurfaceCmd.cpp; sourceTree = ""; }; - 016630F01DC8E8010081F28F /* SelPrevSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelPrevSurfaceCmd.h; sourceTree = ""; }; - 016630F11DC8E8010081F28F /* SelPrevTexCoordCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelPrevTexCoordCmd.cpp; sourceTree = ""; }; - 016630F21DC8E8010081F28F /* SelPrevTexCoordCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelPrevTexCoordCmd.h; sourceTree = ""; }; - 016630F31DC8E8010081F28F /* SelPrevVertexCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelPrevVertexCmd.cpp; sourceTree = ""; }; - 016630F41DC8E8010081F28F /* SelPrevVertexCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelPrevVertexCmd.h; sourceTree = ""; }; - 016630F51DC8E8010081F28F /* SelSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelSurfaceCmd.cpp; sourceTree = ""; }; - 016630F61DC8E8010081F28F /* SelSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelSurfaceCmd.h; sourceTree = ""; }; - 016630F71DC8E8010081F28F /* SelTexCoordCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelTexCoordCmd.cpp; sourceTree = ""; }; - 016630F81DC8E8010081F28F /* SelTexCoordCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelTexCoordCmd.h; sourceTree = ""; }; - 016630F91DC8E8010081F28F /* SelVertexCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelVertexCmd.cpp; sourceTree = ""; }; - 016630FA1DC8E8010081F28F /* SelVertexCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelVertexCmd.h; sourceTree = ""; }; - 016630FB1DC8E8010081F28F /* SetApplicationModeCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetApplicationModeCmd.cpp; sourceTree = ""; }; - 016630FC1DC8E8010081F28F /* SetApplicationModeCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetApplicationModeCmd.h; sourceTree = ""; }; - 016630FD1DC8E8010081F28F /* SetNextSourceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetNextSourceCmd.cpp; sourceTree = ""; }; - 016630FE1DC8E8010081F28F /* SetNextSourceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetNextSourceCmd.h; sourceTree = ""; }; - 016630FF1DC8E8010081F28F /* SetPresetCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetPresetCmd.cpp; sourceTree = ""; }; - 016631001DC8E8010081F28F /* SetPresetCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetPresetCmd.h; sourceTree = ""; }; - 016631011DC8E8010081F28F /* SetSourceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetSourceCmd.cpp; sourceTree = ""; }; - 016631021DC8E8010081F28F /* SetSourceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetSourceCmd.h; sourceTree = ""; }; - 016631031DC8E8010081F28F /* SetTexMapDrawModeCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetTexMapDrawModeCmd.cpp; sourceTree = ""; }; - 016631041DC8E8010081F28F /* SetTexMapDrawModeCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetTexMapDrawModeCmd.h; sourceTree = ""; }; - 016631051DC8E8010081F28F /* StartDragSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StartDragSurfaceCmd.cpp; sourceTree = ""; }; - 016631061DC8E8010081F28F /* StartDragSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StartDragSurfaceCmd.h; sourceTree = ""; }; - 016631071DC8E8010081F28F /* ToggleAnimatedSourceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ToggleAnimatedSourceCmd.cpp; sourceTree = ""; }; - 016631081DC8E8010081F28F /* ToggleAnimatedSourceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ToggleAnimatedSourceCmd.h; sourceTree = ""; }; - 016631091DC8E8010081F28F /* TogglePerspectiveCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TogglePerspectiveCmd.cpp; sourceTree = ""; }; - 0166310A1DC8E8010081F28F /* TogglePerspectiveCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TogglePerspectiveCmd.h; sourceTree = ""; }; - 0166310B1DC8E8010081F28F /* TranslateCanvasCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TranslateCanvasCmd.cpp; sourceTree = ""; }; - 0166310C1DC8E8010081F28F /* TranslateCanvasCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TranslateCanvasCmd.h; sourceTree = ""; }; - 0166310E1DC8E8010081F28F /* Gui.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Gui.cpp; sourceTree = ""; }; - 0166310F1DC8E8010081F28F /* Gui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Gui.h; sourceTree = ""; }; - 016631111DC8E8010081F28F /* GuiBaseWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GuiBaseWidget.h; sourceTree = ""; }; - 016631121DC8E8010081F28F /* LayerPanelWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LayerPanelWidget.cpp; sourceTree = ""; }; - 016631131DC8E8010081F28F /* LayerPanelWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LayerPanelWidget.h; sourceTree = ""; }; - 016631141DC8E8010081F28F /* ProjectionEditorWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ProjectionEditorWidget.cpp; sourceTree = ""; }; - 016631151DC8E8010081F28F /* ProjectionEditorWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProjectionEditorWidget.h; sourceTree = ""; }; - 016631161DC8E8010081F28F /* ScaleWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScaleWidget.cpp; sourceTree = ""; }; - 016631171DC8E8010081F28F /* ScaleWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScaleWidget.h; sourceTree = ""; }; - 016631181DC8E8010081F28F /* SourcesEditorWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SourcesEditorWidget.cpp; sourceTree = ""; }; - 016631191DC8E8010081F28F /* SourcesEditorWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SourcesEditorWidget.h; sourceTree = ""; }; - 0166311A1DC8E8010081F28F /* SurfaceHighlightWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceHighlightWidget.cpp; sourceTree = ""; }; - 0166311B1DC8E8010081F28F /* SurfaceHighlightWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurfaceHighlightWidget.h; sourceTree = ""; }; - 0166311C1DC8E8010081F28F /* TextureEditorWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextureEditorWidget.cpp; sourceTree = ""; }; - 0166311D1DC8E8010081F28F /* TextureEditorWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextureEditorWidget.h; sourceTree = ""; }; - 0166311E1DC8E8010081F28F /* TextureHighlightWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextureHighlightWidget.cpp; sourceTree = ""; }; - 0166311F1DC8E8010081F28F /* TextureHighlightWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextureHighlightWidget.h; sourceTree = ""; }; - 016631211DC8E8010081F28F /* Info.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Info.cpp; sourceTree = ""; }; - 016631221DC8E8010081F28F /* Info.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Info.h; sourceTree = ""; }; - 016631241DC8E8010081F28F /* DirectoryWatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DirectoryWatcher.cpp; sourceTree = ""; }; - 016631251DC8E8010081F28F /* DirectoryWatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DirectoryWatcher.h; sourceTree = ""; }; - 016631261DC8E8010081F28F /* MediaServer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaServer.cpp; sourceTree = ""; }; - 016631271DC8E8010081F28F /* MediaServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaServer.h; sourceTree = ""; }; - 016631281DC8E8010081F28F /* ofxPiMapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxPiMapper.cpp; sourceTree = ""; }; - 016631291DC8E8010081F28F /* ofxPiMapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxPiMapper.h; sourceTree = ""; }; - 0166312B1DC8E8010081F28F /* BaseSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BaseSource.cpp; sourceTree = ""; }; - 0166312C1DC8E8010081F28F /* BaseSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseSource.h; sourceTree = ""; }; - 0166312D1DC8E8010081F28F /* FboSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FboSource.cpp; sourceTree = ""; }; - 0166312E1DC8E8010081F28F /* FboSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FboSource.h; sourceTree = ""; }; - 0166312F1DC8E8010081F28F /* ImageSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageSource.cpp; sourceTree = ""; }; - 016631301DC8E8010081F28F /* ImageSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageSource.h; sourceTree = ""; }; - 016631311DC8E8010081F28F /* OMXPlayerCache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OMXPlayerCache.cpp; sourceTree = ""; }; - 016631321DC8E8010081F28F /* OMXPlayerCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OMXPlayerCache.h; sourceTree = ""; }; - 016631331DC8E8010081F28F /* SourceType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SourceType.h; sourceTree = ""; }; - 016631341DC8E8010081F28F /* VideoSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VideoSource.cpp; sourceTree = ""; }; - 016631351DC8E8010081F28F /* VideoSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VideoSource.h; sourceTree = ""; }; - 016631371DC8E8010081F28F /* BaseSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BaseSurface.cpp; sourceTree = ""; }; - 016631381DC8E8010081F28F /* BaseSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseSurface.h; sourceTree = ""; }; - 016631391DC8E8010081F28F /* GridWarpSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GridWarpSurface.cpp; sourceTree = ""; }; - 0166313A1DC8E8010081F28F /* GridWarpSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GridWarpSurface.h; sourceTree = ""; }; - 0166313B1DC8E8010081F28F /* HexagonSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HexagonSurface.cpp; sourceTree = ""; }; - 0166313C1DC8E8010081F28F /* HexagonSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HexagonSurface.h; sourceTree = ""; }; - 0166313D1DC8E8010081F28F /* QuadSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = QuadSurface.cpp; sourceTree = ""; }; - 0166313E1DC8E8010081F28F /* QuadSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QuadSurface.h; sourceTree = ""; }; - 0166313F1DC8E8010081F28F /* SurfaceFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceFactory.cpp; sourceTree = ""; }; - 016631401DC8E8010081F28F /* SurfaceFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurfaceFactory.h; sourceTree = ""; }; - 016631411DC8E8010081F28F /* SurfaceManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceManager.cpp; sourceTree = ""; }; - 016631421DC8E8010081F28F /* SurfaceManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurfaceManager.h; sourceTree = ""; }; - 016631431DC8E8010081F28F /* SurfaceStack.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceStack.cpp; sourceTree = ""; }; - 016631441DC8E8010081F28F /* SurfaceStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurfaceStack.h; sourceTree = ""; }; - 016631451DC8E8010081F28F /* SurfaceType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurfaceType.h; sourceTree = ""; }; - 016631461DC8E8010081F28F /* TriangleSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TriangleSurface.cpp; sourceTree = ""; }; - 016631471DC8E8010081F28F /* TriangleSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TriangleSurface.h; sourceTree = ""; }; - 016631491DC8E8010081F28F /* BaseJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BaseJoint.cpp; sourceTree = ""; }; - 0166314A1DC8E8010081F28F /* BaseJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseJoint.h; sourceTree = ""; }; - 0166314B1DC8E8010081F28F /* CircleJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CircleJoint.cpp; sourceTree = ""; }; - 0166314C1DC8E8010081F28F /* CircleJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CircleJoint.h; sourceTree = ""; }; - 0166314D1DC8E8010081F28F /* EditorType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EditorType.h; sourceTree = ""; }; - 0166314E1DC8E8010081F28F /* GuiMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GuiMode.h; sourceTree = ""; }; - 0166314F1DC8E8010081F28F /* RadioList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RadioList.cpp; sourceTree = ""; }; - 016631501DC8E8010081F28F /* RadioList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RadioList.h; sourceTree = ""; }; - 016631521DC8E8010081F28F /* HomographyHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HomographyHelper.cpp; sourceTree = ""; }; - 016631531DC8E8010081F28F /* HomographyHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomographyHelper.h; sourceTree = ""; }; + 012CB6D81FFF893D00F8F880 /* Application.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Application.cpp; sourceTree = ""; }; + 012CB6D91FFF893D00F8F880 /* Application.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Application.h; sourceTree = ""; }; + 012CB6DB1FFF893D00F8F880 /* ApplicationBaseMode.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ApplicationBaseMode.cpp; sourceTree = ""; }; + 012CB6DC1FFF893D00F8F880 /* ApplicationBaseMode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ApplicationBaseMode.h; sourceTree = ""; }; + 012CB6DD1FFF893D00F8F880 /* PresentationMode.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = PresentationMode.cpp; sourceTree = ""; }; + 012CB6DE1FFF893D00F8F880 /* PresentationMode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PresentationMode.h; sourceTree = ""; }; + 012CB6DF1FFF893D00F8F880 /* ProjectionMappingMode.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ProjectionMappingMode.cpp; sourceTree = ""; }; + 012CB6E01FFF893D00F8F880 /* ProjectionMappingMode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ProjectionMappingMode.h; sourceTree = ""; }; + 012CB6E11FFF893D00F8F880 /* SourceSelectionMode.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SourceSelectionMode.cpp; sourceTree = ""; }; + 012CB6E21FFF893D00F8F880 /* SourceSelectionMode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SourceSelectionMode.h; sourceTree = ""; }; + 012CB6E31FFF893D00F8F880 /* TextureMappingMode.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TextureMappingMode.cpp; sourceTree = ""; }; + 012CB6E41FFF893D00F8F880 /* TextureMappingMode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TextureMappingMode.h; sourceTree = ""; }; + 012CB6E51FFF893D00F8F880 /* SettingsLoader.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SettingsLoader.cpp; sourceTree = ""; }; + 012CB6E61FFF893D00F8F880 /* SettingsLoader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SettingsLoader.h; sourceTree = ""; }; + 012CB6E81FFF893D00F8F880 /* AddGridColCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = AddGridColCmd.cpp; sourceTree = ""; }; + 012CB6E91FFF893D00F8F880 /* AddGridColCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AddGridColCmd.h; sourceTree = ""; }; + 012CB6EA1FFF893D00F8F880 /* AddGridRowCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = AddGridRowCmd.cpp; sourceTree = ""; }; + 012CB6EB1FFF893D00F8F880 /* AddGridRowCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AddGridRowCmd.h; sourceTree = ""; }; + 012CB6EC1FFF893D00F8F880 /* AddSurfaceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = AddSurfaceCmd.cpp; sourceTree = ""; }; + 012CB6ED1FFF893D00F8F880 /* AddSurfaceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AddSurfaceCmd.h; sourceTree = ""; }; + 012CB6EE1FFF893D00F8F880 /* BaseCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BaseCmd.h; sourceTree = ""; }; + 012CB6EF1FFF893D00F8F880 /* ClearSurfacesCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ClearSurfacesCmd.cpp; sourceTree = ""; }; + 012CB6F01FFF893D00F8F880 /* ClearSurfacesCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ClearSurfacesCmd.h; sourceTree = ""; }; + 012CB6F11FFF893D00F8F880 /* CmdManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = CmdManager.cpp; sourceTree = ""; }; + 012CB6F21FFF893D00F8F880 /* CmdManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CmdManager.h; sourceTree = ""; }; + 012CB6F31FFF893D00F8F880 /* DeselectSurfaceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = DeselectSurfaceCmd.cpp; sourceTree = ""; }; + 012CB6F41FFF893D00F8F880 /* DeselectSurfaceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DeselectSurfaceCmd.h; sourceTree = ""; }; + 012CB6F51FFF893D00F8F880 /* DeselectTexCoordCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = DeselectTexCoordCmd.cpp; sourceTree = ""; }; + 012CB6F61FFF893D00F8F880 /* DeselectTexCoordCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DeselectTexCoordCmd.h; sourceTree = ""; }; + 012CB6F71FFF893D00F8F880 /* DuplicateSurfaceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = DuplicateSurfaceCmd.cpp; sourceTree = ""; }; + 012CB6F81FFF893D00F8F880 /* DuplicateSurfaceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DuplicateSurfaceCmd.h; sourceTree = ""; }; + 012CB6F91FFF893D00F8F880 /* MvAllTexCoordsCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MvAllTexCoordsCmd.cpp; sourceTree = ""; }; + 012CB6FA1FFF893D00F8F880 /* MvAllTexCoordsCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MvAllTexCoordsCmd.h; sourceTree = ""; }; + 012CB6FB1FFF893D00F8F880 /* MvLayerDnCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MvLayerDnCmd.cpp; sourceTree = ""; }; + 012CB6FC1FFF893D00F8F880 /* MvLayerDnCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MvLayerDnCmd.h; sourceTree = ""; }; + 012CB6FD1FFF893D00F8F880 /* MvLayerUpCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MvLayerUpCmd.cpp; sourceTree = ""; }; + 012CB6FE1FFF893D00F8F880 /* MvLayerUpCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MvLayerUpCmd.h; sourceTree = ""; }; + 012CB6FF1FFF893D00F8F880 /* MvSelectionCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MvSelectionCmd.cpp; sourceTree = ""; }; + 012CB7001FFF893D00F8F880 /* MvSelectionCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MvSelectionCmd.h; sourceTree = ""; }; + 012CB7011FFF893D00F8F880 /* MvSurfaceVertCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MvSurfaceVertCmd.cpp; sourceTree = ""; }; + 012CB7021FFF893D00F8F880 /* MvSurfaceVertCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MvSurfaceVertCmd.h; sourceTree = ""; }; + 012CB7031FFF893D00F8F880 /* MvTexCoordCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MvTexCoordCmd.cpp; sourceTree = ""; }; + 012CB7041FFF893D00F8F880 /* MvTexCoordCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MvTexCoordCmd.h; sourceTree = ""; }; + 012CB7051FFF893D00F8F880 /* RmGridColCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RmGridColCmd.cpp; sourceTree = ""; }; + 012CB7061FFF893D00F8F880 /* RmGridColCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RmGridColCmd.h; sourceTree = ""; }; + 012CB7071FFF893D00F8F880 /* RmGridRowCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RmGridRowCmd.cpp; sourceTree = ""; }; + 012CB7081FFF893D00F8F880 /* RmGridRowCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RmGridRowCmd.h; sourceTree = ""; }; + 012CB7091FFF893D00F8F880 /* RmSurfaceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RmSurfaceCmd.cpp; sourceTree = ""; }; + 012CB70A1FFF893D00F8F880 /* RmSurfaceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RmSurfaceCmd.h; sourceTree = ""; }; + 012CB70B1FFF893D00F8F880 /* SaveTexCoordPosCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SaveTexCoordPosCmd.cpp; sourceTree = ""; }; + 012CB70C1FFF893D00F8F880 /* SaveTexCoordPosCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SaveTexCoordPosCmd.h; sourceTree = ""; }; + 012CB70D1FFF893D00F8F880 /* ScaleSurfaceFromToCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ScaleSurfaceFromToCmd.cpp; sourceTree = ""; }; + 012CB70E1FFF893D00F8F880 /* ScaleSurfaceFromToCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ScaleSurfaceFromToCmd.h; sourceTree = ""; }; + 012CB70F1FFF893D00F8F880 /* SelNextSurfaceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SelNextSurfaceCmd.cpp; sourceTree = ""; }; + 012CB7101FFF893D00F8F880 /* SelNextSurfaceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SelNextSurfaceCmd.h; sourceTree = ""; }; + 012CB7111FFF893D00F8F880 /* SelNextTexCoordCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SelNextTexCoordCmd.cpp; sourceTree = ""; }; + 012CB7121FFF893D00F8F880 /* SelNextTexCoordCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SelNextTexCoordCmd.h; sourceTree = ""; }; + 012CB7131FFF893D00F8F880 /* SelNextVertexCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SelNextVertexCmd.cpp; sourceTree = ""; }; + 012CB7141FFF893D00F8F880 /* SelNextVertexCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SelNextVertexCmd.h; sourceTree = ""; }; + 012CB7151FFF893D00F8F880 /* SelPrevSurfaceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SelPrevSurfaceCmd.cpp; sourceTree = ""; }; + 012CB7161FFF893D00F8F880 /* SelPrevSurfaceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SelPrevSurfaceCmd.h; sourceTree = ""; }; + 012CB7171FFF893D00F8F880 /* SelPrevTexCoordCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SelPrevTexCoordCmd.cpp; sourceTree = ""; }; + 012CB7181FFF893D00F8F880 /* SelPrevTexCoordCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SelPrevTexCoordCmd.h; sourceTree = ""; }; + 012CB7191FFF893D00F8F880 /* SelPrevVertexCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SelPrevVertexCmd.cpp; sourceTree = ""; }; + 012CB71A1FFF893D00F8F880 /* SelPrevVertexCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SelPrevVertexCmd.h; sourceTree = ""; }; + 012CB71B1FFF893D00F8F880 /* SelSurfaceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SelSurfaceCmd.cpp; sourceTree = ""; }; + 012CB71C1FFF893D00F8F880 /* SelSurfaceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SelSurfaceCmd.h; sourceTree = ""; }; + 012CB71D1FFF893D00F8F880 /* SelTexCoordCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SelTexCoordCmd.cpp; sourceTree = ""; }; + 012CB71E1FFF893D00F8F880 /* SelTexCoordCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SelTexCoordCmd.h; sourceTree = ""; }; + 012CB71F1FFF893D00F8F880 /* SelVertexCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SelVertexCmd.cpp; sourceTree = ""; }; + 012CB7201FFF893D00F8F880 /* SelVertexCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SelVertexCmd.h; sourceTree = ""; }; + 012CB7211FFF893D00F8F880 /* SetApplicationModeCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SetApplicationModeCmd.cpp; sourceTree = ""; }; + 012CB7221FFF893D00F8F880 /* SetApplicationModeCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SetApplicationModeCmd.h; sourceTree = ""; }; + 012CB7231FFF893D00F8F880 /* SetNextSourceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SetNextSourceCmd.cpp; sourceTree = ""; }; + 012CB7241FFF893D00F8F880 /* SetNextSourceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SetNextSourceCmd.h; sourceTree = ""; }; + 012CB7251FFF893D00F8F880 /* SetPresetCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SetPresetCmd.cpp; sourceTree = ""; }; + 012CB7261FFF893D00F8F880 /* SetPresetCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SetPresetCmd.h; sourceTree = ""; }; + 012CB7271FFF893D00F8F880 /* SetSourceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SetSourceCmd.cpp; sourceTree = ""; }; + 012CB7281FFF893D00F8F880 /* SetSourceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SetSourceCmd.h; sourceTree = ""; }; + 012CB7291FFF893D00F8F880 /* SetTexMapDrawModeCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SetTexMapDrawModeCmd.cpp; sourceTree = ""; }; + 012CB72A1FFF893D00F8F880 /* SetTexMapDrawModeCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SetTexMapDrawModeCmd.h; sourceTree = ""; }; + 012CB72B1FFF893D00F8F880 /* StartDragSurfaceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = StartDragSurfaceCmd.cpp; sourceTree = ""; }; + 012CB72C1FFF893D00F8F880 /* StartDragSurfaceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StartDragSurfaceCmd.h; sourceTree = ""; }; + 012CB72D1FFF893D00F8F880 /* ToggleAnimatedSourceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ToggleAnimatedSourceCmd.cpp; sourceTree = ""; }; + 012CB72E1FFF893D00F8F880 /* ToggleAnimatedSourceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ToggleAnimatedSourceCmd.h; sourceTree = ""; }; + 012CB72F1FFF893D00F8F880 /* TogglePerspectiveCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TogglePerspectiveCmd.cpp; sourceTree = ""; }; + 012CB7301FFF893D00F8F880 /* TogglePerspectiveCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TogglePerspectiveCmd.h; sourceTree = ""; }; + 012CB7311FFF893D00F8F880 /* TranslateCanvasCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TranslateCanvasCmd.cpp; sourceTree = ""; }; + 012CB7321FFF893D00F8F880 /* TranslateCanvasCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TranslateCanvasCmd.h; sourceTree = ""; }; + 012CB7341FFF893D00F8F880 /* Gui.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Gui.cpp; sourceTree = ""; }; + 012CB7351FFF893D00F8F880 /* Gui.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Gui.h; sourceTree = ""; }; + 012CB7371FFF893D00F8F880 /* GuiBaseWidget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GuiBaseWidget.h; sourceTree = ""; }; + 012CB7381FFF893D00F8F880 /* LayerPanelWidget.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = LayerPanelWidget.cpp; sourceTree = ""; }; + 012CB7391FFF893D00F8F880 /* LayerPanelWidget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LayerPanelWidget.h; sourceTree = ""; }; + 012CB73A1FFF893D00F8F880 /* ProjectionEditorWidget.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ProjectionEditorWidget.cpp; sourceTree = ""; }; + 012CB73B1FFF893D00F8F880 /* ProjectionEditorWidget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ProjectionEditorWidget.h; sourceTree = ""; }; + 012CB73C1FFF893D00F8F880 /* ScaleWidget.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ScaleWidget.cpp; sourceTree = ""; }; + 012CB73D1FFF893D00F8F880 /* ScaleWidget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ScaleWidget.h; sourceTree = ""; }; + 012CB73E1FFF893D00F8F880 /* SourcesEditorWidget.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SourcesEditorWidget.cpp; sourceTree = ""; }; + 012CB73F1FFF893D00F8F880 /* SourcesEditorWidget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SourcesEditorWidget.h; sourceTree = ""; }; + 012CB7401FFF893D00F8F880 /* SurfaceHighlightWidget.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceHighlightWidget.cpp; sourceTree = ""; }; + 012CB7411FFF893D00F8F880 /* SurfaceHighlightWidget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SurfaceHighlightWidget.h; sourceTree = ""; }; + 012CB7421FFF893D00F8F880 /* TextureEditorWidget.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TextureEditorWidget.cpp; sourceTree = ""; }; + 012CB7431FFF893D00F8F880 /* TextureEditorWidget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TextureEditorWidget.h; sourceTree = ""; }; + 012CB7441FFF893D00F8F880 /* TextureHighlightWidget.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TextureHighlightWidget.cpp; sourceTree = ""; }; + 012CB7451FFF893D00F8F880 /* TextureHighlightWidget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TextureHighlightWidget.h; sourceTree = ""; }; + 012CB7471FFF893D00F8F880 /* Info.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Info.cpp; sourceTree = ""; }; + 012CB7481FFF893D00F8F880 /* Info.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Info.h; sourceTree = ""; }; + 012CB74A1FFF893D00F8F880 /* DirectoryWatcher.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = DirectoryWatcher.cpp; sourceTree = ""; }; + 012CB74B1FFF893D00F8F880 /* DirectoryWatcher.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DirectoryWatcher.h; sourceTree = ""; }; + 012CB74C1FFF893D00F8F880 /* MediaServer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MediaServer.cpp; sourceTree = ""; }; + 012CB74D1FFF893D00F8F880 /* MediaServer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MediaServer.h; sourceTree = ""; }; + 012CB74E1FFF893D00F8F880 /* Mode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Mode.h; sourceTree = ""; }; + 012CB74F1FFF893D00F8F880 /* ofxPiMapper.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxPiMapper.cpp; sourceTree = ""; }; + 012CB7501FFF893D00F8F880 /* ofxPiMapper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxPiMapper.h; sourceTree = ""; }; + 012CB7521FFF893D00F8F880 /* BaseSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = BaseSource.cpp; sourceTree = ""; }; + 012CB7531FFF893D00F8F880 /* BaseSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BaseSource.h; sourceTree = ""; }; + 012CB7541FFF893D00F8F880 /* FboSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = FboSource.cpp; sourceTree = ""; }; + 012CB7551FFF893D00F8F880 /* FboSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FboSource.h; sourceTree = ""; }; + 012CB7561FFF893D00F8F880 /* ImageSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ImageSource.cpp; sourceTree = ""; }; + 012CB7571FFF893D00F8F880 /* ImageSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ImageSource.h; sourceTree = ""; }; + 012CB7581FFF893D00F8F880 /* magSlide.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = magSlide.cpp; sourceTree = ""; }; + 012CB7591FFF893D00F8F880 /* magSlide.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = magSlide.h; sourceTree = ""; }; + 012CB75A1FFF893D00F8F880 /* magSlideShowSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = magSlideShowSource.cpp; sourceTree = ""; }; + 012CB75B1FFF893D00F8F880 /* magSlideShowSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = magSlideShowSource.h; sourceTree = ""; }; + 012CB75C1FFF893D00F8F880 /* magSlideTransition.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = magSlideTransition.cpp; sourceTree = ""; }; + 012CB75D1FFF893D00F8F880 /* magSlideTransition.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = magSlideTransition.h; sourceTree = ""; }; + 012CB75E1FFF893D00F8F880 /* magSlideTransitionFactory.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = magSlideTransitionFactory.cpp; sourceTree = ""; }; + 012CB75F1FFF893D00F8F880 /* magSlideTransitionFactory.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = magSlideTransitionFactory.h; sourceTree = ""; }; + 012CB7601FFF893D00F8F880 /* OMXPlayerCache.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = OMXPlayerCache.cpp; sourceTree = ""; }; + 012CB7611FFF893D00F8F880 /* OMXPlayerCache.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OMXPlayerCache.h; sourceTree = ""; }; + 012CB7621FFF893D00F8F880 /* SourceType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SourceType.h; sourceTree = ""; }; + 012CB7631FFF893D00F8F880 /* SourceTypeHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SourceTypeHelper.h; sourceTree = ""; }; + 012CB7641FFF893D00F8F880 /* VideoSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = VideoSource.cpp; sourceTree = ""; }; + 012CB7651FFF893D00F8F880 /* VideoSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VideoSource.h; sourceTree = ""; }; + 012CB7671FFF893D00F8F880 /* BaseSurface.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = BaseSurface.cpp; sourceTree = ""; }; + 012CB7681FFF893D00F8F880 /* BaseSurface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BaseSurface.h; sourceTree = ""; }; + 012CB7691FFF893D00F8F880 /* CircleSurface.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = CircleSurface.cpp; sourceTree = ""; }; + 012CB76A1FFF893D00F8F880 /* CircleSurface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CircleSurface.h; sourceTree = ""; }; + 012CB76B1FFF893D00F8F880 /* GridWarpSurface.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GridWarpSurface.cpp; sourceTree = ""; }; + 012CB76C1FFF893D00F8F880 /* GridWarpSurface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GridWarpSurface.h; sourceTree = ""; }; + 012CB76D1FFF893D00F8F880 /* HexagonSurface.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = HexagonSurface.cpp; sourceTree = ""; }; + 012CB76E1FFF893D00F8F880 /* HexagonSurface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HexagonSurface.h; sourceTree = ""; }; + 012CB76F1FFF893D00F8F880 /* QuadSurface.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = QuadSurface.cpp; sourceTree = ""; }; + 012CB7701FFF893D00F8F880 /* QuadSurface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = QuadSurface.h; sourceTree = ""; }; + 012CB7711FFF893D00F8F880 /* SurfaceFactory.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceFactory.cpp; sourceTree = ""; }; + 012CB7721FFF893D00F8F880 /* SurfaceFactory.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SurfaceFactory.h; sourceTree = ""; }; + 012CB7731FFF893D00F8F880 /* SurfaceManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceManager.cpp; sourceTree = ""; }; + 012CB7741FFF893D00F8F880 /* SurfaceManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SurfaceManager.h; sourceTree = ""; }; + 012CB7751FFF893D00F8F880 /* SurfaceStack.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceStack.cpp; sourceTree = ""; }; + 012CB7761FFF893D00F8F880 /* SurfaceStack.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SurfaceStack.h; sourceTree = ""; }; + 012CB7771FFF893D00F8F880 /* SurfaceType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SurfaceType.h; sourceTree = ""; }; + 012CB7781FFF893D00F8F880 /* TriangleSurface.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TriangleSurface.cpp; sourceTree = ""; }; + 012CB7791FFF893D00F8F880 /* TriangleSurface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TriangleSurface.h; sourceTree = ""; }; + 012CB77B1FFF893D00F8F880 /* Vec2.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Vec2.cpp; sourceTree = ""; }; + 012CB77C1FFF893D00F8F880 /* Vec2.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Vec2.h; sourceTree = ""; }; + 012CB77D1FFF893D00F8F880 /* Vec3.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Vec3.cpp; sourceTree = ""; }; + 012CB77E1FFF893D00F8F880 /* Vec3.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Vec3.h; sourceTree = ""; }; + 012CB7801FFF893D00F8F880 /* BaseJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = BaseJoint.cpp; sourceTree = ""; }; + 012CB7811FFF893D00F8F880 /* BaseJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BaseJoint.h; sourceTree = ""; }; + 012CB7821FFF893D00F8F880 /* CircleJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = CircleJoint.cpp; sourceTree = ""; }; + 012CB7831FFF893D00F8F880 /* CircleJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CircleJoint.h; sourceTree = ""; }; + 012CB7841FFF893D00F8F880 /* EditorType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EditorType.h; sourceTree = ""; }; + 012CB7851FFF893D00F8F880 /* GuiMode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GuiMode.h; sourceTree = ""; }; + 012CB7861FFF893D00F8F880 /* RadioList.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RadioList.cpp; sourceTree = ""; }; + 012CB7871FFF893D00F8F880 /* RadioList.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RadioList.h; sourceTree = ""; }; + 012CB7891FFF893D00F8F880 /* HomographyHelper.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = HomographyHelper.cpp; sourceTree = ""; }; + 012CB78A1FFF893D00F8F880 /* HomographyHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HomographyHelper.h; sourceTree = ""; }; + 012CB7DC1FFF8A8200F8F880 /* ofxBaseGui.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxBaseGui.cpp; sourceTree = ""; }; + 012CB7DD1FFF8A8200F8F880 /* ofxBaseGui.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxBaseGui.h; sourceTree = ""; }; + 012CB7DE1FFF8A8200F8F880 /* ofxButton.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxButton.cpp; sourceTree = ""; }; + 012CB7DF1FFF8A8200F8F880 /* ofxButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxButton.h; sourceTree = ""; }; + 012CB7E01FFF8A8200F8F880 /* ofxColorPicker.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxColorPicker.cpp; sourceTree = ""; }; + 012CB7E11FFF8A8200F8F880 /* ofxColorPicker.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxColorPicker.h; sourceTree = ""; }; + 012CB7E21FFF8A8200F8F880 /* ofxGui.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxGui.h; sourceTree = ""; }; + 012CB7E31FFF8A8200F8F880 /* ofxGuiGroup.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxGuiGroup.cpp; sourceTree = ""; }; + 012CB7E41FFF8A8200F8F880 /* ofxGuiGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxGuiGroup.h; sourceTree = ""; }; + 012CB7E51FFF8A8200F8F880 /* ofxInputField.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxInputField.cpp; sourceTree = ""; }; + 012CB7E61FFF8A8200F8F880 /* ofxInputField.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxInputField.h; sourceTree = ""; }; + 012CB7E71FFF8A8200F8F880 /* ofxLabel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxLabel.cpp; sourceTree = ""; }; + 012CB7E81FFF8A8200F8F880 /* ofxLabel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxLabel.h; sourceTree = ""; }; + 012CB7E91FFF8A8300F8F880 /* ofxPanel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxPanel.cpp; sourceTree = ""; }; + 012CB7EA1FFF8A8300F8F880 /* ofxPanel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxPanel.h; sourceTree = ""; }; + 012CB7EB1FFF8A8300F8F880 /* ofxSlider.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSlider.cpp; sourceTree = ""; }; + 012CB7EC1FFF8A8300F8F880 /* ofxSlider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxSlider.h; sourceTree = ""; }; + 012CB7ED1FFF8A8300F8F880 /* ofxSliderGroup.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSliderGroup.cpp; sourceTree = ""; }; + 012CB7EE1FFF8A8300F8F880 /* ofxSliderGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxSliderGroup.h; sourceTree = ""; }; + 012CB7EF1FFF8A8300F8F880 /* ofxToggle.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxToggle.cpp; sourceTree = ""; }; + 012CB7F01FFF8A8300F8F880 /* ofxToggle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxToggle.h; sourceTree = ""; }; 39264839192224DA0008A7F5 /* ofxXmlSettings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ofxXmlSettings.cpp; path = ../../ofxXmlSettings/src/ofxXmlSettings.cpp; sourceTree = ""; }; 3926483A192224DA0008A7F5 /* ofxXmlSettings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ofxXmlSettings.h; path = ../../ofxXmlSettings/src/ofxXmlSettings.h; sourceTree = ""; }; 3926483D192224F90008A7F5 /* tinyxml.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tinyxml.cpp; sourceTree = ""; }; 3926483E192224F90008A7F5 /* tinyxml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tinyxml.h; sourceTree = ""; }; 3926483F192224F90008A7F5 /* tinyxmlerror.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tinyxmlerror.cpp; sourceTree = ""; }; 39264840192224F90008A7F5 /* tinyxmlparser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tinyxmlparser.cpp; sourceTree = ""; }; - 3933D5C219BB87BD000ACA55 /* ofxBaseGui.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxBaseGui.cpp; sourceTree = ""; }; - 3933D5C319BB87BD000ACA55 /* ofxBaseGui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxBaseGui.h; sourceTree = ""; }; - 3933D5C419BB87BD000ACA55 /* ofxButton.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxButton.cpp; sourceTree = ""; }; - 3933D5C519BB87BD000ACA55 /* ofxButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxButton.h; sourceTree = ""; }; - 3933D5C619BB87BD000ACA55 /* ofxGui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxGui.h; sourceTree = ""; }; - 3933D5C719BB87BD000ACA55 /* ofxGuiGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxGuiGroup.cpp; sourceTree = ""; }; - 3933D5C819BB87BD000ACA55 /* ofxGuiGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxGuiGroup.h; sourceTree = ""; }; - 3933D5C919BB87BD000ACA55 /* ofxLabel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxLabel.cpp; sourceTree = ""; }; - 3933D5CA19BB87BD000ACA55 /* ofxLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxLabel.h; sourceTree = ""; }; - 3933D5CB19BB87BD000ACA55 /* ofxPanel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxPanel.cpp; sourceTree = ""; }; - 3933D5CC19BB87BD000ACA55 /* ofxPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxPanel.h; sourceTree = ""; }; - 3933D5CD19BB87BD000ACA55 /* ofxSlider.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSlider.cpp; sourceTree = ""; }; - 3933D5CE19BB87BD000ACA55 /* ofxSlider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxSlider.h; sourceTree = ""; }; - 3933D5CF19BB87BD000ACA55 /* ofxSliderGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSliderGroup.cpp; sourceTree = ""; }; - 3933D5D019BB87BD000ACA55 /* ofxSliderGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxSliderGroup.h; sourceTree = ""; }; - 3933D5D119BB87BD000ACA55 /* ofxToggle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxToggle.cpp; sourceTree = ""; }; - 3933D5D219BB87BD000ACA55 /* ofxToggle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxToggle.h; sourceTree = ""; }; 397EFC801A09047C0009286E /* CameraSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CameraSource.cpp; sourceTree = ""; }; 397EFC811A09047C0009286E /* CameraSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CameraSource.h; sourceTree = ""; }; BBAB23BE13894E4700AA2426 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../libs/glut/lib/osx/GLUT.framework; sourceTree = ""; }; @@ -373,255 +401,307 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 016630B01DC8E8010081F28F /* src */ = { + 012CB6D61FFF893D00F8F880 /* src */ = { isa = PBXGroup; children = ( - 016630B11DC8E8010081F28F /* Application */, - 016630C11DC8E8010081F28F /* Commands */, - 0166310D1DC8E8010081F28F /* Gui */, - 016631201DC8E8010081F28F /* Info */, - 016631231DC8E8010081F28F /* MediaServer */, - 016631281DC8E8010081F28F /* ofxPiMapper.cpp */, - 016631291DC8E8010081F28F /* ofxPiMapper.h */, - 0100D9421E33E6C1000D7FA5 /* Mode.h */, - 0166312A1DC8E8010081F28F /* Sources */, - 016631361DC8E8010081F28F /* Surfaces */, - 016631481DC8E8010081F28F /* UserInterface */, - 016631511DC8E8010081F28F /* Utils */, + 012CB6D71FFF893D00F8F880 /* Application */, + 012CB6E71FFF893D00F8F880 /* Commands */, + 012CB7331FFF893D00F8F880 /* Gui */, + 012CB7461FFF893D00F8F880 /* Info */, + 012CB7491FFF893D00F8F880 /* MediaServer */, + 012CB74E1FFF893D00F8F880 /* Mode.h */, + 012CB74F1FFF893D00F8F880 /* ofxPiMapper.cpp */, + 012CB7501FFF893D00F8F880 /* ofxPiMapper.h */, + 012CB7511FFF893D00F8F880 /* Sources */, + 012CB7661FFF893D00F8F880 /* Surfaces */, + 012CB77A1FFF893D00F8F880 /* Types */, + 012CB77F1FFF893D00F8F880 /* UserInterface */, + 012CB7881FFF893D00F8F880 /* Utils */, ); name = src; path = ../src; sourceTree = ""; }; - 016630B11DC8E8010081F28F /* Application */ = { + 012CB6D71FFF893D00F8F880 /* Application */ = { isa = PBXGroup; children = ( - 016630B21DC8E8010081F28F /* Application.cpp */, - 016630B31DC8E8010081F28F /* Application.h */, - 016630B41DC8E8010081F28F /* Modes */, - 016630BF1DC8E8010081F28F /* SettingsLoader.cpp */, - 016630C01DC8E8010081F28F /* SettingsLoader.h */, + 012CB6D81FFF893D00F8F880 /* Application.cpp */, + 012CB6D91FFF893D00F8F880 /* Application.h */, + 012CB6DA1FFF893D00F8F880 /* Modes */, + 012CB6E51FFF893D00F8F880 /* SettingsLoader.cpp */, + 012CB6E61FFF893D00F8F880 /* SettingsLoader.h */, ); path = Application; sourceTree = ""; }; - 016630B41DC8E8010081F28F /* Modes */ = { + 012CB6DA1FFF893D00F8F880 /* Modes */ = { isa = PBXGroup; children = ( - 016630B51DC8E8010081F28F /* ApplicationBaseMode.cpp */, - 016630B61DC8E8010081F28F /* ApplicationBaseMode.h */, - 016630B71DC8E8010081F28F /* PresentationMode.cpp */, - 016630B81DC8E8010081F28F /* PresentationMode.h */, - 016630B91DC8E8010081F28F /* ProjectionMappingMode.cpp */, - 016630BA1DC8E8010081F28F /* ProjectionMappingMode.h */, - 016630BB1DC8E8010081F28F /* SourceSelectionMode.cpp */, - 016630BC1DC8E8010081F28F /* SourceSelectionMode.h */, - 016630BD1DC8E8010081F28F /* TextureMappingMode.cpp */, - 016630BE1DC8E8010081F28F /* TextureMappingMode.h */, + 012CB6DB1FFF893D00F8F880 /* ApplicationBaseMode.cpp */, + 012CB6DC1FFF893D00F8F880 /* ApplicationBaseMode.h */, + 012CB6DD1FFF893D00F8F880 /* PresentationMode.cpp */, + 012CB6DE1FFF893D00F8F880 /* PresentationMode.h */, + 012CB6DF1FFF893D00F8F880 /* ProjectionMappingMode.cpp */, + 012CB6E01FFF893D00F8F880 /* ProjectionMappingMode.h */, + 012CB6E11FFF893D00F8F880 /* SourceSelectionMode.cpp */, + 012CB6E21FFF893D00F8F880 /* SourceSelectionMode.h */, + 012CB6E31FFF893D00F8F880 /* TextureMappingMode.cpp */, + 012CB6E41FFF893D00F8F880 /* TextureMappingMode.h */, ); path = Modes; sourceTree = ""; }; - 016630C11DC8E8010081F28F /* Commands */ = { + 012CB6E71FFF893D00F8F880 /* Commands */ = { isa = PBXGroup; children = ( - 016630C21DC8E8010081F28F /* AddGridColCmd.cpp */, - 016630C31DC8E8010081F28F /* AddGridColCmd.h */, - 016630C41DC8E8010081F28F /* AddGridRowCmd.cpp */, - 016630C51DC8E8010081F28F /* AddGridRowCmd.h */, - 016630C61DC8E8010081F28F /* AddSurfaceCmd.cpp */, - 016630C71DC8E8010081F28F /* AddSurfaceCmd.h */, - 016630C81DC8E8010081F28F /* BaseCmd.h */, - 016630C91DC8E8010081F28F /* ClearSurfacesCmd.cpp */, - 016630CA1DC8E8010081F28F /* ClearSurfacesCmd.h */, - 016630CB1DC8E8010081F28F /* CmdManager.cpp */, - 016630CC1DC8E8010081F28F /* CmdManager.h */, - 016630CD1DC8E8010081F28F /* DeselectSurfaceCmd.cpp */, - 016630CE1DC8E8010081F28F /* DeselectSurfaceCmd.h */, - 016630CF1DC8E8010081F28F /* DeselectTexCoordCmd.cpp */, - 016630D01DC8E8010081F28F /* DeselectTexCoordCmd.h */, - 016630D11DC8E8010081F28F /* DuplicateSurfaceCmd.cpp */, - 016630D21DC8E8010081F28F /* DuplicateSurfaceCmd.h */, - 016630D31DC8E8010081F28F /* MvAllTexCoordsCmd.cpp */, - 016630D41DC8E8010081F28F /* MvAllTexCoordsCmd.h */, - 016630D51DC8E8010081F28F /* MvLayerDnCmd.cpp */, - 016630D61DC8E8010081F28F /* MvLayerDnCmd.h */, - 016630D71DC8E8010081F28F /* MvLayerUpCmd.cpp */, - 016630D81DC8E8010081F28F /* MvLayerUpCmd.h */, - 016630D91DC8E8010081F28F /* MvSelectionCmd.cpp */, - 016630DA1DC8E8010081F28F /* MvSelectionCmd.h */, - 016630DB1DC8E8010081F28F /* MvSurfaceVertCmd.cpp */, - 016630DC1DC8E8010081F28F /* MvSurfaceVertCmd.h */, - 016630DD1DC8E8010081F28F /* MvTexCoordCmd.cpp */, - 016630DE1DC8E8010081F28F /* MvTexCoordCmd.h */, - 016630DF1DC8E8010081F28F /* RmGridColCmd.cpp */, - 016630E01DC8E8010081F28F /* RmGridColCmd.h */, - 016630E11DC8E8010081F28F /* RmGridRowCmd.cpp */, - 016630E21DC8E8010081F28F /* RmGridRowCmd.h */, - 016630E31DC8E8010081F28F /* RmSurfaceCmd.cpp */, - 016630E41DC8E8010081F28F /* RmSurfaceCmd.h */, - 016630E51DC8E8010081F28F /* SaveTexCoordPosCmd.cpp */, - 016630E61DC8E8010081F28F /* SaveTexCoordPosCmd.h */, - 016630E71DC8E8010081F28F /* ScaleSurfaceFromToCmd.cpp */, - 016630E81DC8E8010081F28F /* ScaleSurfaceFromToCmd.h */, - 016630E91DC8E8010081F28F /* SelNextSurfaceCmd.cpp */, - 016630EA1DC8E8010081F28F /* SelNextSurfaceCmd.h */, - 016630EB1DC8E8010081F28F /* SelNextTexCoordCmd.cpp */, - 016630EC1DC8E8010081F28F /* SelNextTexCoordCmd.h */, - 016630ED1DC8E8010081F28F /* SelNextVertexCmd.cpp */, - 016630EE1DC8E8010081F28F /* SelNextVertexCmd.h */, - 016630EF1DC8E8010081F28F /* SelPrevSurfaceCmd.cpp */, - 016630F01DC8E8010081F28F /* SelPrevSurfaceCmd.h */, - 016630F11DC8E8010081F28F /* SelPrevTexCoordCmd.cpp */, - 016630F21DC8E8010081F28F /* SelPrevTexCoordCmd.h */, - 016630F31DC8E8010081F28F /* SelPrevVertexCmd.cpp */, - 016630F41DC8E8010081F28F /* SelPrevVertexCmd.h */, - 016630F51DC8E8010081F28F /* SelSurfaceCmd.cpp */, - 016630F61DC8E8010081F28F /* SelSurfaceCmd.h */, - 016630F71DC8E8010081F28F /* SelTexCoordCmd.cpp */, - 016630F81DC8E8010081F28F /* SelTexCoordCmd.h */, - 016630F91DC8E8010081F28F /* SelVertexCmd.cpp */, - 016630FA1DC8E8010081F28F /* SelVertexCmd.h */, - 016630FB1DC8E8010081F28F /* SetApplicationModeCmd.cpp */, - 016630FC1DC8E8010081F28F /* SetApplicationModeCmd.h */, - 016630FD1DC8E8010081F28F /* SetNextSourceCmd.cpp */, - 016630FE1DC8E8010081F28F /* SetNextSourceCmd.h */, - 016630FF1DC8E8010081F28F /* SetPresetCmd.cpp */, - 016631001DC8E8010081F28F /* SetPresetCmd.h */, - 016631011DC8E8010081F28F /* SetSourceCmd.cpp */, - 016631021DC8E8010081F28F /* SetSourceCmd.h */, - 016631031DC8E8010081F28F /* SetTexMapDrawModeCmd.cpp */, - 016631041DC8E8010081F28F /* SetTexMapDrawModeCmd.h */, - 016631051DC8E8010081F28F /* StartDragSurfaceCmd.cpp */, - 016631061DC8E8010081F28F /* StartDragSurfaceCmd.h */, - 016631071DC8E8010081F28F /* ToggleAnimatedSourceCmd.cpp */, - 016631081DC8E8010081F28F /* ToggleAnimatedSourceCmd.h */, - 016631091DC8E8010081F28F /* TogglePerspectiveCmd.cpp */, - 0166310A1DC8E8010081F28F /* TogglePerspectiveCmd.h */, - 0166310B1DC8E8010081F28F /* TranslateCanvasCmd.cpp */, - 0166310C1DC8E8010081F28F /* TranslateCanvasCmd.h */, + 012CB6E81FFF893D00F8F880 /* AddGridColCmd.cpp */, + 012CB6E91FFF893D00F8F880 /* AddGridColCmd.h */, + 012CB6EA1FFF893D00F8F880 /* AddGridRowCmd.cpp */, + 012CB6EB1FFF893D00F8F880 /* AddGridRowCmd.h */, + 012CB6EC1FFF893D00F8F880 /* AddSurfaceCmd.cpp */, + 012CB6ED1FFF893D00F8F880 /* AddSurfaceCmd.h */, + 012CB6EE1FFF893D00F8F880 /* BaseCmd.h */, + 012CB6EF1FFF893D00F8F880 /* ClearSurfacesCmd.cpp */, + 012CB6F01FFF893D00F8F880 /* ClearSurfacesCmd.h */, + 012CB6F11FFF893D00F8F880 /* CmdManager.cpp */, + 012CB6F21FFF893D00F8F880 /* CmdManager.h */, + 012CB6F31FFF893D00F8F880 /* DeselectSurfaceCmd.cpp */, + 012CB6F41FFF893D00F8F880 /* DeselectSurfaceCmd.h */, + 012CB6F51FFF893D00F8F880 /* DeselectTexCoordCmd.cpp */, + 012CB6F61FFF893D00F8F880 /* DeselectTexCoordCmd.h */, + 012CB6F71FFF893D00F8F880 /* DuplicateSurfaceCmd.cpp */, + 012CB6F81FFF893D00F8F880 /* DuplicateSurfaceCmd.h */, + 012CB6F91FFF893D00F8F880 /* MvAllTexCoordsCmd.cpp */, + 012CB6FA1FFF893D00F8F880 /* MvAllTexCoordsCmd.h */, + 012CB6FB1FFF893D00F8F880 /* MvLayerDnCmd.cpp */, + 012CB6FC1FFF893D00F8F880 /* MvLayerDnCmd.h */, + 012CB6FD1FFF893D00F8F880 /* MvLayerUpCmd.cpp */, + 012CB6FE1FFF893D00F8F880 /* MvLayerUpCmd.h */, + 012CB6FF1FFF893D00F8F880 /* MvSelectionCmd.cpp */, + 012CB7001FFF893D00F8F880 /* MvSelectionCmd.h */, + 012CB7011FFF893D00F8F880 /* MvSurfaceVertCmd.cpp */, + 012CB7021FFF893D00F8F880 /* MvSurfaceVertCmd.h */, + 012CB7031FFF893D00F8F880 /* MvTexCoordCmd.cpp */, + 012CB7041FFF893D00F8F880 /* MvTexCoordCmd.h */, + 012CB7051FFF893D00F8F880 /* RmGridColCmd.cpp */, + 012CB7061FFF893D00F8F880 /* RmGridColCmd.h */, + 012CB7071FFF893D00F8F880 /* RmGridRowCmd.cpp */, + 012CB7081FFF893D00F8F880 /* RmGridRowCmd.h */, + 012CB7091FFF893D00F8F880 /* RmSurfaceCmd.cpp */, + 012CB70A1FFF893D00F8F880 /* RmSurfaceCmd.h */, + 012CB70B1FFF893D00F8F880 /* SaveTexCoordPosCmd.cpp */, + 012CB70C1FFF893D00F8F880 /* SaveTexCoordPosCmd.h */, + 012CB70D1FFF893D00F8F880 /* ScaleSurfaceFromToCmd.cpp */, + 012CB70E1FFF893D00F8F880 /* ScaleSurfaceFromToCmd.h */, + 012CB70F1FFF893D00F8F880 /* SelNextSurfaceCmd.cpp */, + 012CB7101FFF893D00F8F880 /* SelNextSurfaceCmd.h */, + 012CB7111FFF893D00F8F880 /* SelNextTexCoordCmd.cpp */, + 012CB7121FFF893D00F8F880 /* SelNextTexCoordCmd.h */, + 012CB7131FFF893D00F8F880 /* SelNextVertexCmd.cpp */, + 012CB7141FFF893D00F8F880 /* SelNextVertexCmd.h */, + 012CB7151FFF893D00F8F880 /* SelPrevSurfaceCmd.cpp */, + 012CB7161FFF893D00F8F880 /* SelPrevSurfaceCmd.h */, + 012CB7171FFF893D00F8F880 /* SelPrevTexCoordCmd.cpp */, + 012CB7181FFF893D00F8F880 /* SelPrevTexCoordCmd.h */, + 012CB7191FFF893D00F8F880 /* SelPrevVertexCmd.cpp */, + 012CB71A1FFF893D00F8F880 /* SelPrevVertexCmd.h */, + 012CB71B1FFF893D00F8F880 /* SelSurfaceCmd.cpp */, + 012CB71C1FFF893D00F8F880 /* SelSurfaceCmd.h */, + 012CB71D1FFF893D00F8F880 /* SelTexCoordCmd.cpp */, + 012CB71E1FFF893D00F8F880 /* SelTexCoordCmd.h */, + 012CB71F1FFF893D00F8F880 /* SelVertexCmd.cpp */, + 012CB7201FFF893D00F8F880 /* SelVertexCmd.h */, + 012CB7211FFF893D00F8F880 /* SetApplicationModeCmd.cpp */, + 012CB7221FFF893D00F8F880 /* SetApplicationModeCmd.h */, + 012CB7231FFF893D00F8F880 /* SetNextSourceCmd.cpp */, + 012CB7241FFF893D00F8F880 /* SetNextSourceCmd.h */, + 012CB7251FFF893D00F8F880 /* SetPresetCmd.cpp */, + 012CB7261FFF893D00F8F880 /* SetPresetCmd.h */, + 012CB7271FFF893D00F8F880 /* SetSourceCmd.cpp */, + 012CB7281FFF893D00F8F880 /* SetSourceCmd.h */, + 012CB7291FFF893D00F8F880 /* SetTexMapDrawModeCmd.cpp */, + 012CB72A1FFF893D00F8F880 /* SetTexMapDrawModeCmd.h */, + 012CB72B1FFF893D00F8F880 /* StartDragSurfaceCmd.cpp */, + 012CB72C1FFF893D00F8F880 /* StartDragSurfaceCmd.h */, + 012CB72D1FFF893D00F8F880 /* ToggleAnimatedSourceCmd.cpp */, + 012CB72E1FFF893D00F8F880 /* ToggleAnimatedSourceCmd.h */, + 012CB72F1FFF893D00F8F880 /* TogglePerspectiveCmd.cpp */, + 012CB7301FFF893D00F8F880 /* TogglePerspectiveCmd.h */, + 012CB7311FFF893D00F8F880 /* TranslateCanvasCmd.cpp */, + 012CB7321FFF893D00F8F880 /* TranslateCanvasCmd.h */, ); path = Commands; sourceTree = ""; }; - 0166310D1DC8E8010081F28F /* Gui */ = { + 012CB7331FFF893D00F8F880 /* Gui */ = { isa = PBXGroup; children = ( - 0166310E1DC8E8010081F28F /* Gui.cpp */, - 0166310F1DC8E8010081F28F /* Gui.h */, - 016631101DC8E8010081F28F /* Widgets */, + 012CB7341FFF893D00F8F880 /* Gui.cpp */, + 012CB7351FFF893D00F8F880 /* Gui.h */, + 012CB7361FFF893D00F8F880 /* Widgets */, ); path = Gui; sourceTree = ""; }; - 016631101DC8E8010081F28F /* Widgets */ = { + 012CB7361FFF893D00F8F880 /* Widgets */ = { isa = PBXGroup; children = ( - 016631111DC8E8010081F28F /* GuiBaseWidget.h */, - 016631121DC8E8010081F28F /* LayerPanelWidget.cpp */, - 016631131DC8E8010081F28F /* LayerPanelWidget.h */, - 016631141DC8E8010081F28F /* ProjectionEditorWidget.cpp */, - 016631151DC8E8010081F28F /* ProjectionEditorWidget.h */, - 016631161DC8E8010081F28F /* ScaleWidget.cpp */, - 016631171DC8E8010081F28F /* ScaleWidget.h */, - 016631181DC8E8010081F28F /* SourcesEditorWidget.cpp */, - 016631191DC8E8010081F28F /* SourcesEditorWidget.h */, - 0166311A1DC8E8010081F28F /* SurfaceHighlightWidget.cpp */, - 0166311B1DC8E8010081F28F /* SurfaceHighlightWidget.h */, - 0166311C1DC8E8010081F28F /* TextureEditorWidget.cpp */, - 0166311D1DC8E8010081F28F /* TextureEditorWidget.h */, - 0166311E1DC8E8010081F28F /* TextureHighlightWidget.cpp */, - 0166311F1DC8E8010081F28F /* TextureHighlightWidget.h */, + 012CB7371FFF893D00F8F880 /* GuiBaseWidget.h */, + 012CB7381FFF893D00F8F880 /* LayerPanelWidget.cpp */, + 012CB7391FFF893D00F8F880 /* LayerPanelWidget.h */, + 012CB73A1FFF893D00F8F880 /* ProjectionEditorWidget.cpp */, + 012CB73B1FFF893D00F8F880 /* ProjectionEditorWidget.h */, + 012CB73C1FFF893D00F8F880 /* ScaleWidget.cpp */, + 012CB73D1FFF893D00F8F880 /* ScaleWidget.h */, + 012CB73E1FFF893D00F8F880 /* SourcesEditorWidget.cpp */, + 012CB73F1FFF893D00F8F880 /* SourcesEditorWidget.h */, + 012CB7401FFF893D00F8F880 /* SurfaceHighlightWidget.cpp */, + 012CB7411FFF893D00F8F880 /* SurfaceHighlightWidget.h */, + 012CB7421FFF893D00F8F880 /* TextureEditorWidget.cpp */, + 012CB7431FFF893D00F8F880 /* TextureEditorWidget.h */, + 012CB7441FFF893D00F8F880 /* TextureHighlightWidget.cpp */, + 012CB7451FFF893D00F8F880 /* TextureHighlightWidget.h */, ); path = Widgets; sourceTree = ""; }; - 016631201DC8E8010081F28F /* Info */ = { + 012CB7461FFF893D00F8F880 /* Info */ = { isa = PBXGroup; children = ( - 016631211DC8E8010081F28F /* Info.cpp */, - 016631221DC8E8010081F28F /* Info.h */, + 012CB7471FFF893D00F8F880 /* Info.cpp */, + 012CB7481FFF893D00F8F880 /* Info.h */, ); path = Info; sourceTree = ""; }; - 016631231DC8E8010081F28F /* MediaServer */ = { + 012CB7491FFF893D00F8F880 /* MediaServer */ = { isa = PBXGroup; children = ( - 016631241DC8E8010081F28F /* DirectoryWatcher.cpp */, - 016631251DC8E8010081F28F /* DirectoryWatcher.h */, - 016631261DC8E8010081F28F /* MediaServer.cpp */, - 016631271DC8E8010081F28F /* MediaServer.h */, + 012CB74A1FFF893D00F8F880 /* DirectoryWatcher.cpp */, + 012CB74B1FFF893D00F8F880 /* DirectoryWatcher.h */, + 012CB74C1FFF893D00F8F880 /* MediaServer.cpp */, + 012CB74D1FFF893D00F8F880 /* MediaServer.h */, ); path = MediaServer; sourceTree = ""; }; - 0166312A1DC8E8010081F28F /* Sources */ = { + 012CB7511FFF893D00F8F880 /* Sources */ = { isa = PBXGroup; children = ( - 0166312B1DC8E8010081F28F /* BaseSource.cpp */, - 0166312C1DC8E8010081F28F /* BaseSource.h */, - 0166312D1DC8E8010081F28F /* FboSource.cpp */, - 0166312E1DC8E8010081F28F /* FboSource.h */, - 0166312F1DC8E8010081F28F /* ImageSource.cpp */, - 016631301DC8E8010081F28F /* ImageSource.h */, - 016631311DC8E8010081F28F /* OMXPlayerCache.cpp */, - 016631321DC8E8010081F28F /* OMXPlayerCache.h */, - 016631331DC8E8010081F28F /* SourceType.h */, - 016631341DC8E8010081F28F /* VideoSource.cpp */, - 016631351DC8E8010081F28F /* VideoSource.h */, + 012CB7521FFF893D00F8F880 /* BaseSource.cpp */, + 012CB7531FFF893D00F8F880 /* BaseSource.h */, + 012CB7541FFF893D00F8F880 /* FboSource.cpp */, + 012CB7551FFF893D00F8F880 /* FboSource.h */, + 012CB7561FFF893D00F8F880 /* ImageSource.cpp */, + 012CB7571FFF893D00F8F880 /* ImageSource.h */, + 012CB7581FFF893D00F8F880 /* magSlide.cpp */, + 012CB7591FFF893D00F8F880 /* magSlide.h */, + 012CB75A1FFF893D00F8F880 /* magSlideShowSource.cpp */, + 012CB75B1FFF893D00F8F880 /* magSlideShowSource.h */, + 012CB75C1FFF893D00F8F880 /* magSlideTransition.cpp */, + 012CB75D1FFF893D00F8F880 /* magSlideTransition.h */, + 012CB75E1FFF893D00F8F880 /* magSlideTransitionFactory.cpp */, + 012CB75F1FFF893D00F8F880 /* magSlideTransitionFactory.h */, + 012CB7601FFF893D00F8F880 /* OMXPlayerCache.cpp */, + 012CB7611FFF893D00F8F880 /* OMXPlayerCache.h */, + 012CB7621FFF893D00F8F880 /* SourceType.h */, + 012CB7631FFF893D00F8F880 /* SourceTypeHelper.h */, + 012CB7641FFF893D00F8F880 /* VideoSource.cpp */, + 012CB7651FFF893D00F8F880 /* VideoSource.h */, ); path = Sources; sourceTree = ""; }; - 016631361DC8E8010081F28F /* Surfaces */ = { + 012CB7661FFF893D00F8F880 /* Surfaces */ = { isa = PBXGroup; children = ( - 016631371DC8E8010081F28F /* BaseSurface.cpp */, - 016631381DC8E8010081F28F /* BaseSurface.h */, - 016631391DC8E8010081F28F /* GridWarpSurface.cpp */, - 0166313A1DC8E8010081F28F /* GridWarpSurface.h */, - 0166313B1DC8E8010081F28F /* HexagonSurface.cpp */, - 0166313C1DC8E8010081F28F /* HexagonSurface.h */, - 0166313D1DC8E8010081F28F /* QuadSurface.cpp */, - 0166313E1DC8E8010081F28F /* QuadSurface.h */, - 0166313F1DC8E8010081F28F /* SurfaceFactory.cpp */, - 016631401DC8E8010081F28F /* SurfaceFactory.h */, - 016631411DC8E8010081F28F /* SurfaceManager.cpp */, - 016631421DC8E8010081F28F /* SurfaceManager.h */, - 016631431DC8E8010081F28F /* SurfaceStack.cpp */, - 016631441DC8E8010081F28F /* SurfaceStack.h */, - 016631451DC8E8010081F28F /* SurfaceType.h */, - 016631461DC8E8010081F28F /* TriangleSurface.cpp */, - 016631471DC8E8010081F28F /* TriangleSurface.h */, + 012CB7671FFF893D00F8F880 /* BaseSurface.cpp */, + 012CB7681FFF893D00F8F880 /* BaseSurface.h */, + 012CB7691FFF893D00F8F880 /* CircleSurface.cpp */, + 012CB76A1FFF893D00F8F880 /* CircleSurface.h */, + 012CB76B1FFF893D00F8F880 /* GridWarpSurface.cpp */, + 012CB76C1FFF893D00F8F880 /* GridWarpSurface.h */, + 012CB76D1FFF893D00F8F880 /* HexagonSurface.cpp */, + 012CB76E1FFF893D00F8F880 /* HexagonSurface.h */, + 012CB76F1FFF893D00F8F880 /* QuadSurface.cpp */, + 012CB7701FFF893D00F8F880 /* QuadSurface.h */, + 012CB7711FFF893D00F8F880 /* SurfaceFactory.cpp */, + 012CB7721FFF893D00F8F880 /* SurfaceFactory.h */, + 012CB7731FFF893D00F8F880 /* SurfaceManager.cpp */, + 012CB7741FFF893D00F8F880 /* SurfaceManager.h */, + 012CB7751FFF893D00F8F880 /* SurfaceStack.cpp */, + 012CB7761FFF893D00F8F880 /* SurfaceStack.h */, + 012CB7771FFF893D00F8F880 /* SurfaceType.h */, + 012CB7781FFF893D00F8F880 /* TriangleSurface.cpp */, + 012CB7791FFF893D00F8F880 /* TriangleSurface.h */, ); path = Surfaces; sourceTree = ""; }; - 016631481DC8E8010081F28F /* UserInterface */ = { + 012CB77A1FFF893D00F8F880 /* Types */ = { isa = PBXGroup; children = ( - 016631491DC8E8010081F28F /* BaseJoint.cpp */, - 0166314A1DC8E8010081F28F /* BaseJoint.h */, - 0166314B1DC8E8010081F28F /* CircleJoint.cpp */, - 0166314C1DC8E8010081F28F /* CircleJoint.h */, - 0166314D1DC8E8010081F28F /* EditorType.h */, - 0166314E1DC8E8010081F28F /* GuiMode.h */, - 0166314F1DC8E8010081F28F /* RadioList.cpp */, - 016631501DC8E8010081F28F /* RadioList.h */, + 012CB77B1FFF893D00F8F880 /* Vec2.cpp */, + 012CB77C1FFF893D00F8F880 /* Vec2.h */, + 012CB77D1FFF893D00F8F880 /* Vec3.cpp */, + 012CB77E1FFF893D00F8F880 /* Vec3.h */, + ); + path = Types; + sourceTree = ""; + }; + 012CB77F1FFF893D00F8F880 /* UserInterface */ = { + isa = PBXGroup; + children = ( + 012CB7801FFF893D00F8F880 /* BaseJoint.cpp */, + 012CB7811FFF893D00F8F880 /* BaseJoint.h */, + 012CB7821FFF893D00F8F880 /* CircleJoint.cpp */, + 012CB7831FFF893D00F8F880 /* CircleJoint.h */, + 012CB7841FFF893D00F8F880 /* EditorType.h */, + 012CB7851FFF893D00F8F880 /* GuiMode.h */, + 012CB7861FFF893D00F8F880 /* RadioList.cpp */, + 012CB7871FFF893D00F8F880 /* RadioList.h */, ); path = UserInterface; sourceTree = ""; }; - 016631511DC8E8010081F28F /* Utils */ = { + 012CB7881FFF893D00F8F880 /* Utils */ = { isa = PBXGroup; children = ( - 016631521DC8E8010081F28F /* HomographyHelper.cpp */, - 016631531DC8E8010081F28F /* HomographyHelper.h */, + 012CB7891FFF893D00F8F880 /* HomographyHelper.cpp */, + 012CB78A1FFF893D00F8F880 /* HomographyHelper.h */, ); path = Utils; sourceTree = ""; }; + 012CB7DB1FFF8A8200F8F880 /* src */ = { + isa = PBXGroup; + children = ( + 012CB7DC1FFF8A8200F8F880 /* ofxBaseGui.cpp */, + 012CB7DD1FFF8A8200F8F880 /* ofxBaseGui.h */, + 012CB7DE1FFF8A8200F8F880 /* ofxButton.cpp */, + 012CB7DF1FFF8A8200F8F880 /* ofxButton.h */, + 012CB7E01FFF8A8200F8F880 /* ofxColorPicker.cpp */, + 012CB7E11FFF8A8200F8F880 /* ofxColorPicker.h */, + 012CB7E21FFF8A8200F8F880 /* ofxGui.h */, + 012CB7E31FFF8A8200F8F880 /* ofxGuiGroup.cpp */, + 012CB7E41FFF8A8200F8F880 /* ofxGuiGroup.h */, + 012CB7E51FFF8A8200F8F880 /* ofxInputField.cpp */, + 012CB7E61FFF8A8200F8F880 /* ofxInputField.h */, + 012CB7E71FFF8A8200F8F880 /* ofxLabel.cpp */, + 012CB7E81FFF8A8200F8F880 /* ofxLabel.h */, + 012CB7E91FFF8A8300F8F880 /* ofxPanel.cpp */, + 012CB7EA1FFF8A8300F8F880 /* ofxPanel.h */, + 012CB7EB1FFF8A8300F8F880 /* ofxSlider.cpp */, + 012CB7EC1FFF8A8300F8F880 /* ofxSlider.h */, + 012CB7ED1FFF8A8300F8F880 /* ofxSliderGroup.cpp */, + 012CB7EE1FFF8A8300F8F880 /* ofxSliderGroup.h */, + 012CB7EF1FFF8A8300F8F880 /* ofxToggle.cpp */, + 012CB7F01FFF8A8300F8F880 /* ofxToggle.h */, + ); + name = src; + path = ../../ofxGui/src; + sourceTree = ""; + }; 39264837192224C20008A7F5 /* ofxXmlSettings */ = { isa = PBXGroup; children = ( @@ -655,40 +735,15 @@ 3933D5C019BB87A3000ACA55 /* ofxGui */ = { isa = PBXGroup; children = ( - 3933D5C119BB87BD000ACA55 /* src */, + 012CB7DB1FFF8A8200F8F880 /* src */, ); name = ofxGui; sourceTree = ""; }; - 3933D5C119BB87BD000ACA55 /* src */ = { - isa = PBXGroup; - children = ( - 3933D5C219BB87BD000ACA55 /* ofxBaseGui.cpp */, - 3933D5C319BB87BD000ACA55 /* ofxBaseGui.h */, - 3933D5C419BB87BD000ACA55 /* ofxButton.cpp */, - 3933D5C519BB87BD000ACA55 /* ofxButton.h */, - 3933D5C619BB87BD000ACA55 /* ofxGui.h */, - 3933D5C719BB87BD000ACA55 /* ofxGuiGroup.cpp */, - 3933D5C819BB87BD000ACA55 /* ofxGuiGroup.h */, - 3933D5C919BB87BD000ACA55 /* ofxLabel.cpp */, - 3933D5CA19BB87BD000ACA55 /* ofxLabel.h */, - 3933D5CB19BB87BD000ACA55 /* ofxPanel.cpp */, - 3933D5CC19BB87BD000ACA55 /* ofxPanel.h */, - 3933D5CD19BB87BD000ACA55 /* ofxSlider.cpp */, - 3933D5CE19BB87BD000ACA55 /* ofxSlider.h */, - 3933D5CF19BB87BD000ACA55 /* ofxSliderGroup.cpp */, - 3933D5D019BB87BD000ACA55 /* ofxSliderGroup.h */, - 3933D5D119BB87BD000ACA55 /* ofxToggle.cpp */, - 3933D5D219BB87BD000ACA55 /* ofxToggle.h */, - ); - name = src; - path = ../../ofxGui/src; - sourceTree = ""; - }; 396E8A34190FEDE500705899 /* ofxPiMapper */ = { isa = PBXGroup; children = ( - 016630B01DC8E8010081F28F /* src */, + 012CB6D61FFF893D00F8F880 /* src */, ); name = ofxPiMapper; sourceTree = ""; @@ -861,7 +916,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "rsync -aved ../../../libs/fmodex/lib/osx/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/\"; install_name_tool -change ./libfmodex.dylib @executable_path/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME\";\nmkdir -p \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/\"\nrsync -aved \"$ICON_FILE\" \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/\"\nrsync -aved ../../../libs/glut/lib/osx/GLUT.framework \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Frameworks/\""; + 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 libfmod and change install directory for fmod to run\nrsync -aved \"$OF_PATH/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\necho \"$GCC_PREPROCESSOR_DEFINITIONS\";\n"; }; /* End PBXShellScriptBuildPhase section */ @@ -870,94 +925,103 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 0166316B1DC8E8010081F28F /* RmGridColCmd.cpp in Sources */, - 016631601DC8E8010081F28F /* ClearSurfacesCmd.cpp in Sources */, - 016631581DC8E8010081F28F /* PresentationMode.cpp in Sources */, - 016631791DC8E8010081F28F /* SetApplicationModeCmd.cpp in Sources */, - 0166317B1DC8E8010081F28F /* SetPresetCmd.cpp in Sources */, - 016631921DC8E8010081F28F /* VideoSource.cpp in Sources */, - 016631981DC8E8010081F28F /* SurfaceManager.cpp in Sources */, - 016631561DC8E8010081F28F /* Application.cpp in Sources */, - 016631851DC8E8010081F28F /* ScaleWidget.cpp in Sources */, - 016631711DC8E8010081F28F /* SelNextTexCoordCmd.cpp in Sources */, - 016631691DC8E8010081F28F /* MvSurfaceVertCmd.cpp in Sources */, - 3933D5D819BB87BD000ACA55 /* ofxSlider.cpp in Sources */, - 016631771DC8E8010081F28F /* SelTexCoordCmd.cpp in Sources */, - 0166315C1DC8E8010081F28F /* SettingsLoader.cpp in Sources */, - 016631881DC8E8010081F28F /* TextureEditorWidget.cpp in Sources */, - 016631841DC8E8010081F28F /* ProjectionEditorWidget.cpp in Sources */, - 0166315B1DC8E8010081F28F /* TextureMappingMode.cpp in Sources */, - 0166318D1DC8E8010081F28F /* ofxPiMapper.cpp in Sources */, - 0166318A1DC8E8010081F28F /* Info.cpp in Sources */, - 016631931DC8E8010081F28F /* BaseSurface.cpp in Sources */, - 3933D5DA19BB87BD000ACA55 /* ofxToggle.cpp in Sources */, - 0166319D1DC8E8010081F28F /* RadioList.cpp in Sources */, - 3933D5D319BB87BD000ACA55 /* ofxBaseGui.cpp in Sources */, - 0166316F1DC8E8010081F28F /* ScaleSurfaceFromToCmd.cpp in Sources */, - 3933D5D919BB87BD000ACA55 /* ofxSliderGroup.cpp in Sources */, - 016631721DC8E8010081F28F /* SelNextVertexCmd.cpp in Sources */, - 016631801DC8E8010081F28F /* TogglePerspectiveCmd.cpp in Sources */, - 016631901DC8E8010081F28F /* ImageSource.cpp in Sources */, - 016631761DC8E8010081F28F /* SelSurfaceCmd.cpp in Sources */, - 016631571DC8E8010081F28F /* ApplicationBaseMode.cpp in Sources */, + 012CB7F11FFF8A9700F8F880 /* ofxBaseGui.cpp in Sources */, + 012CB7F21FFF8A9700F8F880 /* ofxButton.cpp in Sources */, + 012CB7F31FFF8A9700F8F880 /* ofxColorPicker.cpp in Sources */, + 012CB7F41FFF8A9700F8F880 /* ofxGuiGroup.cpp in Sources */, + 012CB7F51FFF8A9700F8F880 /* ofxInputField.cpp in Sources */, + 012CB7F61FFF8A9700F8F880 /* ofxLabel.cpp in Sources */, + 012CB7F71FFF8A9700F8F880 /* ofxPanel.cpp in Sources */, + 012CB7F81FFF8A9700F8F880 /* ofxSlider.cpp in Sources */, + 012CB7F91FFF8A9700F8F880 /* ofxSliderGroup.cpp in Sources */, + 012CB7FA1FFF8A9700F8F880 /* ofxToggle.cpp in Sources */, + 012CB78B1FFF89C200F8F880 /* Application.cpp in Sources */, + 012CB78C1FFF89C200F8F880 /* ApplicationBaseMode.cpp in Sources */, + 012CB78D1FFF89C200F8F880 /* PresentationMode.cpp in Sources */, + 012CB78E1FFF89C200F8F880 /* ProjectionMappingMode.cpp in Sources */, + 012CB78F1FFF89C200F8F880 /* SourceSelectionMode.cpp in Sources */, + 012CB7901FFF89C200F8F880 /* TextureMappingMode.cpp in Sources */, + 012CB7911FFF89C200F8F880 /* SettingsLoader.cpp in Sources */, + 012CB7921FFF89C200F8F880 /* AddGridColCmd.cpp in Sources */, + 012CB7931FFF89C200F8F880 /* AddGridRowCmd.cpp in Sources */, + 012CB7941FFF89C200F8F880 /* AddSurfaceCmd.cpp in Sources */, + 012CB7951FFF89C200F8F880 /* ClearSurfacesCmd.cpp in Sources */, + 012CB7961FFF89C200F8F880 /* CmdManager.cpp in Sources */, + 012CB7971FFF89C200F8F880 /* DeselectSurfaceCmd.cpp in Sources */, + 012CB7981FFF89C200F8F880 /* DeselectTexCoordCmd.cpp in Sources */, + 012CB7991FFF89C200F8F880 /* DuplicateSurfaceCmd.cpp in Sources */, + 012CB79A1FFF89C200F8F880 /* MvAllTexCoordsCmd.cpp in Sources */, + 012CB79B1FFF89C200F8F880 /* MvLayerDnCmd.cpp in Sources */, + 012CB79C1FFF89C200F8F880 /* MvLayerUpCmd.cpp in Sources */, + 012CB79D1FFF89C200F8F880 /* MvSelectionCmd.cpp in Sources */, + 012CB79E1FFF89C200F8F880 /* MvSurfaceVertCmd.cpp in Sources */, + 012CB79F1FFF89C200F8F880 /* MvTexCoordCmd.cpp in Sources */, + 012CB7A01FFF89C200F8F880 /* RmGridColCmd.cpp in Sources */, + 012CB7A11FFF89C200F8F880 /* RmGridRowCmd.cpp in Sources */, + 012CB7A21FFF89C200F8F880 /* RmSurfaceCmd.cpp in Sources */, + 012CB7A31FFF89C200F8F880 /* SaveTexCoordPosCmd.cpp in Sources */, + 012CB7A41FFF89C200F8F880 /* ScaleSurfaceFromToCmd.cpp in Sources */, + 012CB7A51FFF89C200F8F880 /* SelNextSurfaceCmd.cpp in Sources */, + 012CB7A61FFF89C200F8F880 /* SelNextTexCoordCmd.cpp in Sources */, + 012CB7A71FFF89C200F8F880 /* SelNextVertexCmd.cpp in Sources */, + 012CB7A81FFF89C200F8F880 /* SelPrevSurfaceCmd.cpp in Sources */, + 012CB7A91FFF89C200F8F880 /* SelPrevTexCoordCmd.cpp in Sources */, + 012CB7AA1FFF89C200F8F880 /* SelPrevVertexCmd.cpp in Sources */, + 012CB7AB1FFF89C200F8F880 /* SelSurfaceCmd.cpp in Sources */, + 012CB7AC1FFF89C200F8F880 /* SelTexCoordCmd.cpp in Sources */, + 012CB7AD1FFF89C200F8F880 /* SelVertexCmd.cpp in Sources */, + 012CB7AE1FFF89C200F8F880 /* SetApplicationModeCmd.cpp in Sources */, + 012CB7AF1FFF89C200F8F880 /* SetNextSourceCmd.cpp in Sources */, + 012CB7B01FFF89C200F8F880 /* SetPresetCmd.cpp in Sources */, + 012CB7B11FFF89C200F8F880 /* SetSourceCmd.cpp in Sources */, + 012CB7B21FFF89C200F8F880 /* SetTexMapDrawModeCmd.cpp in Sources */, + 012CB7B31FFF89C200F8F880 /* StartDragSurfaceCmd.cpp in Sources */, + 012CB7B41FFF89C200F8F880 /* ToggleAnimatedSourceCmd.cpp in Sources */, + 012CB7B51FFF89C200F8F880 /* TogglePerspectiveCmd.cpp in Sources */, + 012CB7B61FFF89C200F8F880 /* TranslateCanvasCmd.cpp in Sources */, + 012CB7B71FFF89C200F8F880 /* Gui.cpp in Sources */, + 012CB7B81FFF89C200F8F880 /* LayerPanelWidget.cpp in Sources */, + 012CB7B91FFF89C200F8F880 /* ProjectionEditorWidget.cpp in Sources */, + 012CB7BA1FFF89C200F8F880 /* ScaleWidget.cpp in Sources */, + 012CB7BB1FFF89C200F8F880 /* SourcesEditorWidget.cpp in Sources */, + 012CB7BC1FFF89C200F8F880 /* SurfaceHighlightWidget.cpp in Sources */, + 012CB7BD1FFF89C200F8F880 /* TextureEditorWidget.cpp in Sources */, + 012CB7BE1FFF89C200F8F880 /* TextureHighlightWidget.cpp in Sources */, + 012CB7BF1FFF89C200F8F880 /* Info.cpp in Sources */, + 012CB7C01FFF89C200F8F880 /* DirectoryWatcher.cpp in Sources */, + 012CB7C11FFF89C200F8F880 /* MediaServer.cpp in Sources */, + 012CB7C21FFF89C200F8F880 /* ofxPiMapper.cpp in Sources */, + 012CB7C31FFF89C200F8F880 /* BaseSource.cpp in Sources */, + 012CB7C41FFF89C200F8F880 /* FboSource.cpp in Sources */, + 012CB7C51FFF89C200F8F880 /* ImageSource.cpp in Sources */, + 012CB7C61FFF89C200F8F880 /* magSlide.cpp in Sources */, + 012CB7C71FFF89C200F8F880 /* magSlideShowSource.cpp in Sources */, + 012CB7C81FFF89C200F8F880 /* magSlideTransition.cpp in Sources */, + 012CB7C91FFF89C200F8F880 /* magSlideTransitionFactory.cpp in Sources */, + 012CB7CA1FFF89C200F8F880 /* OMXPlayerCache.cpp in Sources */, + 012CB7CB1FFF89C200F8F880 /* VideoSource.cpp in Sources */, + 012CB7CC1FFF89C200F8F880 /* BaseSurface.cpp in Sources */, + 012CB7CD1FFF89C200F8F880 /* CircleSurface.cpp in Sources */, + 012CB7CE1FFF89C200F8F880 /* GridWarpSurface.cpp in Sources */, + 012CB7CF1FFF89C200F8F880 /* HexagonSurface.cpp in Sources */, + 012CB7D01FFF89C200F8F880 /* QuadSurface.cpp in Sources */, + 012CB7D11FFF89C200F8F880 /* SurfaceFactory.cpp in Sources */, + 012CB7D21FFF89C200F8F880 /* SurfaceManager.cpp in Sources */, + 012CB7D31FFF89C200F8F880 /* SurfaceStack.cpp in Sources */, + 012CB7D41FFF89C200F8F880 /* TriangleSurface.cpp in Sources */, + 012CB7D51FFF89C200F8F880 /* Vec2.cpp in Sources */, + 012CB7D61FFF89C200F8F880 /* Vec3.cpp in Sources */, + 012CB7D71FFF89C200F8F880 /* BaseJoint.cpp in Sources */, + 012CB7D81FFF89C200F8F880 /* CircleJoint.cpp in Sources */, + 012CB7D91FFF89C200F8F880 /* RadioList.cpp in Sources */, + 012CB7DA1FFF89C200F8F880 /* HomographyHelper.cpp in Sources */, E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */, - 016631941DC8E8010081F28F /* GridWarpSurface.cpp in Sources */, - 0166315A1DC8E8010081F28F /* SourceSelectionMode.cpp in Sources */, - 016631661DC8E8010081F28F /* MvLayerDnCmd.cpp in Sources */, - 0166319E1DC8E8010081F28F /* HomographyHelper.cpp in Sources */, 39264843192224F90008A7F5 /* tinyxmlparser.cpp in Sources */, - 3933D5D419BB87BD000ACA55 /* ofxButton.cpp in Sources */, - 016631971DC8E8010081F28F /* SurfaceFactory.cpp in Sources */, - 016631591DC8E8010081F28F /* ProjectionMappingMode.cpp in Sources */, - 0166316D1DC8E8010081F28F /* RmSurfaceCmd.cpp in Sources */, - 016631741DC8E8010081F28F /* SelPrevTexCoordCmd.cpp in Sources */, - 016631861DC8E8010081F28F /* SourcesEditorWidget.cpp in Sources */, - 016631611DC8E8010081F28F /* CmdManager.cpp in Sources */, - 0166318B1DC8E8010081F28F /* DirectoryWatcher.cpp in Sources */, - 0166316A1DC8E8010081F28F /* MvTexCoordCmd.cpp in Sources */, 39264841192224F90008A7F5 /* tinyxml.cpp in Sources */, - 016631651DC8E8010081F28F /* MvAllTexCoordsCmd.cpp in Sources */, - 3933D5D619BB87BD000ACA55 /* ofxLabel.cpp in Sources */, - 0166317F1DC8E8010081F28F /* ToggleAnimatedSourceCmd.cpp in Sources */, - 016631751DC8E8010081F28F /* SelPrevVertexCmd.cpp in Sources */, - 0166317E1DC8E8010081F28F /* StartDragSurfaceCmd.cpp in Sources */, - 016631871DC8E8010081F28F /* SurfaceHighlightWidget.cpp in Sources */, - 016631731DC8E8010081F28F /* SelPrevSurfaceCmd.cpp in Sources */, - 0166318F1DC8E8010081F28F /* FboSource.cpp in Sources */, - 016631681DC8E8010081F28F /* MvSelectionCmd.cpp in Sources */, - 016631821DC8E8010081F28F /* Gui.cpp in Sources */, - 016631701DC8E8010081F28F /* SelNextSurfaceCmd.cpp in Sources */, - 0166319C1DC8E8010081F28F /* CircleJoint.cpp in Sources */, - 0166317A1DC8E8010081F28F /* SetNextSourceCmd.cpp in Sources */, - 0166317C1DC8E8010081F28F /* SetSourceCmd.cpp in Sources */, E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */, - 0166315F1DC8E8010081F28F /* AddSurfaceCmd.cpp in Sources */, - 016631631DC8E8010081F28F /* DeselectTexCoordCmd.cpp in Sources */, - 0166318E1DC8E8010081F28F /* BaseSource.cpp in Sources */, - 016631641DC8E8010081F28F /* DuplicateSurfaceCmd.cpp in Sources */, - 3933D5D719BB87BD000ACA55 /* ofxPanel.cpp in Sources */, - 016631831DC8E8010081F28F /* LayerPanelWidget.cpp in Sources */, - 016631811DC8E8010081F28F /* TranslateCanvasCmd.cpp in Sources */, - 0166315E1DC8E8010081F28F /* AddGridRowCmd.cpp in Sources */, - 0166317D1DC8E8010081F28F /* SetTexMapDrawModeCmd.cpp in Sources */, - 0166318C1DC8E8010081F28F /* MediaServer.cpp in Sources */, - 016631781DC8E8010081F28F /* SelVertexCmd.cpp in Sources */, - 016631911DC8E8010081F28F /* OMXPlayerCache.cpp in Sources */, 39264842192224F90008A7F5 /* tinyxmlerror.cpp in Sources */, - 016631991DC8E8010081F28F /* SurfaceStack.cpp in Sources */, 3926483B192224DA0008A7F5 /* ofxXmlSettings.cpp in Sources */, - 016631961DC8E8010081F28F /* QuadSurface.cpp in Sources */, - 0166316C1DC8E8010081F28F /* RmGridRowCmd.cpp in Sources */, 397EFC821A09047C0009286E /* CameraSource.cpp in Sources */, - 0166319B1DC8E8010081F28F /* BaseJoint.cpp in Sources */, - 016631891DC8E8010081F28F /* TextureHighlightWidget.cpp in Sources */, - 016631671DC8E8010081F28F /* MvLayerUpCmd.cpp in Sources */, - 016631951DC8E8010081F28F /* HexagonSurface.cpp in Sources */, - 3933D5D519BB87BD000ACA55 /* ofxGuiGroup.cpp in Sources */, - 0166319A1DC8E8010081F28F /* TriangleSurface.cpp in Sources */, - 0166316E1DC8E8010081F28F /* SaveTexCoordPosCmd.cpp in Sources */, - 016631621DC8E8010081F28F /* DeselectSurfaceCmd.cpp in Sources */, - 0166315D1DC8E8010081F28F /* AddGridColCmd.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/example_camera/example_camera.xcodeproj/xcshareddata/xcschemes/example_camera Debug.xcscheme b/example_camera/example_camera.xcodeproj/xcshareddata/xcschemes/example_camera Debug.xcscheme index aef2255..f38f660 100644 --- a/example_camera/example_camera.xcodeproj/xcshareddata/xcschemes/example_camera Debug.xcscheme +++ b/example_camera/example_camera.xcodeproj/xcshareddata/xcschemes/example_camera Debug.xcscheme @@ -15,7 +15,7 @@ @@ -26,6 +26,7 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + language = "" shouldUseLaunchSchemeArgsEnv = "YES"> @@ -33,7 +34,7 @@ @@ -45,6 +46,7 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + language = "" launchStyle = "0" useCustomWorkingDirectory = "NO" ignoresPersistentStateOnLaunch = "NO" @@ -56,7 +58,7 @@ @@ -75,7 +77,7 @@ diff --git a/example_camera/example_camera.xcodeproj/xcshareddata/xcschemes/example_camera Release.xcscheme b/example_camera/example_camera.xcodeproj/xcshareddata/xcschemes/example_camera Release.xcscheme index 7ff9bc9..66b1670 100644 --- a/example_camera/example_camera.xcodeproj/xcshareddata/xcschemes/example_camera Release.xcscheme +++ b/example_camera/example_camera.xcodeproj/xcshareddata/xcschemes/example_camera Release.xcscheme @@ -15,7 +15,7 @@ @@ -26,6 +26,7 @@ buildConfiguration = "Release" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + language = "" shouldUseLaunchSchemeArgsEnv = "YES"> @@ -33,7 +34,7 @@ @@ -45,6 +46,7 @@ buildConfiguration = "Release" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + language = "" launchStyle = "0" useCustomWorkingDirectory = "NO" ignoresPersistentStateOnLaunch = "NO" @@ -56,7 +58,7 @@ @@ -75,7 +77,7 @@ diff --git a/example_camera/src/CameraSource.cpp b/example_camera/src/CameraSource.cpp index 29f64e3..2513475 100644 --- a/example_camera/src/CameraSource.cpp +++ b/example_camera/src/CameraSource.cpp @@ -15,7 +15,7 @@ CameraSource::CameraSource(){ _videoGrabber.setup(_omxCameraSettings); #else - vector devices = _videoGrabber.listDevices(); + std::vector devices = _videoGrabber.listDevices(); _cameraFound = false; for(int i = 0; i < devices.size(); i++){ diff --git a/example_camera/src/main.cpp b/example_camera/src/main.cpp index d1b6467..602382f 100644 --- a/example_camera/src/main.cpp +++ b/example_camera/src/main.cpp @@ -6,7 +6,7 @@ int main(int argc, char * argv[]){ bool fullscreen = false; - vector arguments = vector(argv, argv + argc); + std::vector arguments = std::vector(argv, argv + argc); for(int i = 0; i < arguments.size(); ++i){ if(arguments.at(i) == "-f"){ fullscreen = true; diff --git a/example_gamepad/addons.make b/example_gamepad/addons.make index 6546213..963941c 100644 --- a/example_gamepad/addons.make +++ b/example_gamepad/addons.make @@ -1,5 +1,4 @@ +ofxGui ofxPiMapper -ofxIO ofxXmlSettings -ofxGui ofxOMXPlayer diff --git a/example_gamepad/example_gamepad.xcodeproj/project.pbxproj b/example_gamepad/example_gamepad.xcodeproj/project.pbxproj index e65f6d4..3c7ff1d 100644 --- a/example_gamepad/example_gamepad.xcodeproj/project.pbxproj +++ b/example_gamepad/example_gamepad.xcodeproj/project.pbxproj @@ -7,93 +7,102 @@ objects = { /* Begin PBXBuildFile section */ - 016631561DC8E8010081F28F /* Application.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630B21DC8E8010081F28F /* Application.cpp */; }; - 016631571DC8E8010081F28F /* ApplicationBaseMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630B51DC8E8010081F28F /* ApplicationBaseMode.cpp */; }; - 016631581DC8E8010081F28F /* PresentationMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630B71DC8E8010081F28F /* PresentationMode.cpp */; }; - 016631591DC8E8010081F28F /* ProjectionMappingMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630B91DC8E8010081F28F /* ProjectionMappingMode.cpp */; }; - 0166315A1DC8E8010081F28F /* SourceSelectionMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630BB1DC8E8010081F28F /* SourceSelectionMode.cpp */; }; - 0166315B1DC8E8010081F28F /* TextureMappingMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630BD1DC8E8010081F28F /* TextureMappingMode.cpp */; }; - 0166315C1DC8E8010081F28F /* SettingsLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630BF1DC8E8010081F28F /* SettingsLoader.cpp */; }; - 0166315D1DC8E8010081F28F /* AddGridColCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630C21DC8E8010081F28F /* AddGridColCmd.cpp */; }; - 0166315E1DC8E8010081F28F /* AddGridRowCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630C41DC8E8010081F28F /* AddGridRowCmd.cpp */; }; - 0166315F1DC8E8010081F28F /* AddSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630C61DC8E8010081F28F /* AddSurfaceCmd.cpp */; }; - 016631601DC8E8010081F28F /* ClearSurfacesCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630C91DC8E8010081F28F /* ClearSurfacesCmd.cpp */; }; - 016631611DC8E8010081F28F /* CmdManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630CB1DC8E8010081F28F /* CmdManager.cpp */; }; - 016631621DC8E8010081F28F /* DeselectSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630CD1DC8E8010081F28F /* DeselectSurfaceCmd.cpp */; }; - 016631631DC8E8010081F28F /* DeselectTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630CF1DC8E8010081F28F /* DeselectTexCoordCmd.cpp */; }; - 016631641DC8E8010081F28F /* DuplicateSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630D11DC8E8010081F28F /* DuplicateSurfaceCmd.cpp */; }; - 016631651DC8E8010081F28F /* MvAllTexCoordsCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630D31DC8E8010081F28F /* MvAllTexCoordsCmd.cpp */; }; - 016631661DC8E8010081F28F /* MvLayerDnCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630D51DC8E8010081F28F /* MvLayerDnCmd.cpp */; }; - 016631671DC8E8010081F28F /* MvLayerUpCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630D71DC8E8010081F28F /* MvLayerUpCmd.cpp */; }; - 016631681DC8E8010081F28F /* MvSelectionCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630D91DC8E8010081F28F /* MvSelectionCmd.cpp */; }; - 016631691DC8E8010081F28F /* MvSurfaceVertCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630DB1DC8E8010081F28F /* MvSurfaceVertCmd.cpp */; }; - 0166316A1DC8E8010081F28F /* MvTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630DD1DC8E8010081F28F /* MvTexCoordCmd.cpp */; }; - 0166316B1DC8E8010081F28F /* RmGridColCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630DF1DC8E8010081F28F /* RmGridColCmd.cpp */; }; - 0166316C1DC8E8010081F28F /* RmGridRowCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630E11DC8E8010081F28F /* RmGridRowCmd.cpp */; }; - 0166316D1DC8E8010081F28F /* RmSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630E31DC8E8010081F28F /* RmSurfaceCmd.cpp */; }; - 0166316E1DC8E8010081F28F /* SaveTexCoordPosCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630E51DC8E8010081F28F /* SaveTexCoordPosCmd.cpp */; }; - 0166316F1DC8E8010081F28F /* ScaleSurfaceFromToCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630E71DC8E8010081F28F /* ScaleSurfaceFromToCmd.cpp */; }; - 016631701DC8E8010081F28F /* SelNextSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630E91DC8E8010081F28F /* SelNextSurfaceCmd.cpp */; }; - 016631711DC8E8010081F28F /* SelNextTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630EB1DC8E8010081F28F /* SelNextTexCoordCmd.cpp */; }; - 016631721DC8E8010081F28F /* SelNextVertexCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630ED1DC8E8010081F28F /* SelNextVertexCmd.cpp */; }; - 016631731DC8E8010081F28F /* SelPrevSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630EF1DC8E8010081F28F /* SelPrevSurfaceCmd.cpp */; }; - 016631741DC8E8010081F28F /* SelPrevTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630F11DC8E8010081F28F /* SelPrevTexCoordCmd.cpp */; }; - 016631751DC8E8010081F28F /* SelPrevVertexCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630F31DC8E8010081F28F /* SelPrevVertexCmd.cpp */; }; - 016631761DC8E8010081F28F /* SelSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630F51DC8E8010081F28F /* SelSurfaceCmd.cpp */; }; - 016631771DC8E8010081F28F /* SelTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630F71DC8E8010081F28F /* SelTexCoordCmd.cpp */; }; - 016631781DC8E8010081F28F /* SelVertexCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630F91DC8E8010081F28F /* SelVertexCmd.cpp */; }; - 016631791DC8E8010081F28F /* SetApplicationModeCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630FB1DC8E8010081F28F /* SetApplicationModeCmd.cpp */; }; - 0166317A1DC8E8010081F28F /* SetNextSourceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630FD1DC8E8010081F28F /* SetNextSourceCmd.cpp */; }; - 0166317B1DC8E8010081F28F /* SetPresetCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016630FF1DC8E8010081F28F /* SetPresetCmd.cpp */; }; - 0166317C1DC8E8010081F28F /* SetSourceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631011DC8E8010081F28F /* SetSourceCmd.cpp */; }; - 0166317D1DC8E8010081F28F /* SetTexMapDrawModeCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631031DC8E8010081F28F /* SetTexMapDrawModeCmd.cpp */; }; - 0166317E1DC8E8010081F28F /* StartDragSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631051DC8E8010081F28F /* StartDragSurfaceCmd.cpp */; }; - 0166317F1DC8E8010081F28F /* ToggleAnimatedSourceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631071DC8E8010081F28F /* ToggleAnimatedSourceCmd.cpp */; }; - 016631801DC8E8010081F28F /* TogglePerspectiveCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631091DC8E8010081F28F /* TogglePerspectiveCmd.cpp */; }; - 016631811DC8E8010081F28F /* TranslateCanvasCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166310B1DC8E8010081F28F /* TranslateCanvasCmd.cpp */; }; - 016631821DC8E8010081F28F /* Gui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166310E1DC8E8010081F28F /* Gui.cpp */; }; - 016631831DC8E8010081F28F /* LayerPanelWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631121DC8E8010081F28F /* LayerPanelWidget.cpp */; }; - 016631841DC8E8010081F28F /* ProjectionEditorWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631141DC8E8010081F28F /* ProjectionEditorWidget.cpp */; }; - 016631851DC8E8010081F28F /* ScaleWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631161DC8E8010081F28F /* ScaleWidget.cpp */; }; - 016631861DC8E8010081F28F /* SourcesEditorWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631181DC8E8010081F28F /* SourcesEditorWidget.cpp */; }; - 016631871DC8E8010081F28F /* SurfaceHighlightWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166311A1DC8E8010081F28F /* SurfaceHighlightWidget.cpp */; }; - 016631881DC8E8010081F28F /* TextureEditorWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166311C1DC8E8010081F28F /* TextureEditorWidget.cpp */; }; - 016631891DC8E8010081F28F /* TextureHighlightWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166311E1DC8E8010081F28F /* TextureHighlightWidget.cpp */; }; - 0166318A1DC8E8010081F28F /* Info.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631211DC8E8010081F28F /* Info.cpp */; }; - 0166318B1DC8E8010081F28F /* DirectoryWatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631241DC8E8010081F28F /* DirectoryWatcher.cpp */; }; - 0166318C1DC8E8010081F28F /* MediaServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631261DC8E8010081F28F /* MediaServer.cpp */; }; - 0166318D1DC8E8010081F28F /* ofxPiMapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631281DC8E8010081F28F /* ofxPiMapper.cpp */; }; - 0166318E1DC8E8010081F28F /* BaseSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166312B1DC8E8010081F28F /* BaseSource.cpp */; }; - 0166318F1DC8E8010081F28F /* FboSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166312D1DC8E8010081F28F /* FboSource.cpp */; }; - 016631901DC8E8010081F28F /* ImageSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166312F1DC8E8010081F28F /* ImageSource.cpp */; }; - 016631911DC8E8010081F28F /* OMXPlayerCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631311DC8E8010081F28F /* OMXPlayerCache.cpp */; }; - 016631921DC8E8010081F28F /* VideoSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631341DC8E8010081F28F /* VideoSource.cpp */; }; - 016631931DC8E8010081F28F /* BaseSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631371DC8E8010081F28F /* BaseSurface.cpp */; }; - 016631941DC8E8010081F28F /* GridWarpSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631391DC8E8010081F28F /* GridWarpSurface.cpp */; }; - 016631951DC8E8010081F28F /* HexagonSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166313B1DC8E8010081F28F /* HexagonSurface.cpp */; }; - 016631961DC8E8010081F28F /* QuadSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166313D1DC8E8010081F28F /* QuadSurface.cpp */; }; - 016631971DC8E8010081F28F /* SurfaceFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166313F1DC8E8010081F28F /* SurfaceFactory.cpp */; }; - 016631981DC8E8010081F28F /* SurfaceManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631411DC8E8010081F28F /* SurfaceManager.cpp */; }; - 016631991DC8E8010081F28F /* SurfaceStack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631431DC8E8010081F28F /* SurfaceStack.cpp */; }; - 0166319A1DC8E8010081F28F /* TriangleSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631461DC8E8010081F28F /* TriangleSurface.cpp */; }; - 0166319B1DC8E8010081F28F /* BaseJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631491DC8E8010081F28F /* BaseJoint.cpp */; }; - 0166319C1DC8E8010081F28F /* CircleJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166314B1DC8E8010081F28F /* CircleJoint.cpp */; }; - 0166319D1DC8E8010081F28F /* RadioList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0166314F1DC8E8010081F28F /* RadioList.cpp */; }; - 0166319E1DC8E8010081F28F /* HomographyHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 016631521DC8E8010081F28F /* HomographyHelper.cpp */; }; + 012CB8C81FFF8BF500F8F880 /* ofxBaseGui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8B31FFF8BE800F8F880 /* ofxBaseGui.cpp */; }; + 012CB8CA1FFF8BF500F8F880 /* ofxButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8B51FFF8BE800F8F880 /* ofxButton.cpp */; }; + 012CB8CC1FFF8BF500F8F880 /* ofxColorPicker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8B71FFF8BE800F8F880 /* ofxColorPicker.cpp */; }; + 012CB8CF1FFF8BF500F8F880 /* ofxGuiGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8BA1FFF8BE800F8F880 /* ofxGuiGroup.cpp */; }; + 012CB8D11FFF8BF500F8F880 /* ofxInputField.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8BC1FFF8BE800F8F880 /* ofxInputField.cpp */; }; + 012CB8D31FFF8BF500F8F880 /* ofxLabel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8BE1FFF8BE800F8F880 /* ofxLabel.cpp */; }; + 012CB8D51FFF8BF500F8F880 /* ofxPanel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8C01FFF8BE800F8F880 /* ofxPanel.cpp */; }; + 012CB8D71FFF8BF500F8F880 /* ofxSlider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8C21FFF8BE800F8F880 /* ofxSlider.cpp */; }; + 012CB8D91FFF8BF500F8F880 /* ofxSliderGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8C41FFF8BE800F8F880 /* ofxSliderGroup.cpp */; }; + 012CB8DB1FFF8BF500F8F880 /* ofxToggle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8C61FFF8BE800F8F880 /* ofxToggle.cpp */; }; + 012CB8DF1FFF8BF500F8F880 /* Application.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB7FF1FFF8BDC00F8F880 /* Application.cpp */; }; + 012CB8E11FFF8BF500F8F880 /* ApplicationBaseMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8021FFF8BDC00F8F880 /* ApplicationBaseMode.cpp */; }; + 012CB8E31FFF8BF500F8F880 /* PresentationMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8041FFF8BDC00F8F880 /* PresentationMode.cpp */; }; + 012CB8E51FFF8BF500F8F880 /* ProjectionMappingMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8061FFF8BDC00F8F880 /* ProjectionMappingMode.cpp */; }; + 012CB8E71FFF8BF500F8F880 /* SourceSelectionMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8081FFF8BDC00F8F880 /* SourceSelectionMode.cpp */; }; + 012CB8E91FFF8BF500F8F880 /* TextureMappingMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB80A1FFF8BDC00F8F880 /* TextureMappingMode.cpp */; }; + 012CB8EB1FFF8BF500F8F880 /* SettingsLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB80C1FFF8BDC00F8F880 /* SettingsLoader.cpp */; }; + 012CB8ED1FFF8BF500F8F880 /* AddGridColCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB80F1FFF8BDC00F8F880 /* AddGridColCmd.cpp */; }; + 012CB8EF1FFF8BF500F8F880 /* AddGridRowCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8111FFF8BDC00F8F880 /* AddGridRowCmd.cpp */; }; + 012CB8F11FFF8BF500F8F880 /* AddSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8131FFF8BDC00F8F880 /* AddSurfaceCmd.cpp */; }; + 012CB8F41FFF8BF500F8F880 /* ClearSurfacesCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8161FFF8BDC00F8F880 /* ClearSurfacesCmd.cpp */; }; + 012CB8F61FFF8BF500F8F880 /* CmdManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8181FFF8BDC00F8F880 /* CmdManager.cpp */; }; + 012CB8F81FFF8BF500F8F880 /* DeselectSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB81A1FFF8BDC00F8F880 /* DeselectSurfaceCmd.cpp */; }; + 012CB8FA1FFF8BF500F8F880 /* DeselectTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB81C1FFF8BDC00F8F880 /* DeselectTexCoordCmd.cpp */; }; + 012CB8FC1FFF8BF500F8F880 /* DuplicateSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB81E1FFF8BDC00F8F880 /* DuplicateSurfaceCmd.cpp */; }; + 012CB8FE1FFF8BF500F8F880 /* MvAllTexCoordsCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8201FFF8BDC00F8F880 /* MvAllTexCoordsCmd.cpp */; }; + 012CB9001FFF8BF500F8F880 /* MvLayerDnCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8221FFF8BDC00F8F880 /* MvLayerDnCmd.cpp */; }; + 012CB9021FFF8BF500F8F880 /* MvLayerUpCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8241FFF8BDC00F8F880 /* MvLayerUpCmd.cpp */; }; + 012CB9041FFF8BF500F8F880 /* MvSelectionCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8261FFF8BDC00F8F880 /* MvSelectionCmd.cpp */; }; + 012CB9061FFF8BF500F8F880 /* MvSurfaceVertCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8281FFF8BDC00F8F880 /* MvSurfaceVertCmd.cpp */; }; + 012CB9081FFF8BF500F8F880 /* MvTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB82A1FFF8BDC00F8F880 /* MvTexCoordCmd.cpp */; }; + 012CB90A1FFF8BF500F8F880 /* RmGridColCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB82C1FFF8BDC00F8F880 /* RmGridColCmd.cpp */; }; + 012CB90C1FFF8BF500F8F880 /* RmGridRowCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB82E1FFF8BDC00F8F880 /* RmGridRowCmd.cpp */; }; + 012CB90E1FFF8BF500F8F880 /* RmSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8301FFF8BDC00F8F880 /* RmSurfaceCmd.cpp */; }; + 012CB9101FFF8BF500F8F880 /* SaveTexCoordPosCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8321FFF8BDC00F8F880 /* SaveTexCoordPosCmd.cpp */; }; + 012CB9121FFF8BF500F8F880 /* ScaleSurfaceFromToCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8341FFF8BDC00F8F880 /* ScaleSurfaceFromToCmd.cpp */; }; + 012CB9141FFF8BF500F8F880 /* SelNextSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8361FFF8BDC00F8F880 /* SelNextSurfaceCmd.cpp */; }; + 012CB9161FFF8BF500F8F880 /* SelNextTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8381FFF8BDC00F8F880 /* SelNextTexCoordCmd.cpp */; }; + 012CB9181FFF8BF500F8F880 /* SelNextVertexCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB83A1FFF8BDC00F8F880 /* SelNextVertexCmd.cpp */; }; + 012CB91A1FFF8BF500F8F880 /* SelPrevSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB83C1FFF8BDC00F8F880 /* SelPrevSurfaceCmd.cpp */; }; + 012CB91C1FFF8BF500F8F880 /* SelPrevTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB83E1FFF8BDC00F8F880 /* SelPrevTexCoordCmd.cpp */; }; + 012CB91E1FFF8BF500F8F880 /* SelPrevVertexCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8401FFF8BDC00F8F880 /* SelPrevVertexCmd.cpp */; }; + 012CB9201FFF8BF500F8F880 /* SelSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8421FFF8BDC00F8F880 /* SelSurfaceCmd.cpp */; }; + 012CB9221FFF8BF500F8F880 /* SelTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8441FFF8BDC00F8F880 /* SelTexCoordCmd.cpp */; }; + 012CB9241FFF8BF500F8F880 /* SelVertexCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8461FFF8BDC00F8F880 /* SelVertexCmd.cpp */; }; + 012CB9261FFF8BF500F8F880 /* SetApplicationModeCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8481FFF8BDC00F8F880 /* SetApplicationModeCmd.cpp */; }; + 012CB9281FFF8BF500F8F880 /* SetNextSourceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB84A1FFF8BDC00F8F880 /* SetNextSourceCmd.cpp */; }; + 012CB92A1FFF8BF500F8F880 /* SetPresetCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB84C1FFF8BDC00F8F880 /* SetPresetCmd.cpp */; }; + 012CB92C1FFF8BF500F8F880 /* SetSourceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB84E1FFF8BDC00F8F880 /* SetSourceCmd.cpp */; }; + 012CB92E1FFF8BF500F8F880 /* SetTexMapDrawModeCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8501FFF8BDC00F8F880 /* SetTexMapDrawModeCmd.cpp */; }; + 012CB9301FFF8BF500F8F880 /* StartDragSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8521FFF8BDC00F8F880 /* StartDragSurfaceCmd.cpp */; }; + 012CB9321FFF8BF500F8F880 /* ToggleAnimatedSourceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8541FFF8BDC00F8F880 /* ToggleAnimatedSourceCmd.cpp */; }; + 012CB9341FFF8BF500F8F880 /* TogglePerspectiveCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8561FFF8BDC00F8F880 /* TogglePerspectiveCmd.cpp */; }; + 012CB9361FFF8BF500F8F880 /* TranslateCanvasCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8581FFF8BDC00F8F880 /* TranslateCanvasCmd.cpp */; }; + 012CB9381FFF8BF500F8F880 /* Gui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB85B1FFF8BDC00F8F880 /* Gui.cpp */; }; + 012CB93B1FFF8BF500F8F880 /* LayerPanelWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB85F1FFF8BDC00F8F880 /* LayerPanelWidget.cpp */; }; + 012CB93D1FFF8BF500F8F880 /* ProjectionEditorWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8611FFF8BDC00F8F880 /* ProjectionEditorWidget.cpp */; }; + 012CB93F1FFF8BF500F8F880 /* ScaleWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8631FFF8BDC00F8F880 /* ScaleWidget.cpp */; }; + 012CB9411FFF8BF500F8F880 /* SourcesEditorWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8651FFF8BDC00F8F880 /* SourcesEditorWidget.cpp */; }; + 012CB9431FFF8BF500F8F880 /* SurfaceHighlightWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8671FFF8BDC00F8F880 /* SurfaceHighlightWidget.cpp */; }; + 012CB9451FFF8BF500F8F880 /* TextureEditorWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8691FFF8BDC00F8F880 /* TextureEditorWidget.cpp */; }; + 012CB9471FFF8BF500F8F880 /* TextureHighlightWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB86B1FFF8BDC00F8F880 /* TextureHighlightWidget.cpp */; }; + 012CB9491FFF8BF500F8F880 /* Info.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB86E1FFF8BDC00F8F880 /* Info.cpp */; }; + 012CB94B1FFF8BF500F8F880 /* DirectoryWatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8711FFF8BDC00F8F880 /* DirectoryWatcher.cpp */; }; + 012CB94D1FFF8BF500F8F880 /* MediaServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8731FFF8BDC00F8F880 /* MediaServer.cpp */; }; + 012CB9501FFF8BF500F8F880 /* ofxPiMapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8761FFF8BDC00F8F880 /* ofxPiMapper.cpp */; }; + 012CB9521FFF8BF500F8F880 /* BaseSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8791FFF8BDC00F8F880 /* BaseSource.cpp */; }; + 012CB9541FFF8BF500F8F880 /* FboSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB87B1FFF8BDC00F8F880 /* FboSource.cpp */; }; + 012CB9561FFF8BF500F8F880 /* ImageSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB87D1FFF8BDC00F8F880 /* ImageSource.cpp */; }; + 012CB9581FFF8BF500F8F880 /* magSlide.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB87F1FFF8BDC00F8F880 /* magSlide.cpp */; }; + 012CB95A1FFF8BF500F8F880 /* magSlideShowSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8811FFF8BDC00F8F880 /* magSlideShowSource.cpp */; }; + 012CB95C1FFF8BF500F8F880 /* magSlideTransition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8831FFF8BDC00F8F880 /* magSlideTransition.cpp */; }; + 012CB95E1FFF8BF500F8F880 /* magSlideTransitionFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8851FFF8BDC00F8F880 /* magSlideTransitionFactory.cpp */; }; + 012CB9601FFF8BF500F8F880 /* OMXPlayerCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8871FFF8BDC00F8F880 /* OMXPlayerCache.cpp */; }; + 012CB9641FFF8BF500F8F880 /* VideoSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB88B1FFF8BDC00F8F880 /* VideoSource.cpp */; }; + 012CB9661FFF8BF500F8F880 /* BaseSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB88E1FFF8BDC00F8F880 /* BaseSurface.cpp */; }; + 012CB9681FFF8BF500F8F880 /* CircleSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8901FFF8BDC00F8F880 /* CircleSurface.cpp */; }; + 012CB96A1FFF8BF500F8F880 /* GridWarpSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8921FFF8BDC00F8F880 /* GridWarpSurface.cpp */; }; + 012CB96C1FFF8BF500F8F880 /* HexagonSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8941FFF8BDC00F8F880 /* HexagonSurface.cpp */; }; + 012CB96E1FFF8BF500F8F880 /* QuadSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8961FFF8BDC00F8F880 /* QuadSurface.cpp */; }; + 012CB9701FFF8BF500F8F880 /* SurfaceFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8981FFF8BDC00F8F880 /* SurfaceFactory.cpp */; }; + 012CB9721FFF8BF500F8F880 /* SurfaceManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB89A1FFF8BDC00F8F880 /* SurfaceManager.cpp */; }; + 012CB9741FFF8BF500F8F880 /* SurfaceStack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB89C1FFF8BDC00F8F880 /* SurfaceStack.cpp */; }; + 012CB9771FFF8BF500F8F880 /* TriangleSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB89F1FFF8BDC00F8F880 /* TriangleSurface.cpp */; }; + 012CB9791FFF8BF500F8F880 /* Vec2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8A21FFF8BDC00F8F880 /* Vec2.cpp */; }; + 012CB97B1FFF8BF500F8F880 /* Vec3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8A41FFF8BDC00F8F880 /* Vec3.cpp */; }; + 012CB97D1FFF8BF500F8F880 /* BaseJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8A71FFF8BDC00F8F880 /* BaseJoint.cpp */; }; + 012CB97F1FFF8BF500F8F880 /* CircleJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8A91FFF8BDC00F8F880 /* CircleJoint.cpp */; }; + 012CB9831FFF8BF500F8F880 /* RadioList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8AD1FFF8BDC00F8F880 /* RadioList.cpp */; }; + 012CB9851FFF8BF500F8F880 /* HomographyHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 012CB8B01FFF8BDC00F8F880 /* HomographyHelper.cpp */; }; 01DC7EDE1E452858003137B7 /* InputHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01DC7EDC1E452858003137B7 /* InputHandler.cpp */; }; 01DC7EE01E45289C003137B7 /* SDL2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 01DC7EDF1E45289C003137B7 /* SDL2.framework */; }; 3926483B192224DA0008A7F5 /* ofxXmlSettings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 39264839192224DA0008A7F5 /* ofxXmlSettings.cpp */; }; 39264841192224F90008A7F5 /* tinyxml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3926483D192224F90008A7F5 /* tinyxml.cpp */; }; 39264842192224F90008A7F5 /* tinyxmlerror.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3926483F192224F90008A7F5 /* tinyxmlerror.cpp */; }; 39264843192224F90008A7F5 /* tinyxmlparser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 39264840192224F90008A7F5 /* tinyxmlparser.cpp */; }; - 3933D5D319BB87BD000ACA55 /* ofxBaseGui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5C219BB87BD000ACA55 /* ofxBaseGui.cpp */; }; - 3933D5D419BB87BD000ACA55 /* ofxButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5C419BB87BD000ACA55 /* ofxButton.cpp */; }; - 3933D5D519BB87BD000ACA55 /* ofxGuiGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5C719BB87BD000ACA55 /* ofxGuiGroup.cpp */; }; - 3933D5D619BB87BD000ACA55 /* ofxLabel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5C919BB87BD000ACA55 /* ofxLabel.cpp */; }; - 3933D5D719BB87BD000ACA55 /* ofxPanel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5CB19BB87BD000ACA55 /* ofxPanel.cpp */; }; - 3933D5D819BB87BD000ACA55 /* ofxSlider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5CD19BB87BD000ACA55 /* ofxSlider.cpp */; }; - 3933D5D919BB87BD000ACA55 /* ofxSliderGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5CF19BB87BD000ACA55 /* ofxSliderGroup.cpp */; }; - 3933D5DA19BB87BD000ACA55 /* ofxToggle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5D119BB87BD000ACA55 /* ofxToggle.cpp */; }; 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 */; }; @@ -144,159 +153,195 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 0100D9421E33E6C1000D7FA5 /* Mode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Mode.h; sourceTree = ""; }; - 016630B21DC8E8010081F28F /* Application.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Application.cpp; sourceTree = ""; }; - 016630B31DC8E8010081F28F /* Application.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Application.h; sourceTree = ""; }; - 016630B51DC8E8010081F28F /* ApplicationBaseMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ApplicationBaseMode.cpp; sourceTree = ""; }; - 016630B61DC8E8010081F28F /* ApplicationBaseMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ApplicationBaseMode.h; sourceTree = ""; }; - 016630B71DC8E8010081F28F /* PresentationMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PresentationMode.cpp; sourceTree = ""; }; - 016630B81DC8E8010081F28F /* PresentationMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PresentationMode.h; sourceTree = ""; }; - 016630B91DC8E8010081F28F /* ProjectionMappingMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ProjectionMappingMode.cpp; sourceTree = ""; }; - 016630BA1DC8E8010081F28F /* ProjectionMappingMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProjectionMappingMode.h; sourceTree = ""; }; - 016630BB1DC8E8010081F28F /* SourceSelectionMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SourceSelectionMode.cpp; sourceTree = ""; }; - 016630BC1DC8E8010081F28F /* SourceSelectionMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SourceSelectionMode.h; sourceTree = ""; }; - 016630BD1DC8E8010081F28F /* TextureMappingMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextureMappingMode.cpp; sourceTree = ""; }; - 016630BE1DC8E8010081F28F /* TextureMappingMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextureMappingMode.h; sourceTree = ""; }; - 016630BF1DC8E8010081F28F /* SettingsLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SettingsLoader.cpp; sourceTree = ""; }; - 016630C01DC8E8010081F28F /* SettingsLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SettingsLoader.h; sourceTree = ""; }; - 016630C21DC8E8010081F28F /* AddGridColCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AddGridColCmd.cpp; sourceTree = ""; }; - 016630C31DC8E8010081F28F /* AddGridColCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AddGridColCmd.h; sourceTree = ""; }; - 016630C41DC8E8010081F28F /* AddGridRowCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AddGridRowCmd.cpp; sourceTree = ""; }; - 016630C51DC8E8010081F28F /* AddGridRowCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AddGridRowCmd.h; sourceTree = ""; }; - 016630C61DC8E8010081F28F /* AddSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AddSurfaceCmd.cpp; sourceTree = ""; }; - 016630C71DC8E8010081F28F /* AddSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AddSurfaceCmd.h; sourceTree = ""; }; - 016630C81DC8E8010081F28F /* BaseCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseCmd.h; sourceTree = ""; }; - 016630C91DC8E8010081F28F /* ClearSurfacesCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ClearSurfacesCmd.cpp; sourceTree = ""; }; - 016630CA1DC8E8010081F28F /* ClearSurfacesCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ClearSurfacesCmd.h; sourceTree = ""; }; - 016630CB1DC8E8010081F28F /* CmdManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CmdManager.cpp; sourceTree = ""; }; - 016630CC1DC8E8010081F28F /* CmdManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CmdManager.h; sourceTree = ""; }; - 016630CD1DC8E8010081F28F /* DeselectSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeselectSurfaceCmd.cpp; sourceTree = ""; }; - 016630CE1DC8E8010081F28F /* DeselectSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeselectSurfaceCmd.h; sourceTree = ""; }; - 016630CF1DC8E8010081F28F /* DeselectTexCoordCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeselectTexCoordCmd.cpp; sourceTree = ""; }; - 016630D01DC8E8010081F28F /* DeselectTexCoordCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeselectTexCoordCmd.h; sourceTree = ""; }; - 016630D11DC8E8010081F28F /* DuplicateSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DuplicateSurfaceCmd.cpp; sourceTree = ""; }; - 016630D21DC8E8010081F28F /* DuplicateSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DuplicateSurfaceCmd.h; sourceTree = ""; }; - 016630D31DC8E8010081F28F /* MvAllTexCoordsCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvAllTexCoordsCmd.cpp; sourceTree = ""; }; - 016630D41DC8E8010081F28F /* MvAllTexCoordsCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvAllTexCoordsCmd.h; sourceTree = ""; }; - 016630D51DC8E8010081F28F /* MvLayerDnCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvLayerDnCmd.cpp; sourceTree = ""; }; - 016630D61DC8E8010081F28F /* MvLayerDnCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvLayerDnCmd.h; sourceTree = ""; }; - 016630D71DC8E8010081F28F /* MvLayerUpCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvLayerUpCmd.cpp; sourceTree = ""; }; - 016630D81DC8E8010081F28F /* MvLayerUpCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvLayerUpCmd.h; sourceTree = ""; }; - 016630D91DC8E8010081F28F /* MvSelectionCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvSelectionCmd.cpp; sourceTree = ""; }; - 016630DA1DC8E8010081F28F /* MvSelectionCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvSelectionCmd.h; sourceTree = ""; }; - 016630DB1DC8E8010081F28F /* MvSurfaceVertCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvSurfaceVertCmd.cpp; sourceTree = ""; }; - 016630DC1DC8E8010081F28F /* MvSurfaceVertCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvSurfaceVertCmd.h; sourceTree = ""; }; - 016630DD1DC8E8010081F28F /* MvTexCoordCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvTexCoordCmd.cpp; sourceTree = ""; }; - 016630DE1DC8E8010081F28F /* MvTexCoordCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvTexCoordCmd.h; sourceTree = ""; }; - 016630DF1DC8E8010081F28F /* RmGridColCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RmGridColCmd.cpp; sourceTree = ""; }; - 016630E01DC8E8010081F28F /* RmGridColCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RmGridColCmd.h; sourceTree = ""; }; - 016630E11DC8E8010081F28F /* RmGridRowCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RmGridRowCmd.cpp; sourceTree = ""; }; - 016630E21DC8E8010081F28F /* RmGridRowCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RmGridRowCmd.h; sourceTree = ""; }; - 016630E31DC8E8010081F28F /* RmSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RmSurfaceCmd.cpp; sourceTree = ""; }; - 016630E41DC8E8010081F28F /* RmSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RmSurfaceCmd.h; sourceTree = ""; }; - 016630E51DC8E8010081F28F /* SaveTexCoordPosCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SaveTexCoordPosCmd.cpp; sourceTree = ""; }; - 016630E61DC8E8010081F28F /* SaveTexCoordPosCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SaveTexCoordPosCmd.h; sourceTree = ""; }; - 016630E71DC8E8010081F28F /* ScaleSurfaceFromToCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScaleSurfaceFromToCmd.cpp; sourceTree = ""; }; - 016630E81DC8E8010081F28F /* ScaleSurfaceFromToCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScaleSurfaceFromToCmd.h; sourceTree = ""; }; - 016630E91DC8E8010081F28F /* SelNextSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelNextSurfaceCmd.cpp; sourceTree = ""; }; - 016630EA1DC8E8010081F28F /* SelNextSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelNextSurfaceCmd.h; sourceTree = ""; }; - 016630EB1DC8E8010081F28F /* SelNextTexCoordCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelNextTexCoordCmd.cpp; sourceTree = ""; }; - 016630EC1DC8E8010081F28F /* SelNextTexCoordCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelNextTexCoordCmd.h; sourceTree = ""; }; - 016630ED1DC8E8010081F28F /* SelNextVertexCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelNextVertexCmd.cpp; sourceTree = ""; }; - 016630EE1DC8E8010081F28F /* SelNextVertexCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelNextVertexCmd.h; sourceTree = ""; }; - 016630EF1DC8E8010081F28F /* SelPrevSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelPrevSurfaceCmd.cpp; sourceTree = ""; }; - 016630F01DC8E8010081F28F /* SelPrevSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelPrevSurfaceCmd.h; sourceTree = ""; }; - 016630F11DC8E8010081F28F /* SelPrevTexCoordCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelPrevTexCoordCmd.cpp; sourceTree = ""; }; - 016630F21DC8E8010081F28F /* SelPrevTexCoordCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelPrevTexCoordCmd.h; sourceTree = ""; }; - 016630F31DC8E8010081F28F /* SelPrevVertexCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelPrevVertexCmd.cpp; sourceTree = ""; }; - 016630F41DC8E8010081F28F /* SelPrevVertexCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelPrevVertexCmd.h; sourceTree = ""; }; - 016630F51DC8E8010081F28F /* SelSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelSurfaceCmd.cpp; sourceTree = ""; }; - 016630F61DC8E8010081F28F /* SelSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelSurfaceCmd.h; sourceTree = ""; }; - 016630F71DC8E8010081F28F /* SelTexCoordCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelTexCoordCmd.cpp; sourceTree = ""; }; - 016630F81DC8E8010081F28F /* SelTexCoordCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelTexCoordCmd.h; sourceTree = ""; }; - 016630F91DC8E8010081F28F /* SelVertexCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelVertexCmd.cpp; sourceTree = ""; }; - 016630FA1DC8E8010081F28F /* SelVertexCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelVertexCmd.h; sourceTree = ""; }; - 016630FB1DC8E8010081F28F /* SetApplicationModeCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetApplicationModeCmd.cpp; sourceTree = ""; }; - 016630FC1DC8E8010081F28F /* SetApplicationModeCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetApplicationModeCmd.h; sourceTree = ""; }; - 016630FD1DC8E8010081F28F /* SetNextSourceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetNextSourceCmd.cpp; sourceTree = ""; }; - 016630FE1DC8E8010081F28F /* SetNextSourceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetNextSourceCmd.h; sourceTree = ""; }; - 016630FF1DC8E8010081F28F /* SetPresetCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetPresetCmd.cpp; sourceTree = ""; }; - 016631001DC8E8010081F28F /* SetPresetCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetPresetCmd.h; sourceTree = ""; }; - 016631011DC8E8010081F28F /* SetSourceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetSourceCmd.cpp; sourceTree = ""; }; - 016631021DC8E8010081F28F /* SetSourceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetSourceCmd.h; sourceTree = ""; }; - 016631031DC8E8010081F28F /* SetTexMapDrawModeCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetTexMapDrawModeCmd.cpp; sourceTree = ""; }; - 016631041DC8E8010081F28F /* SetTexMapDrawModeCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetTexMapDrawModeCmd.h; sourceTree = ""; }; - 016631051DC8E8010081F28F /* StartDragSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StartDragSurfaceCmd.cpp; sourceTree = ""; }; - 016631061DC8E8010081F28F /* StartDragSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StartDragSurfaceCmd.h; sourceTree = ""; }; - 016631071DC8E8010081F28F /* ToggleAnimatedSourceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ToggleAnimatedSourceCmd.cpp; sourceTree = ""; }; - 016631081DC8E8010081F28F /* ToggleAnimatedSourceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ToggleAnimatedSourceCmd.h; sourceTree = ""; }; - 016631091DC8E8010081F28F /* TogglePerspectiveCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TogglePerspectiveCmd.cpp; sourceTree = ""; }; - 0166310A1DC8E8010081F28F /* TogglePerspectiveCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TogglePerspectiveCmd.h; sourceTree = ""; }; - 0166310B1DC8E8010081F28F /* TranslateCanvasCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TranslateCanvasCmd.cpp; sourceTree = ""; }; - 0166310C1DC8E8010081F28F /* TranslateCanvasCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TranslateCanvasCmd.h; sourceTree = ""; }; - 0166310E1DC8E8010081F28F /* Gui.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Gui.cpp; sourceTree = ""; }; - 0166310F1DC8E8010081F28F /* Gui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Gui.h; sourceTree = ""; }; - 016631111DC8E8010081F28F /* GuiBaseWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GuiBaseWidget.h; sourceTree = ""; }; - 016631121DC8E8010081F28F /* LayerPanelWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LayerPanelWidget.cpp; sourceTree = ""; }; - 016631131DC8E8010081F28F /* LayerPanelWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LayerPanelWidget.h; sourceTree = ""; }; - 016631141DC8E8010081F28F /* ProjectionEditorWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ProjectionEditorWidget.cpp; sourceTree = ""; }; - 016631151DC8E8010081F28F /* ProjectionEditorWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProjectionEditorWidget.h; sourceTree = ""; }; - 016631161DC8E8010081F28F /* ScaleWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScaleWidget.cpp; sourceTree = ""; }; - 016631171DC8E8010081F28F /* ScaleWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScaleWidget.h; sourceTree = ""; }; - 016631181DC8E8010081F28F /* SourcesEditorWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SourcesEditorWidget.cpp; sourceTree = ""; }; - 016631191DC8E8010081F28F /* SourcesEditorWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SourcesEditorWidget.h; sourceTree = ""; }; - 0166311A1DC8E8010081F28F /* SurfaceHighlightWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceHighlightWidget.cpp; sourceTree = ""; }; - 0166311B1DC8E8010081F28F /* SurfaceHighlightWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurfaceHighlightWidget.h; sourceTree = ""; }; - 0166311C1DC8E8010081F28F /* TextureEditorWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextureEditorWidget.cpp; sourceTree = ""; }; - 0166311D1DC8E8010081F28F /* TextureEditorWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextureEditorWidget.h; sourceTree = ""; }; - 0166311E1DC8E8010081F28F /* TextureHighlightWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextureHighlightWidget.cpp; sourceTree = ""; }; - 0166311F1DC8E8010081F28F /* TextureHighlightWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextureHighlightWidget.h; sourceTree = ""; }; - 016631211DC8E8010081F28F /* Info.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Info.cpp; sourceTree = ""; }; - 016631221DC8E8010081F28F /* Info.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Info.h; sourceTree = ""; }; - 016631241DC8E8010081F28F /* DirectoryWatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DirectoryWatcher.cpp; sourceTree = ""; }; - 016631251DC8E8010081F28F /* DirectoryWatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DirectoryWatcher.h; sourceTree = ""; }; - 016631261DC8E8010081F28F /* MediaServer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaServer.cpp; sourceTree = ""; }; - 016631271DC8E8010081F28F /* MediaServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaServer.h; sourceTree = ""; }; - 016631281DC8E8010081F28F /* ofxPiMapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxPiMapper.cpp; sourceTree = ""; }; - 016631291DC8E8010081F28F /* ofxPiMapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxPiMapper.h; sourceTree = ""; }; - 0166312B1DC8E8010081F28F /* BaseSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BaseSource.cpp; sourceTree = ""; }; - 0166312C1DC8E8010081F28F /* BaseSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseSource.h; sourceTree = ""; }; - 0166312D1DC8E8010081F28F /* FboSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FboSource.cpp; sourceTree = ""; }; - 0166312E1DC8E8010081F28F /* FboSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FboSource.h; sourceTree = ""; }; - 0166312F1DC8E8010081F28F /* ImageSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageSource.cpp; sourceTree = ""; }; - 016631301DC8E8010081F28F /* ImageSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageSource.h; sourceTree = ""; }; - 016631311DC8E8010081F28F /* OMXPlayerCache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OMXPlayerCache.cpp; sourceTree = ""; }; - 016631321DC8E8010081F28F /* OMXPlayerCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OMXPlayerCache.h; sourceTree = ""; }; - 016631331DC8E8010081F28F /* SourceType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SourceType.h; sourceTree = ""; }; - 016631341DC8E8010081F28F /* VideoSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VideoSource.cpp; sourceTree = ""; }; - 016631351DC8E8010081F28F /* VideoSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VideoSource.h; sourceTree = ""; }; - 016631371DC8E8010081F28F /* BaseSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BaseSurface.cpp; sourceTree = ""; }; - 016631381DC8E8010081F28F /* BaseSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseSurface.h; sourceTree = ""; }; - 016631391DC8E8010081F28F /* GridWarpSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GridWarpSurface.cpp; sourceTree = ""; }; - 0166313A1DC8E8010081F28F /* GridWarpSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GridWarpSurface.h; sourceTree = ""; }; - 0166313B1DC8E8010081F28F /* HexagonSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HexagonSurface.cpp; sourceTree = ""; }; - 0166313C1DC8E8010081F28F /* HexagonSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HexagonSurface.h; sourceTree = ""; }; - 0166313D1DC8E8010081F28F /* QuadSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = QuadSurface.cpp; sourceTree = ""; }; - 0166313E1DC8E8010081F28F /* QuadSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QuadSurface.h; sourceTree = ""; }; - 0166313F1DC8E8010081F28F /* SurfaceFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceFactory.cpp; sourceTree = ""; }; - 016631401DC8E8010081F28F /* SurfaceFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurfaceFactory.h; sourceTree = ""; }; - 016631411DC8E8010081F28F /* SurfaceManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceManager.cpp; sourceTree = ""; }; - 016631421DC8E8010081F28F /* SurfaceManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurfaceManager.h; sourceTree = ""; }; - 016631431DC8E8010081F28F /* SurfaceStack.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceStack.cpp; sourceTree = ""; }; - 016631441DC8E8010081F28F /* SurfaceStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurfaceStack.h; sourceTree = ""; }; - 016631451DC8E8010081F28F /* SurfaceType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurfaceType.h; sourceTree = ""; }; - 016631461DC8E8010081F28F /* TriangleSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TriangleSurface.cpp; sourceTree = ""; }; - 016631471DC8E8010081F28F /* TriangleSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TriangleSurface.h; sourceTree = ""; }; - 016631491DC8E8010081F28F /* BaseJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BaseJoint.cpp; sourceTree = ""; }; - 0166314A1DC8E8010081F28F /* BaseJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseJoint.h; sourceTree = ""; }; - 0166314B1DC8E8010081F28F /* CircleJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CircleJoint.cpp; sourceTree = ""; }; - 0166314C1DC8E8010081F28F /* CircleJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CircleJoint.h; sourceTree = ""; }; - 0166314D1DC8E8010081F28F /* EditorType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EditorType.h; sourceTree = ""; }; - 0166314E1DC8E8010081F28F /* GuiMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GuiMode.h; sourceTree = ""; }; - 0166314F1DC8E8010081F28F /* RadioList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RadioList.cpp; sourceTree = ""; }; - 016631501DC8E8010081F28F /* RadioList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RadioList.h; sourceTree = ""; }; - 016631521DC8E8010081F28F /* HomographyHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HomographyHelper.cpp; sourceTree = ""; }; - 016631531DC8E8010081F28F /* HomographyHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomographyHelper.h; sourceTree = ""; }; + 012CB7FF1FFF8BDC00F8F880 /* Application.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Application.cpp; sourceTree = ""; }; + 012CB8001FFF8BDC00F8F880 /* Application.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Application.h; sourceTree = ""; }; + 012CB8021FFF8BDC00F8F880 /* ApplicationBaseMode.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ApplicationBaseMode.cpp; sourceTree = ""; }; + 012CB8031FFF8BDC00F8F880 /* ApplicationBaseMode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ApplicationBaseMode.h; sourceTree = ""; }; + 012CB8041FFF8BDC00F8F880 /* PresentationMode.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = PresentationMode.cpp; sourceTree = ""; }; + 012CB8051FFF8BDC00F8F880 /* PresentationMode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PresentationMode.h; sourceTree = ""; }; + 012CB8061FFF8BDC00F8F880 /* ProjectionMappingMode.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ProjectionMappingMode.cpp; sourceTree = ""; }; + 012CB8071FFF8BDC00F8F880 /* ProjectionMappingMode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ProjectionMappingMode.h; sourceTree = ""; }; + 012CB8081FFF8BDC00F8F880 /* SourceSelectionMode.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SourceSelectionMode.cpp; sourceTree = ""; }; + 012CB8091FFF8BDC00F8F880 /* SourceSelectionMode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SourceSelectionMode.h; sourceTree = ""; }; + 012CB80A1FFF8BDC00F8F880 /* TextureMappingMode.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TextureMappingMode.cpp; sourceTree = ""; }; + 012CB80B1FFF8BDC00F8F880 /* TextureMappingMode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TextureMappingMode.h; sourceTree = ""; }; + 012CB80C1FFF8BDC00F8F880 /* SettingsLoader.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SettingsLoader.cpp; sourceTree = ""; }; + 012CB80D1FFF8BDC00F8F880 /* SettingsLoader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SettingsLoader.h; sourceTree = ""; }; + 012CB80F1FFF8BDC00F8F880 /* AddGridColCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = AddGridColCmd.cpp; sourceTree = ""; }; + 012CB8101FFF8BDC00F8F880 /* AddGridColCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AddGridColCmd.h; sourceTree = ""; }; + 012CB8111FFF8BDC00F8F880 /* AddGridRowCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = AddGridRowCmd.cpp; sourceTree = ""; }; + 012CB8121FFF8BDC00F8F880 /* AddGridRowCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AddGridRowCmd.h; sourceTree = ""; }; + 012CB8131FFF8BDC00F8F880 /* AddSurfaceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = AddSurfaceCmd.cpp; sourceTree = ""; }; + 012CB8141FFF8BDC00F8F880 /* AddSurfaceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AddSurfaceCmd.h; sourceTree = ""; }; + 012CB8151FFF8BDC00F8F880 /* BaseCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BaseCmd.h; sourceTree = ""; }; + 012CB8161FFF8BDC00F8F880 /* ClearSurfacesCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ClearSurfacesCmd.cpp; sourceTree = ""; }; + 012CB8171FFF8BDC00F8F880 /* ClearSurfacesCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ClearSurfacesCmd.h; sourceTree = ""; }; + 012CB8181FFF8BDC00F8F880 /* CmdManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = CmdManager.cpp; sourceTree = ""; }; + 012CB8191FFF8BDC00F8F880 /* CmdManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CmdManager.h; sourceTree = ""; }; + 012CB81A1FFF8BDC00F8F880 /* DeselectSurfaceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = DeselectSurfaceCmd.cpp; sourceTree = ""; }; + 012CB81B1FFF8BDC00F8F880 /* DeselectSurfaceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DeselectSurfaceCmd.h; sourceTree = ""; }; + 012CB81C1FFF8BDC00F8F880 /* DeselectTexCoordCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = DeselectTexCoordCmd.cpp; sourceTree = ""; }; + 012CB81D1FFF8BDC00F8F880 /* DeselectTexCoordCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DeselectTexCoordCmd.h; sourceTree = ""; }; + 012CB81E1FFF8BDC00F8F880 /* DuplicateSurfaceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = DuplicateSurfaceCmd.cpp; sourceTree = ""; }; + 012CB81F1FFF8BDC00F8F880 /* DuplicateSurfaceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DuplicateSurfaceCmd.h; sourceTree = ""; }; + 012CB8201FFF8BDC00F8F880 /* MvAllTexCoordsCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MvAllTexCoordsCmd.cpp; sourceTree = ""; }; + 012CB8211FFF8BDC00F8F880 /* MvAllTexCoordsCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MvAllTexCoordsCmd.h; sourceTree = ""; }; + 012CB8221FFF8BDC00F8F880 /* MvLayerDnCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MvLayerDnCmd.cpp; sourceTree = ""; }; + 012CB8231FFF8BDC00F8F880 /* MvLayerDnCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MvLayerDnCmd.h; sourceTree = ""; }; + 012CB8241FFF8BDC00F8F880 /* MvLayerUpCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MvLayerUpCmd.cpp; sourceTree = ""; }; + 012CB8251FFF8BDC00F8F880 /* MvLayerUpCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MvLayerUpCmd.h; sourceTree = ""; }; + 012CB8261FFF8BDC00F8F880 /* MvSelectionCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MvSelectionCmd.cpp; sourceTree = ""; }; + 012CB8271FFF8BDC00F8F880 /* MvSelectionCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MvSelectionCmd.h; sourceTree = ""; }; + 012CB8281FFF8BDC00F8F880 /* MvSurfaceVertCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MvSurfaceVertCmd.cpp; sourceTree = ""; }; + 012CB8291FFF8BDC00F8F880 /* MvSurfaceVertCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MvSurfaceVertCmd.h; sourceTree = ""; }; + 012CB82A1FFF8BDC00F8F880 /* MvTexCoordCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MvTexCoordCmd.cpp; sourceTree = ""; }; + 012CB82B1FFF8BDC00F8F880 /* MvTexCoordCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MvTexCoordCmd.h; sourceTree = ""; }; + 012CB82C1FFF8BDC00F8F880 /* RmGridColCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RmGridColCmd.cpp; sourceTree = ""; }; + 012CB82D1FFF8BDC00F8F880 /* RmGridColCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RmGridColCmd.h; sourceTree = ""; }; + 012CB82E1FFF8BDC00F8F880 /* RmGridRowCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RmGridRowCmd.cpp; sourceTree = ""; }; + 012CB82F1FFF8BDC00F8F880 /* RmGridRowCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RmGridRowCmd.h; sourceTree = ""; }; + 012CB8301FFF8BDC00F8F880 /* RmSurfaceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RmSurfaceCmd.cpp; sourceTree = ""; }; + 012CB8311FFF8BDC00F8F880 /* RmSurfaceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RmSurfaceCmd.h; sourceTree = ""; }; + 012CB8321FFF8BDC00F8F880 /* SaveTexCoordPosCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SaveTexCoordPosCmd.cpp; sourceTree = ""; }; + 012CB8331FFF8BDC00F8F880 /* SaveTexCoordPosCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SaveTexCoordPosCmd.h; sourceTree = ""; }; + 012CB8341FFF8BDC00F8F880 /* ScaleSurfaceFromToCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ScaleSurfaceFromToCmd.cpp; sourceTree = ""; }; + 012CB8351FFF8BDC00F8F880 /* ScaleSurfaceFromToCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ScaleSurfaceFromToCmd.h; sourceTree = ""; }; + 012CB8361FFF8BDC00F8F880 /* SelNextSurfaceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SelNextSurfaceCmd.cpp; sourceTree = ""; }; + 012CB8371FFF8BDC00F8F880 /* SelNextSurfaceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SelNextSurfaceCmd.h; sourceTree = ""; }; + 012CB8381FFF8BDC00F8F880 /* SelNextTexCoordCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SelNextTexCoordCmd.cpp; sourceTree = ""; }; + 012CB8391FFF8BDC00F8F880 /* SelNextTexCoordCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SelNextTexCoordCmd.h; sourceTree = ""; }; + 012CB83A1FFF8BDC00F8F880 /* SelNextVertexCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SelNextVertexCmd.cpp; sourceTree = ""; }; + 012CB83B1FFF8BDC00F8F880 /* SelNextVertexCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SelNextVertexCmd.h; sourceTree = ""; }; + 012CB83C1FFF8BDC00F8F880 /* SelPrevSurfaceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SelPrevSurfaceCmd.cpp; sourceTree = ""; }; + 012CB83D1FFF8BDC00F8F880 /* SelPrevSurfaceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SelPrevSurfaceCmd.h; sourceTree = ""; }; + 012CB83E1FFF8BDC00F8F880 /* SelPrevTexCoordCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SelPrevTexCoordCmd.cpp; sourceTree = ""; }; + 012CB83F1FFF8BDC00F8F880 /* SelPrevTexCoordCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SelPrevTexCoordCmd.h; sourceTree = ""; }; + 012CB8401FFF8BDC00F8F880 /* SelPrevVertexCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SelPrevVertexCmd.cpp; sourceTree = ""; }; + 012CB8411FFF8BDC00F8F880 /* SelPrevVertexCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SelPrevVertexCmd.h; sourceTree = ""; }; + 012CB8421FFF8BDC00F8F880 /* SelSurfaceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SelSurfaceCmd.cpp; sourceTree = ""; }; + 012CB8431FFF8BDC00F8F880 /* SelSurfaceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SelSurfaceCmd.h; sourceTree = ""; }; + 012CB8441FFF8BDC00F8F880 /* SelTexCoordCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SelTexCoordCmd.cpp; sourceTree = ""; }; + 012CB8451FFF8BDC00F8F880 /* SelTexCoordCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SelTexCoordCmd.h; sourceTree = ""; }; + 012CB8461FFF8BDC00F8F880 /* SelVertexCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SelVertexCmd.cpp; sourceTree = ""; }; + 012CB8471FFF8BDC00F8F880 /* SelVertexCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SelVertexCmd.h; sourceTree = ""; }; + 012CB8481FFF8BDC00F8F880 /* SetApplicationModeCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SetApplicationModeCmd.cpp; sourceTree = ""; }; + 012CB8491FFF8BDC00F8F880 /* SetApplicationModeCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SetApplicationModeCmd.h; sourceTree = ""; }; + 012CB84A1FFF8BDC00F8F880 /* SetNextSourceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SetNextSourceCmd.cpp; sourceTree = ""; }; + 012CB84B1FFF8BDC00F8F880 /* SetNextSourceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SetNextSourceCmd.h; sourceTree = ""; }; + 012CB84C1FFF8BDC00F8F880 /* SetPresetCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SetPresetCmd.cpp; sourceTree = ""; }; + 012CB84D1FFF8BDC00F8F880 /* SetPresetCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SetPresetCmd.h; sourceTree = ""; }; + 012CB84E1FFF8BDC00F8F880 /* SetSourceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SetSourceCmd.cpp; sourceTree = ""; }; + 012CB84F1FFF8BDC00F8F880 /* SetSourceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SetSourceCmd.h; sourceTree = ""; }; + 012CB8501FFF8BDC00F8F880 /* SetTexMapDrawModeCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SetTexMapDrawModeCmd.cpp; sourceTree = ""; }; + 012CB8511FFF8BDC00F8F880 /* SetTexMapDrawModeCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SetTexMapDrawModeCmd.h; sourceTree = ""; }; + 012CB8521FFF8BDC00F8F880 /* StartDragSurfaceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = StartDragSurfaceCmd.cpp; sourceTree = ""; }; + 012CB8531FFF8BDC00F8F880 /* StartDragSurfaceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StartDragSurfaceCmd.h; sourceTree = ""; }; + 012CB8541FFF8BDC00F8F880 /* ToggleAnimatedSourceCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ToggleAnimatedSourceCmd.cpp; sourceTree = ""; }; + 012CB8551FFF8BDC00F8F880 /* ToggleAnimatedSourceCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ToggleAnimatedSourceCmd.h; sourceTree = ""; }; + 012CB8561FFF8BDC00F8F880 /* TogglePerspectiveCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TogglePerspectiveCmd.cpp; sourceTree = ""; }; + 012CB8571FFF8BDC00F8F880 /* TogglePerspectiveCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TogglePerspectiveCmd.h; sourceTree = ""; }; + 012CB8581FFF8BDC00F8F880 /* TranslateCanvasCmd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TranslateCanvasCmd.cpp; sourceTree = ""; }; + 012CB8591FFF8BDC00F8F880 /* TranslateCanvasCmd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TranslateCanvasCmd.h; sourceTree = ""; }; + 012CB85B1FFF8BDC00F8F880 /* Gui.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Gui.cpp; sourceTree = ""; }; + 012CB85C1FFF8BDC00F8F880 /* Gui.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Gui.h; sourceTree = ""; }; + 012CB85E1FFF8BDC00F8F880 /* GuiBaseWidget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GuiBaseWidget.h; sourceTree = ""; }; + 012CB85F1FFF8BDC00F8F880 /* LayerPanelWidget.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = LayerPanelWidget.cpp; sourceTree = ""; }; + 012CB8601FFF8BDC00F8F880 /* LayerPanelWidget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LayerPanelWidget.h; sourceTree = ""; }; + 012CB8611FFF8BDC00F8F880 /* ProjectionEditorWidget.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ProjectionEditorWidget.cpp; sourceTree = ""; }; + 012CB8621FFF8BDC00F8F880 /* ProjectionEditorWidget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ProjectionEditorWidget.h; sourceTree = ""; }; + 012CB8631FFF8BDC00F8F880 /* ScaleWidget.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ScaleWidget.cpp; sourceTree = ""; }; + 012CB8641FFF8BDC00F8F880 /* ScaleWidget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ScaleWidget.h; sourceTree = ""; }; + 012CB8651FFF8BDC00F8F880 /* SourcesEditorWidget.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SourcesEditorWidget.cpp; sourceTree = ""; }; + 012CB8661FFF8BDC00F8F880 /* SourcesEditorWidget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SourcesEditorWidget.h; sourceTree = ""; }; + 012CB8671FFF8BDC00F8F880 /* SurfaceHighlightWidget.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceHighlightWidget.cpp; sourceTree = ""; }; + 012CB8681FFF8BDC00F8F880 /* SurfaceHighlightWidget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SurfaceHighlightWidget.h; sourceTree = ""; }; + 012CB8691FFF8BDC00F8F880 /* TextureEditorWidget.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TextureEditorWidget.cpp; sourceTree = ""; }; + 012CB86A1FFF8BDC00F8F880 /* TextureEditorWidget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TextureEditorWidget.h; sourceTree = ""; }; + 012CB86B1FFF8BDC00F8F880 /* TextureHighlightWidget.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TextureHighlightWidget.cpp; sourceTree = ""; }; + 012CB86C1FFF8BDC00F8F880 /* TextureHighlightWidget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TextureHighlightWidget.h; sourceTree = ""; }; + 012CB86E1FFF8BDC00F8F880 /* Info.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Info.cpp; sourceTree = ""; }; + 012CB86F1FFF8BDC00F8F880 /* Info.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Info.h; sourceTree = ""; }; + 012CB8711FFF8BDC00F8F880 /* DirectoryWatcher.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = DirectoryWatcher.cpp; sourceTree = ""; }; + 012CB8721FFF8BDC00F8F880 /* DirectoryWatcher.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DirectoryWatcher.h; sourceTree = ""; }; + 012CB8731FFF8BDC00F8F880 /* MediaServer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MediaServer.cpp; sourceTree = ""; }; + 012CB8741FFF8BDC00F8F880 /* MediaServer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MediaServer.h; sourceTree = ""; }; + 012CB8751FFF8BDC00F8F880 /* Mode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Mode.h; sourceTree = ""; }; + 012CB8761FFF8BDC00F8F880 /* ofxPiMapper.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxPiMapper.cpp; sourceTree = ""; }; + 012CB8771FFF8BDC00F8F880 /* ofxPiMapper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxPiMapper.h; sourceTree = ""; }; + 012CB8791FFF8BDC00F8F880 /* BaseSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = BaseSource.cpp; sourceTree = ""; }; + 012CB87A1FFF8BDC00F8F880 /* BaseSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BaseSource.h; sourceTree = ""; }; + 012CB87B1FFF8BDC00F8F880 /* FboSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = FboSource.cpp; sourceTree = ""; }; + 012CB87C1FFF8BDC00F8F880 /* FboSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FboSource.h; sourceTree = ""; }; + 012CB87D1FFF8BDC00F8F880 /* ImageSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ImageSource.cpp; sourceTree = ""; }; + 012CB87E1FFF8BDC00F8F880 /* ImageSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ImageSource.h; sourceTree = ""; }; + 012CB87F1FFF8BDC00F8F880 /* magSlide.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = magSlide.cpp; sourceTree = ""; }; + 012CB8801FFF8BDC00F8F880 /* magSlide.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = magSlide.h; sourceTree = ""; }; + 012CB8811FFF8BDC00F8F880 /* magSlideShowSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = magSlideShowSource.cpp; sourceTree = ""; }; + 012CB8821FFF8BDC00F8F880 /* magSlideShowSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = magSlideShowSource.h; sourceTree = ""; }; + 012CB8831FFF8BDC00F8F880 /* magSlideTransition.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = magSlideTransition.cpp; sourceTree = ""; }; + 012CB8841FFF8BDC00F8F880 /* magSlideTransition.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = magSlideTransition.h; sourceTree = ""; }; + 012CB8851FFF8BDC00F8F880 /* magSlideTransitionFactory.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = magSlideTransitionFactory.cpp; sourceTree = ""; }; + 012CB8861FFF8BDC00F8F880 /* magSlideTransitionFactory.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = magSlideTransitionFactory.h; sourceTree = ""; }; + 012CB8871FFF8BDC00F8F880 /* OMXPlayerCache.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = OMXPlayerCache.cpp; sourceTree = ""; }; + 012CB8881FFF8BDC00F8F880 /* OMXPlayerCache.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OMXPlayerCache.h; sourceTree = ""; }; + 012CB8891FFF8BDC00F8F880 /* SourceType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SourceType.h; sourceTree = ""; }; + 012CB88A1FFF8BDC00F8F880 /* SourceTypeHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SourceTypeHelper.h; sourceTree = ""; }; + 012CB88B1FFF8BDC00F8F880 /* VideoSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = VideoSource.cpp; sourceTree = ""; }; + 012CB88C1FFF8BDC00F8F880 /* VideoSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VideoSource.h; sourceTree = ""; }; + 012CB88E1FFF8BDC00F8F880 /* BaseSurface.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = BaseSurface.cpp; sourceTree = ""; }; + 012CB88F1FFF8BDC00F8F880 /* BaseSurface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BaseSurface.h; sourceTree = ""; }; + 012CB8901FFF8BDC00F8F880 /* CircleSurface.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = CircleSurface.cpp; sourceTree = ""; }; + 012CB8911FFF8BDC00F8F880 /* CircleSurface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CircleSurface.h; sourceTree = ""; }; + 012CB8921FFF8BDC00F8F880 /* GridWarpSurface.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GridWarpSurface.cpp; sourceTree = ""; }; + 012CB8931FFF8BDC00F8F880 /* GridWarpSurface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GridWarpSurface.h; sourceTree = ""; }; + 012CB8941FFF8BDC00F8F880 /* HexagonSurface.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = HexagonSurface.cpp; sourceTree = ""; }; + 012CB8951FFF8BDC00F8F880 /* HexagonSurface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HexagonSurface.h; sourceTree = ""; }; + 012CB8961FFF8BDC00F8F880 /* QuadSurface.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = QuadSurface.cpp; sourceTree = ""; }; + 012CB8971FFF8BDC00F8F880 /* QuadSurface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = QuadSurface.h; sourceTree = ""; }; + 012CB8981FFF8BDC00F8F880 /* SurfaceFactory.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceFactory.cpp; sourceTree = ""; }; + 012CB8991FFF8BDC00F8F880 /* SurfaceFactory.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SurfaceFactory.h; sourceTree = ""; }; + 012CB89A1FFF8BDC00F8F880 /* SurfaceManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceManager.cpp; sourceTree = ""; }; + 012CB89B1FFF8BDC00F8F880 /* SurfaceManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SurfaceManager.h; sourceTree = ""; }; + 012CB89C1FFF8BDC00F8F880 /* SurfaceStack.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceStack.cpp; sourceTree = ""; }; + 012CB89D1FFF8BDC00F8F880 /* SurfaceStack.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SurfaceStack.h; sourceTree = ""; }; + 012CB89E1FFF8BDC00F8F880 /* SurfaceType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SurfaceType.h; sourceTree = ""; }; + 012CB89F1FFF8BDC00F8F880 /* TriangleSurface.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TriangleSurface.cpp; sourceTree = ""; }; + 012CB8A01FFF8BDC00F8F880 /* TriangleSurface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TriangleSurface.h; sourceTree = ""; }; + 012CB8A21FFF8BDC00F8F880 /* Vec2.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Vec2.cpp; sourceTree = ""; }; + 012CB8A31FFF8BDC00F8F880 /* Vec2.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Vec2.h; sourceTree = ""; }; + 012CB8A41FFF8BDC00F8F880 /* Vec3.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Vec3.cpp; sourceTree = ""; }; + 012CB8A51FFF8BDC00F8F880 /* Vec3.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Vec3.h; sourceTree = ""; }; + 012CB8A71FFF8BDC00F8F880 /* BaseJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = BaseJoint.cpp; sourceTree = ""; }; + 012CB8A81FFF8BDC00F8F880 /* BaseJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BaseJoint.h; sourceTree = ""; }; + 012CB8A91FFF8BDC00F8F880 /* CircleJoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = CircleJoint.cpp; sourceTree = ""; }; + 012CB8AA1FFF8BDC00F8F880 /* CircleJoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CircleJoint.h; sourceTree = ""; }; + 012CB8AB1FFF8BDC00F8F880 /* EditorType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EditorType.h; sourceTree = ""; }; + 012CB8AC1FFF8BDC00F8F880 /* GuiMode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GuiMode.h; sourceTree = ""; }; + 012CB8AD1FFF8BDC00F8F880 /* RadioList.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RadioList.cpp; sourceTree = ""; }; + 012CB8AE1FFF8BDC00F8F880 /* RadioList.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RadioList.h; sourceTree = ""; }; + 012CB8B01FFF8BDC00F8F880 /* HomographyHelper.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = HomographyHelper.cpp; sourceTree = ""; }; + 012CB8B11FFF8BDC00F8F880 /* HomographyHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HomographyHelper.h; sourceTree = ""; }; + 012CB8B31FFF8BE800F8F880 /* ofxBaseGui.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxBaseGui.cpp; sourceTree = ""; }; + 012CB8B41FFF8BE800F8F880 /* ofxBaseGui.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxBaseGui.h; sourceTree = ""; }; + 012CB8B51FFF8BE800F8F880 /* ofxButton.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxButton.cpp; sourceTree = ""; }; + 012CB8B61FFF8BE800F8F880 /* ofxButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxButton.h; sourceTree = ""; }; + 012CB8B71FFF8BE800F8F880 /* ofxColorPicker.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxColorPicker.cpp; sourceTree = ""; }; + 012CB8B81FFF8BE800F8F880 /* ofxColorPicker.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxColorPicker.h; sourceTree = ""; }; + 012CB8B91FFF8BE800F8F880 /* ofxGui.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxGui.h; sourceTree = ""; }; + 012CB8BA1FFF8BE800F8F880 /* ofxGuiGroup.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxGuiGroup.cpp; sourceTree = ""; }; + 012CB8BB1FFF8BE800F8F880 /* ofxGuiGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxGuiGroup.h; sourceTree = ""; }; + 012CB8BC1FFF8BE800F8F880 /* ofxInputField.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxInputField.cpp; sourceTree = ""; }; + 012CB8BD1FFF8BE800F8F880 /* ofxInputField.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxInputField.h; sourceTree = ""; }; + 012CB8BE1FFF8BE800F8F880 /* ofxLabel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxLabel.cpp; sourceTree = ""; }; + 012CB8BF1FFF8BE800F8F880 /* ofxLabel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxLabel.h; sourceTree = ""; }; + 012CB8C01FFF8BE800F8F880 /* ofxPanel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxPanel.cpp; sourceTree = ""; }; + 012CB8C11FFF8BE800F8F880 /* ofxPanel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxPanel.h; sourceTree = ""; }; + 012CB8C21FFF8BE800F8F880 /* ofxSlider.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSlider.cpp; sourceTree = ""; }; + 012CB8C31FFF8BE800F8F880 /* ofxSlider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxSlider.h; sourceTree = ""; }; + 012CB8C41FFF8BE800F8F880 /* ofxSliderGroup.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSliderGroup.cpp; sourceTree = ""; }; + 012CB8C51FFF8BE800F8F880 /* ofxSliderGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxSliderGroup.h; sourceTree = ""; }; + 012CB8C61FFF8BE800F8F880 /* ofxToggle.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxToggle.cpp; sourceTree = ""; }; + 012CB8C71FFF8BE800F8F880 /* ofxToggle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxToggle.h; sourceTree = ""; }; 01DC7EDC1E452858003137B7 /* InputHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InputHandler.cpp; sourceTree = ""; }; 01DC7EDD1E452858003137B7 /* InputHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InputHandler.h; sourceTree = ""; }; 01DC7EDF1E45289C003137B7 /* SDL2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL2.framework; path = ../../../../../../../../Library/Frameworks/SDL2.framework; sourceTree = ""; }; @@ -306,23 +351,6 @@ 3926483E192224F90008A7F5 /* tinyxml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tinyxml.h; sourceTree = ""; }; 3926483F192224F90008A7F5 /* tinyxmlerror.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tinyxmlerror.cpp; sourceTree = ""; }; 39264840192224F90008A7F5 /* tinyxmlparser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tinyxmlparser.cpp; sourceTree = ""; }; - 3933D5C219BB87BD000ACA55 /* ofxBaseGui.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxBaseGui.cpp; sourceTree = ""; }; - 3933D5C319BB87BD000ACA55 /* ofxBaseGui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxBaseGui.h; sourceTree = ""; }; - 3933D5C419BB87BD000ACA55 /* ofxButton.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxButton.cpp; sourceTree = ""; }; - 3933D5C519BB87BD000ACA55 /* ofxButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxButton.h; sourceTree = ""; }; - 3933D5C619BB87BD000ACA55 /* ofxGui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxGui.h; sourceTree = ""; }; - 3933D5C719BB87BD000ACA55 /* ofxGuiGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxGuiGroup.cpp; sourceTree = ""; }; - 3933D5C819BB87BD000ACA55 /* ofxGuiGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxGuiGroup.h; sourceTree = ""; }; - 3933D5C919BB87BD000ACA55 /* ofxLabel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxLabel.cpp; sourceTree = ""; }; - 3933D5CA19BB87BD000ACA55 /* ofxLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxLabel.h; sourceTree = ""; }; - 3933D5CB19BB87BD000ACA55 /* ofxPanel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxPanel.cpp; sourceTree = ""; }; - 3933D5CC19BB87BD000ACA55 /* ofxPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxPanel.h; sourceTree = ""; }; - 3933D5CD19BB87BD000ACA55 /* ofxSlider.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSlider.cpp; sourceTree = ""; }; - 3933D5CE19BB87BD000ACA55 /* ofxSlider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxSlider.h; sourceTree = ""; }; - 3933D5CF19BB87BD000ACA55 /* ofxSliderGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSliderGroup.cpp; sourceTree = ""; }; - 3933D5D019BB87BD000ACA55 /* ofxSliderGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxSliderGroup.h; sourceTree = ""; }; - 3933D5D119BB87BD000ACA55 /* ofxToggle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxToggle.cpp; sourceTree = ""; }; - 3933D5D219BB87BD000ACA55 /* ofxToggle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxToggle.h; sourceTree = ""; }; BBAB23BE13894E4700AA2426 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../libs/glut/lib/osx/GLUT.framework; sourceTree = ""; }; E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openFrameworksLib.xcodeproj; path = ../../../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 = ""; }; @@ -376,255 +404,307 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 016630B01DC8E8010081F28F /* src */ = { + 012CB7FD1FFF8BDC00F8F880 /* src */ = { isa = PBXGroup; children = ( - 016630B11DC8E8010081F28F /* Application */, - 016630C11DC8E8010081F28F /* Commands */, - 0166310D1DC8E8010081F28F /* Gui */, - 016631201DC8E8010081F28F /* Info */, - 016631231DC8E8010081F28F /* MediaServer */, - 016631281DC8E8010081F28F /* ofxPiMapper.cpp */, - 016631291DC8E8010081F28F /* ofxPiMapper.h */, - 0100D9421E33E6C1000D7FA5 /* Mode.h */, - 0166312A1DC8E8010081F28F /* Sources */, - 016631361DC8E8010081F28F /* Surfaces */, - 016631481DC8E8010081F28F /* UserInterface */, - 016631511DC8E8010081F28F /* Utils */, + 012CB7FE1FFF8BDC00F8F880 /* Application */, + 012CB80E1FFF8BDC00F8F880 /* Commands */, + 012CB85A1FFF8BDC00F8F880 /* Gui */, + 012CB86D1FFF8BDC00F8F880 /* Info */, + 012CB8701FFF8BDC00F8F880 /* MediaServer */, + 012CB8751FFF8BDC00F8F880 /* Mode.h */, + 012CB8761FFF8BDC00F8F880 /* ofxPiMapper.cpp */, + 012CB8771FFF8BDC00F8F880 /* ofxPiMapper.h */, + 012CB8781FFF8BDC00F8F880 /* Sources */, + 012CB88D1FFF8BDC00F8F880 /* Surfaces */, + 012CB8A11FFF8BDC00F8F880 /* Types */, + 012CB8A61FFF8BDC00F8F880 /* UserInterface */, + 012CB8AF1FFF8BDC00F8F880 /* Utils */, ); name = src; path = ../src; sourceTree = ""; }; - 016630B11DC8E8010081F28F /* Application */ = { + 012CB7FE1FFF8BDC00F8F880 /* Application */ = { isa = PBXGroup; children = ( - 016630B21DC8E8010081F28F /* Application.cpp */, - 016630B31DC8E8010081F28F /* Application.h */, - 016630B41DC8E8010081F28F /* Modes */, - 016630BF1DC8E8010081F28F /* SettingsLoader.cpp */, - 016630C01DC8E8010081F28F /* SettingsLoader.h */, + 012CB7FF1FFF8BDC00F8F880 /* Application.cpp */, + 012CB8001FFF8BDC00F8F880 /* Application.h */, + 012CB8011FFF8BDC00F8F880 /* Modes */, + 012CB80C1FFF8BDC00F8F880 /* SettingsLoader.cpp */, + 012CB80D1FFF8BDC00F8F880 /* SettingsLoader.h */, ); path = Application; sourceTree = ""; }; - 016630B41DC8E8010081F28F /* Modes */ = { + 012CB8011FFF8BDC00F8F880 /* Modes */ = { isa = PBXGroup; children = ( - 016630B51DC8E8010081F28F /* ApplicationBaseMode.cpp */, - 016630B61DC8E8010081F28F /* ApplicationBaseMode.h */, - 016630B71DC8E8010081F28F /* PresentationMode.cpp */, - 016630B81DC8E8010081F28F /* PresentationMode.h */, - 016630B91DC8E8010081F28F /* ProjectionMappingMode.cpp */, - 016630BA1DC8E8010081F28F /* ProjectionMappingMode.h */, - 016630BB1DC8E8010081F28F /* SourceSelectionMode.cpp */, - 016630BC1DC8E8010081F28F /* SourceSelectionMode.h */, - 016630BD1DC8E8010081F28F /* TextureMappingMode.cpp */, - 016630BE1DC8E8010081F28F /* TextureMappingMode.h */, + 012CB8021FFF8BDC00F8F880 /* ApplicationBaseMode.cpp */, + 012CB8031FFF8BDC00F8F880 /* ApplicationBaseMode.h */, + 012CB8041FFF8BDC00F8F880 /* PresentationMode.cpp */, + 012CB8051FFF8BDC00F8F880 /* PresentationMode.h */, + 012CB8061FFF8BDC00F8F880 /* ProjectionMappingMode.cpp */, + 012CB8071FFF8BDC00F8F880 /* ProjectionMappingMode.h */, + 012CB8081FFF8BDC00F8F880 /* SourceSelectionMode.cpp */, + 012CB8091FFF8BDC00F8F880 /* SourceSelectionMode.h */, + 012CB80A1FFF8BDC00F8F880 /* TextureMappingMode.cpp */, + 012CB80B1FFF8BDC00F8F880 /* TextureMappingMode.h */, ); path = Modes; sourceTree = ""; }; - 016630C11DC8E8010081F28F /* Commands */ = { + 012CB80E1FFF8BDC00F8F880 /* Commands */ = { isa = PBXGroup; children = ( - 016630C21DC8E8010081F28F /* AddGridColCmd.cpp */, - 016630C31DC8E8010081F28F /* AddGridColCmd.h */, - 016630C41DC8E8010081F28F /* AddGridRowCmd.cpp */, - 016630C51DC8E8010081F28F /* AddGridRowCmd.h */, - 016630C61DC8E8010081F28F /* AddSurfaceCmd.cpp */, - 016630C71DC8E8010081F28F /* AddSurfaceCmd.h */, - 016630C81DC8E8010081F28F /* BaseCmd.h */, - 016630C91DC8E8010081F28F /* ClearSurfacesCmd.cpp */, - 016630CA1DC8E8010081F28F /* ClearSurfacesCmd.h */, - 016630CB1DC8E8010081F28F /* CmdManager.cpp */, - 016630CC1DC8E8010081F28F /* CmdManager.h */, - 016630CD1DC8E8010081F28F /* DeselectSurfaceCmd.cpp */, - 016630CE1DC8E8010081F28F /* DeselectSurfaceCmd.h */, - 016630CF1DC8E8010081F28F /* DeselectTexCoordCmd.cpp */, - 016630D01DC8E8010081F28F /* DeselectTexCoordCmd.h */, - 016630D11DC8E8010081F28F /* DuplicateSurfaceCmd.cpp */, - 016630D21DC8E8010081F28F /* DuplicateSurfaceCmd.h */, - 016630D31DC8E8010081F28F /* MvAllTexCoordsCmd.cpp */, - 016630D41DC8E8010081F28F /* MvAllTexCoordsCmd.h */, - 016630D51DC8E8010081F28F /* MvLayerDnCmd.cpp */, - 016630D61DC8E8010081F28F /* MvLayerDnCmd.h */, - 016630D71DC8E8010081F28F /* MvLayerUpCmd.cpp */, - 016630D81DC8E8010081F28F /* MvLayerUpCmd.h */, - 016630D91DC8E8010081F28F /* MvSelectionCmd.cpp */, - 016630DA1DC8E8010081F28F /* MvSelectionCmd.h */, - 016630DB1DC8E8010081F28F /* MvSurfaceVertCmd.cpp */, - 016630DC1DC8E8010081F28F /* MvSurfaceVertCmd.h */, - 016630DD1DC8E8010081F28F /* MvTexCoordCmd.cpp */, - 016630DE1DC8E8010081F28F /* MvTexCoordCmd.h */, - 016630DF1DC8E8010081F28F /* RmGridColCmd.cpp */, - 016630E01DC8E8010081F28F /* RmGridColCmd.h */, - 016630E11DC8E8010081F28F /* RmGridRowCmd.cpp */, - 016630E21DC8E8010081F28F /* RmGridRowCmd.h */, - 016630E31DC8E8010081F28F /* RmSurfaceCmd.cpp */, - 016630E41DC8E8010081F28F /* RmSurfaceCmd.h */, - 016630E51DC8E8010081F28F /* SaveTexCoordPosCmd.cpp */, - 016630E61DC8E8010081F28F /* SaveTexCoordPosCmd.h */, - 016630E71DC8E8010081F28F /* ScaleSurfaceFromToCmd.cpp */, - 016630E81DC8E8010081F28F /* ScaleSurfaceFromToCmd.h */, - 016630E91DC8E8010081F28F /* SelNextSurfaceCmd.cpp */, - 016630EA1DC8E8010081F28F /* SelNextSurfaceCmd.h */, - 016630EB1DC8E8010081F28F /* SelNextTexCoordCmd.cpp */, - 016630EC1DC8E8010081F28F /* SelNextTexCoordCmd.h */, - 016630ED1DC8E8010081F28F /* SelNextVertexCmd.cpp */, - 016630EE1DC8E8010081F28F /* SelNextVertexCmd.h */, - 016630EF1DC8E8010081F28F /* SelPrevSurfaceCmd.cpp */, - 016630F01DC8E8010081F28F /* SelPrevSurfaceCmd.h */, - 016630F11DC8E8010081F28F /* SelPrevTexCoordCmd.cpp */, - 016630F21DC8E8010081F28F /* SelPrevTexCoordCmd.h */, - 016630F31DC8E8010081F28F /* SelPrevVertexCmd.cpp */, - 016630F41DC8E8010081F28F /* SelPrevVertexCmd.h */, - 016630F51DC8E8010081F28F /* SelSurfaceCmd.cpp */, - 016630F61DC8E8010081F28F /* SelSurfaceCmd.h */, - 016630F71DC8E8010081F28F /* SelTexCoordCmd.cpp */, - 016630F81DC8E8010081F28F /* SelTexCoordCmd.h */, - 016630F91DC8E8010081F28F /* SelVertexCmd.cpp */, - 016630FA1DC8E8010081F28F /* SelVertexCmd.h */, - 016630FB1DC8E8010081F28F /* SetApplicationModeCmd.cpp */, - 016630FC1DC8E8010081F28F /* SetApplicationModeCmd.h */, - 016630FD1DC8E8010081F28F /* SetNextSourceCmd.cpp */, - 016630FE1DC8E8010081F28F /* SetNextSourceCmd.h */, - 016630FF1DC8E8010081F28F /* SetPresetCmd.cpp */, - 016631001DC8E8010081F28F /* SetPresetCmd.h */, - 016631011DC8E8010081F28F /* SetSourceCmd.cpp */, - 016631021DC8E8010081F28F /* SetSourceCmd.h */, - 016631031DC8E8010081F28F /* SetTexMapDrawModeCmd.cpp */, - 016631041DC8E8010081F28F /* SetTexMapDrawModeCmd.h */, - 016631051DC8E8010081F28F /* StartDragSurfaceCmd.cpp */, - 016631061DC8E8010081F28F /* StartDragSurfaceCmd.h */, - 016631071DC8E8010081F28F /* ToggleAnimatedSourceCmd.cpp */, - 016631081DC8E8010081F28F /* ToggleAnimatedSourceCmd.h */, - 016631091DC8E8010081F28F /* TogglePerspectiveCmd.cpp */, - 0166310A1DC8E8010081F28F /* TogglePerspectiveCmd.h */, - 0166310B1DC8E8010081F28F /* TranslateCanvasCmd.cpp */, - 0166310C1DC8E8010081F28F /* TranslateCanvasCmd.h */, + 012CB80F1FFF8BDC00F8F880 /* AddGridColCmd.cpp */, + 012CB8101FFF8BDC00F8F880 /* AddGridColCmd.h */, + 012CB8111FFF8BDC00F8F880 /* AddGridRowCmd.cpp */, + 012CB8121FFF8BDC00F8F880 /* AddGridRowCmd.h */, + 012CB8131FFF8BDC00F8F880 /* AddSurfaceCmd.cpp */, + 012CB8141FFF8BDC00F8F880 /* AddSurfaceCmd.h */, + 012CB8151FFF8BDC00F8F880 /* BaseCmd.h */, + 012CB8161FFF8BDC00F8F880 /* ClearSurfacesCmd.cpp */, + 012CB8171FFF8BDC00F8F880 /* ClearSurfacesCmd.h */, + 012CB8181FFF8BDC00F8F880 /* CmdManager.cpp */, + 012CB8191FFF8BDC00F8F880 /* CmdManager.h */, + 012CB81A1FFF8BDC00F8F880 /* DeselectSurfaceCmd.cpp */, + 012CB81B1FFF8BDC00F8F880 /* DeselectSurfaceCmd.h */, + 012CB81C1FFF8BDC00F8F880 /* DeselectTexCoordCmd.cpp */, + 012CB81D1FFF8BDC00F8F880 /* DeselectTexCoordCmd.h */, + 012CB81E1FFF8BDC00F8F880 /* DuplicateSurfaceCmd.cpp */, + 012CB81F1FFF8BDC00F8F880 /* DuplicateSurfaceCmd.h */, + 012CB8201FFF8BDC00F8F880 /* MvAllTexCoordsCmd.cpp */, + 012CB8211FFF8BDC00F8F880 /* MvAllTexCoordsCmd.h */, + 012CB8221FFF8BDC00F8F880 /* MvLayerDnCmd.cpp */, + 012CB8231FFF8BDC00F8F880 /* MvLayerDnCmd.h */, + 012CB8241FFF8BDC00F8F880 /* MvLayerUpCmd.cpp */, + 012CB8251FFF8BDC00F8F880 /* MvLayerUpCmd.h */, + 012CB8261FFF8BDC00F8F880 /* MvSelectionCmd.cpp */, + 012CB8271FFF8BDC00F8F880 /* MvSelectionCmd.h */, + 012CB8281FFF8BDC00F8F880 /* MvSurfaceVertCmd.cpp */, + 012CB8291FFF8BDC00F8F880 /* MvSurfaceVertCmd.h */, + 012CB82A1FFF8BDC00F8F880 /* MvTexCoordCmd.cpp */, + 012CB82B1FFF8BDC00F8F880 /* MvTexCoordCmd.h */, + 012CB82C1FFF8BDC00F8F880 /* RmGridColCmd.cpp */, + 012CB82D1FFF8BDC00F8F880 /* RmGridColCmd.h */, + 012CB82E1FFF8BDC00F8F880 /* RmGridRowCmd.cpp */, + 012CB82F1FFF8BDC00F8F880 /* RmGridRowCmd.h */, + 012CB8301FFF8BDC00F8F880 /* RmSurfaceCmd.cpp */, + 012CB8311FFF8BDC00F8F880 /* RmSurfaceCmd.h */, + 012CB8321FFF8BDC00F8F880 /* SaveTexCoordPosCmd.cpp */, + 012CB8331FFF8BDC00F8F880 /* SaveTexCoordPosCmd.h */, + 012CB8341FFF8BDC00F8F880 /* ScaleSurfaceFromToCmd.cpp */, + 012CB8351FFF8BDC00F8F880 /* ScaleSurfaceFromToCmd.h */, + 012CB8361FFF8BDC00F8F880 /* SelNextSurfaceCmd.cpp */, + 012CB8371FFF8BDC00F8F880 /* SelNextSurfaceCmd.h */, + 012CB8381FFF8BDC00F8F880 /* SelNextTexCoordCmd.cpp */, + 012CB8391FFF8BDC00F8F880 /* SelNextTexCoordCmd.h */, + 012CB83A1FFF8BDC00F8F880 /* SelNextVertexCmd.cpp */, + 012CB83B1FFF8BDC00F8F880 /* SelNextVertexCmd.h */, + 012CB83C1FFF8BDC00F8F880 /* SelPrevSurfaceCmd.cpp */, + 012CB83D1FFF8BDC00F8F880 /* SelPrevSurfaceCmd.h */, + 012CB83E1FFF8BDC00F8F880 /* SelPrevTexCoordCmd.cpp */, + 012CB83F1FFF8BDC00F8F880 /* SelPrevTexCoordCmd.h */, + 012CB8401FFF8BDC00F8F880 /* SelPrevVertexCmd.cpp */, + 012CB8411FFF8BDC00F8F880 /* SelPrevVertexCmd.h */, + 012CB8421FFF8BDC00F8F880 /* SelSurfaceCmd.cpp */, + 012CB8431FFF8BDC00F8F880 /* SelSurfaceCmd.h */, + 012CB8441FFF8BDC00F8F880 /* SelTexCoordCmd.cpp */, + 012CB8451FFF8BDC00F8F880 /* SelTexCoordCmd.h */, + 012CB8461FFF8BDC00F8F880 /* SelVertexCmd.cpp */, + 012CB8471FFF8BDC00F8F880 /* SelVertexCmd.h */, + 012CB8481FFF8BDC00F8F880 /* SetApplicationModeCmd.cpp */, + 012CB8491FFF8BDC00F8F880 /* SetApplicationModeCmd.h */, + 012CB84A1FFF8BDC00F8F880 /* SetNextSourceCmd.cpp */, + 012CB84B1FFF8BDC00F8F880 /* SetNextSourceCmd.h */, + 012CB84C1FFF8BDC00F8F880 /* SetPresetCmd.cpp */, + 012CB84D1FFF8BDC00F8F880 /* SetPresetCmd.h */, + 012CB84E1FFF8BDC00F8F880 /* SetSourceCmd.cpp */, + 012CB84F1FFF8BDC00F8F880 /* SetSourceCmd.h */, + 012CB8501FFF8BDC00F8F880 /* SetTexMapDrawModeCmd.cpp */, + 012CB8511FFF8BDC00F8F880 /* SetTexMapDrawModeCmd.h */, + 012CB8521FFF8BDC00F8F880 /* StartDragSurfaceCmd.cpp */, + 012CB8531FFF8BDC00F8F880 /* StartDragSurfaceCmd.h */, + 012CB8541FFF8BDC00F8F880 /* ToggleAnimatedSourceCmd.cpp */, + 012CB8551FFF8BDC00F8F880 /* ToggleAnimatedSourceCmd.h */, + 012CB8561FFF8BDC00F8F880 /* TogglePerspectiveCmd.cpp */, + 012CB8571FFF8BDC00F8F880 /* TogglePerspectiveCmd.h */, + 012CB8581FFF8BDC00F8F880 /* TranslateCanvasCmd.cpp */, + 012CB8591FFF8BDC00F8F880 /* TranslateCanvasCmd.h */, ); path = Commands; sourceTree = ""; }; - 0166310D1DC8E8010081F28F /* Gui */ = { + 012CB85A1FFF8BDC00F8F880 /* Gui */ = { isa = PBXGroup; children = ( - 0166310E1DC8E8010081F28F /* Gui.cpp */, - 0166310F1DC8E8010081F28F /* Gui.h */, - 016631101DC8E8010081F28F /* Widgets */, + 012CB85B1FFF8BDC00F8F880 /* Gui.cpp */, + 012CB85C1FFF8BDC00F8F880 /* Gui.h */, + 012CB85D1FFF8BDC00F8F880 /* Widgets */, ); path = Gui; sourceTree = ""; }; - 016631101DC8E8010081F28F /* Widgets */ = { + 012CB85D1FFF8BDC00F8F880 /* Widgets */ = { isa = PBXGroup; children = ( - 016631111DC8E8010081F28F /* GuiBaseWidget.h */, - 016631121DC8E8010081F28F /* LayerPanelWidget.cpp */, - 016631131DC8E8010081F28F /* LayerPanelWidget.h */, - 016631141DC8E8010081F28F /* ProjectionEditorWidget.cpp */, - 016631151DC8E8010081F28F /* ProjectionEditorWidget.h */, - 016631161DC8E8010081F28F /* ScaleWidget.cpp */, - 016631171DC8E8010081F28F /* ScaleWidget.h */, - 016631181DC8E8010081F28F /* SourcesEditorWidget.cpp */, - 016631191DC8E8010081F28F /* SourcesEditorWidget.h */, - 0166311A1DC8E8010081F28F /* SurfaceHighlightWidget.cpp */, - 0166311B1DC8E8010081F28F /* SurfaceHighlightWidget.h */, - 0166311C1DC8E8010081F28F /* TextureEditorWidget.cpp */, - 0166311D1DC8E8010081F28F /* TextureEditorWidget.h */, - 0166311E1DC8E8010081F28F /* TextureHighlightWidget.cpp */, - 0166311F1DC8E8010081F28F /* TextureHighlightWidget.h */, + 012CB85E1FFF8BDC00F8F880 /* GuiBaseWidget.h */, + 012CB85F1FFF8BDC00F8F880 /* LayerPanelWidget.cpp */, + 012CB8601FFF8BDC00F8F880 /* LayerPanelWidget.h */, + 012CB8611FFF8BDC00F8F880 /* ProjectionEditorWidget.cpp */, + 012CB8621FFF8BDC00F8F880 /* ProjectionEditorWidget.h */, + 012CB8631FFF8BDC00F8F880 /* ScaleWidget.cpp */, + 012CB8641FFF8BDC00F8F880 /* ScaleWidget.h */, + 012CB8651FFF8BDC00F8F880 /* SourcesEditorWidget.cpp */, + 012CB8661FFF8BDC00F8F880 /* SourcesEditorWidget.h */, + 012CB8671FFF8BDC00F8F880 /* SurfaceHighlightWidget.cpp */, + 012CB8681FFF8BDC00F8F880 /* SurfaceHighlightWidget.h */, + 012CB8691FFF8BDC00F8F880 /* TextureEditorWidget.cpp */, + 012CB86A1FFF8BDC00F8F880 /* TextureEditorWidget.h */, + 012CB86B1FFF8BDC00F8F880 /* TextureHighlightWidget.cpp */, + 012CB86C1FFF8BDC00F8F880 /* TextureHighlightWidget.h */, ); path = Widgets; sourceTree = ""; }; - 016631201DC8E8010081F28F /* Info */ = { + 012CB86D1FFF8BDC00F8F880 /* Info */ = { isa = PBXGroup; children = ( - 016631211DC8E8010081F28F /* Info.cpp */, - 016631221DC8E8010081F28F /* Info.h */, + 012CB86E1FFF8BDC00F8F880 /* Info.cpp */, + 012CB86F1FFF8BDC00F8F880 /* Info.h */, ); path = Info; sourceTree = ""; }; - 016631231DC8E8010081F28F /* MediaServer */ = { + 012CB8701FFF8BDC00F8F880 /* MediaServer */ = { isa = PBXGroup; children = ( - 016631241DC8E8010081F28F /* DirectoryWatcher.cpp */, - 016631251DC8E8010081F28F /* DirectoryWatcher.h */, - 016631261DC8E8010081F28F /* MediaServer.cpp */, - 016631271DC8E8010081F28F /* MediaServer.h */, + 012CB8711FFF8BDC00F8F880 /* DirectoryWatcher.cpp */, + 012CB8721FFF8BDC00F8F880 /* DirectoryWatcher.h */, + 012CB8731FFF8BDC00F8F880 /* MediaServer.cpp */, + 012CB8741FFF8BDC00F8F880 /* MediaServer.h */, ); path = MediaServer; sourceTree = ""; }; - 0166312A1DC8E8010081F28F /* Sources */ = { + 012CB8781FFF8BDC00F8F880 /* Sources */ = { isa = PBXGroup; children = ( - 0166312B1DC8E8010081F28F /* BaseSource.cpp */, - 0166312C1DC8E8010081F28F /* BaseSource.h */, - 0166312D1DC8E8010081F28F /* FboSource.cpp */, - 0166312E1DC8E8010081F28F /* FboSource.h */, - 0166312F1DC8E8010081F28F /* ImageSource.cpp */, - 016631301DC8E8010081F28F /* ImageSource.h */, - 016631311DC8E8010081F28F /* OMXPlayerCache.cpp */, - 016631321DC8E8010081F28F /* OMXPlayerCache.h */, - 016631331DC8E8010081F28F /* SourceType.h */, - 016631341DC8E8010081F28F /* VideoSource.cpp */, - 016631351DC8E8010081F28F /* VideoSource.h */, + 012CB8791FFF8BDC00F8F880 /* BaseSource.cpp */, + 012CB87A1FFF8BDC00F8F880 /* BaseSource.h */, + 012CB87B1FFF8BDC00F8F880 /* FboSource.cpp */, + 012CB87C1FFF8BDC00F8F880 /* FboSource.h */, + 012CB87D1FFF8BDC00F8F880 /* ImageSource.cpp */, + 012CB87E1FFF8BDC00F8F880 /* ImageSource.h */, + 012CB87F1FFF8BDC00F8F880 /* magSlide.cpp */, + 012CB8801FFF8BDC00F8F880 /* magSlide.h */, + 012CB8811FFF8BDC00F8F880 /* magSlideShowSource.cpp */, + 012CB8821FFF8BDC00F8F880 /* magSlideShowSource.h */, + 012CB8831FFF8BDC00F8F880 /* magSlideTransition.cpp */, + 012CB8841FFF8BDC00F8F880 /* magSlideTransition.h */, + 012CB8851FFF8BDC00F8F880 /* magSlideTransitionFactory.cpp */, + 012CB8861FFF8BDC00F8F880 /* magSlideTransitionFactory.h */, + 012CB8871FFF8BDC00F8F880 /* OMXPlayerCache.cpp */, + 012CB8881FFF8BDC00F8F880 /* OMXPlayerCache.h */, + 012CB8891FFF8BDC00F8F880 /* SourceType.h */, + 012CB88A1FFF8BDC00F8F880 /* SourceTypeHelper.h */, + 012CB88B1FFF8BDC00F8F880 /* VideoSource.cpp */, + 012CB88C1FFF8BDC00F8F880 /* VideoSource.h */, ); path = Sources; sourceTree = ""; }; - 016631361DC8E8010081F28F /* Surfaces */ = { + 012CB88D1FFF8BDC00F8F880 /* Surfaces */ = { isa = PBXGroup; children = ( - 016631371DC8E8010081F28F /* BaseSurface.cpp */, - 016631381DC8E8010081F28F /* BaseSurface.h */, - 016631391DC8E8010081F28F /* GridWarpSurface.cpp */, - 0166313A1DC8E8010081F28F /* GridWarpSurface.h */, - 0166313B1DC8E8010081F28F /* HexagonSurface.cpp */, - 0166313C1DC8E8010081F28F /* HexagonSurface.h */, - 0166313D1DC8E8010081F28F /* QuadSurface.cpp */, - 0166313E1DC8E8010081F28F /* QuadSurface.h */, - 0166313F1DC8E8010081F28F /* SurfaceFactory.cpp */, - 016631401DC8E8010081F28F /* SurfaceFactory.h */, - 016631411DC8E8010081F28F /* SurfaceManager.cpp */, - 016631421DC8E8010081F28F /* SurfaceManager.h */, - 016631431DC8E8010081F28F /* SurfaceStack.cpp */, - 016631441DC8E8010081F28F /* SurfaceStack.h */, - 016631451DC8E8010081F28F /* SurfaceType.h */, - 016631461DC8E8010081F28F /* TriangleSurface.cpp */, - 016631471DC8E8010081F28F /* TriangleSurface.h */, + 012CB88E1FFF8BDC00F8F880 /* BaseSurface.cpp */, + 012CB88F1FFF8BDC00F8F880 /* BaseSurface.h */, + 012CB8901FFF8BDC00F8F880 /* CircleSurface.cpp */, + 012CB8911FFF8BDC00F8F880 /* CircleSurface.h */, + 012CB8921FFF8BDC00F8F880 /* GridWarpSurface.cpp */, + 012CB8931FFF8BDC00F8F880 /* GridWarpSurface.h */, + 012CB8941FFF8BDC00F8F880 /* HexagonSurface.cpp */, + 012CB8951FFF8BDC00F8F880 /* HexagonSurface.h */, + 012CB8961FFF8BDC00F8F880 /* QuadSurface.cpp */, + 012CB8971FFF8BDC00F8F880 /* QuadSurface.h */, + 012CB8981FFF8BDC00F8F880 /* SurfaceFactory.cpp */, + 012CB8991FFF8BDC00F8F880 /* SurfaceFactory.h */, + 012CB89A1FFF8BDC00F8F880 /* SurfaceManager.cpp */, + 012CB89B1FFF8BDC00F8F880 /* SurfaceManager.h */, + 012CB89C1FFF8BDC00F8F880 /* SurfaceStack.cpp */, + 012CB89D1FFF8BDC00F8F880 /* SurfaceStack.h */, + 012CB89E1FFF8BDC00F8F880 /* SurfaceType.h */, + 012CB89F1FFF8BDC00F8F880 /* TriangleSurface.cpp */, + 012CB8A01FFF8BDC00F8F880 /* TriangleSurface.h */, ); path = Surfaces; sourceTree = ""; }; - 016631481DC8E8010081F28F /* UserInterface */ = { + 012CB8A11FFF8BDC00F8F880 /* Types */ = { isa = PBXGroup; children = ( - 016631491DC8E8010081F28F /* BaseJoint.cpp */, - 0166314A1DC8E8010081F28F /* BaseJoint.h */, - 0166314B1DC8E8010081F28F /* CircleJoint.cpp */, - 0166314C1DC8E8010081F28F /* CircleJoint.h */, - 0166314D1DC8E8010081F28F /* EditorType.h */, - 0166314E1DC8E8010081F28F /* GuiMode.h */, - 0166314F1DC8E8010081F28F /* RadioList.cpp */, - 016631501DC8E8010081F28F /* RadioList.h */, + 012CB8A21FFF8BDC00F8F880 /* Vec2.cpp */, + 012CB8A31FFF8BDC00F8F880 /* Vec2.h */, + 012CB8A41FFF8BDC00F8F880 /* Vec3.cpp */, + 012CB8A51FFF8BDC00F8F880 /* Vec3.h */, + ); + path = Types; + sourceTree = ""; + }; + 012CB8A61FFF8BDC00F8F880 /* UserInterface */ = { + isa = PBXGroup; + children = ( + 012CB8A71FFF8BDC00F8F880 /* BaseJoint.cpp */, + 012CB8A81FFF8BDC00F8F880 /* BaseJoint.h */, + 012CB8A91FFF8BDC00F8F880 /* CircleJoint.cpp */, + 012CB8AA1FFF8BDC00F8F880 /* CircleJoint.h */, + 012CB8AB1FFF8BDC00F8F880 /* EditorType.h */, + 012CB8AC1FFF8BDC00F8F880 /* GuiMode.h */, + 012CB8AD1FFF8BDC00F8F880 /* RadioList.cpp */, + 012CB8AE1FFF8BDC00F8F880 /* RadioList.h */, ); path = UserInterface; sourceTree = ""; }; - 016631511DC8E8010081F28F /* Utils */ = { + 012CB8AF1FFF8BDC00F8F880 /* Utils */ = { isa = PBXGroup; children = ( - 016631521DC8E8010081F28F /* HomographyHelper.cpp */, - 016631531DC8E8010081F28F /* HomographyHelper.h */, + 012CB8B01FFF8BDC00F8F880 /* HomographyHelper.cpp */, + 012CB8B11FFF8BDC00F8F880 /* HomographyHelper.h */, ); path = Utils; sourceTree = ""; }; + 012CB8B21FFF8BE800F8F880 /* src */ = { + isa = PBXGroup; + children = ( + 012CB8B31FFF8BE800F8F880 /* ofxBaseGui.cpp */, + 012CB8B41FFF8BE800F8F880 /* ofxBaseGui.h */, + 012CB8B51FFF8BE800F8F880 /* ofxButton.cpp */, + 012CB8B61FFF8BE800F8F880 /* ofxButton.h */, + 012CB8B71FFF8BE800F8F880 /* ofxColorPicker.cpp */, + 012CB8B81FFF8BE800F8F880 /* ofxColorPicker.h */, + 012CB8B91FFF8BE800F8F880 /* ofxGui.h */, + 012CB8BA1FFF8BE800F8F880 /* ofxGuiGroup.cpp */, + 012CB8BB1FFF8BE800F8F880 /* ofxGuiGroup.h */, + 012CB8BC1FFF8BE800F8F880 /* ofxInputField.cpp */, + 012CB8BD1FFF8BE800F8F880 /* ofxInputField.h */, + 012CB8BE1FFF8BE800F8F880 /* ofxLabel.cpp */, + 012CB8BF1FFF8BE800F8F880 /* ofxLabel.h */, + 012CB8C01FFF8BE800F8F880 /* ofxPanel.cpp */, + 012CB8C11FFF8BE800F8F880 /* ofxPanel.h */, + 012CB8C21FFF8BE800F8F880 /* ofxSlider.cpp */, + 012CB8C31FFF8BE800F8F880 /* ofxSlider.h */, + 012CB8C41FFF8BE800F8F880 /* ofxSliderGroup.cpp */, + 012CB8C51FFF8BE800F8F880 /* ofxSliderGroup.h */, + 012CB8C61FFF8BE800F8F880 /* ofxToggle.cpp */, + 012CB8C71FFF8BE800F8F880 /* ofxToggle.h */, + ); + name = src; + path = ../../ofxGui/src; + sourceTree = ""; + }; 39264837192224C20008A7F5 /* ofxXmlSettings */ = { isa = PBXGroup; children = ( @@ -658,40 +738,15 @@ 3933D5C019BB87A3000ACA55 /* ofxGui */ = { isa = PBXGroup; children = ( - 3933D5C119BB87BD000ACA55 /* src */, + 012CB8B21FFF8BE800F8F880 /* src */, ); name = ofxGui; sourceTree = ""; }; - 3933D5C119BB87BD000ACA55 /* src */ = { - isa = PBXGroup; - children = ( - 3933D5C219BB87BD000ACA55 /* ofxBaseGui.cpp */, - 3933D5C319BB87BD000ACA55 /* ofxBaseGui.h */, - 3933D5C419BB87BD000ACA55 /* ofxButton.cpp */, - 3933D5C519BB87BD000ACA55 /* ofxButton.h */, - 3933D5C619BB87BD000ACA55 /* ofxGui.h */, - 3933D5C719BB87BD000ACA55 /* ofxGuiGroup.cpp */, - 3933D5C819BB87BD000ACA55 /* ofxGuiGroup.h */, - 3933D5C919BB87BD000ACA55 /* ofxLabel.cpp */, - 3933D5CA19BB87BD000ACA55 /* ofxLabel.h */, - 3933D5CB19BB87BD000ACA55 /* ofxPanel.cpp */, - 3933D5CC19BB87BD000ACA55 /* ofxPanel.h */, - 3933D5CD19BB87BD000ACA55 /* ofxSlider.cpp */, - 3933D5CE19BB87BD000ACA55 /* ofxSlider.h */, - 3933D5CF19BB87BD000ACA55 /* ofxSliderGroup.cpp */, - 3933D5D019BB87BD000ACA55 /* ofxSliderGroup.h */, - 3933D5D119BB87BD000ACA55 /* ofxToggle.cpp */, - 3933D5D219BB87BD000ACA55 /* ofxToggle.h */, - ); - name = src; - path = ../../ofxGui/src; - sourceTree = ""; - }; 396E8A34190FEDE500705899 /* ofxPiMapper */ = { isa = PBXGroup; children = ( - 016630B01DC8E8010081F28F /* src */, + 012CB7FD1FFF8BDC00F8F880 /* src */, ); name = ofxPiMapper; sourceTree = ""; @@ -865,7 +920,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "rsync -aved ../../../libs/fmodex/lib/osx/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/\"; install_name_tool -change ./libfmodex.dylib @executable_path/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME\";\nmkdir -p \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/\"\nrsync -aved \"$ICON_FILE\" \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/\"\nrsync -aved ../../../libs/glut/lib/osx/GLUT.framework \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Frameworks/\""; + 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 libfmod and change install directory for fmod to run\nrsync -aved \"$OF_PATH/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\necho \"$GCC_PREPROCESSOR_DEFINITIONS\";\n"; }; /* End PBXShellScriptBuildPhase section */ @@ -874,94 +929,103 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 0166316B1DC8E8010081F28F /* RmGridColCmd.cpp in Sources */, - 016631601DC8E8010081F28F /* ClearSurfacesCmd.cpp in Sources */, - 016631581DC8E8010081F28F /* PresentationMode.cpp in Sources */, - 016631791DC8E8010081F28F /* SetApplicationModeCmd.cpp in Sources */, - 0166317B1DC8E8010081F28F /* SetPresetCmd.cpp in Sources */, - 016631921DC8E8010081F28F /* VideoSource.cpp in Sources */, - 016631981DC8E8010081F28F /* SurfaceManager.cpp in Sources */, - 016631561DC8E8010081F28F /* Application.cpp in Sources */, - 016631851DC8E8010081F28F /* ScaleWidget.cpp in Sources */, - 016631711DC8E8010081F28F /* SelNextTexCoordCmd.cpp in Sources */, - 016631691DC8E8010081F28F /* MvSurfaceVertCmd.cpp in Sources */, - 3933D5D819BB87BD000ACA55 /* ofxSlider.cpp in Sources */, - 016631771DC8E8010081F28F /* SelTexCoordCmd.cpp in Sources */, - 0166315C1DC8E8010081F28F /* SettingsLoader.cpp in Sources */, - 016631881DC8E8010081F28F /* TextureEditorWidget.cpp in Sources */, - 016631841DC8E8010081F28F /* ProjectionEditorWidget.cpp in Sources */, - 0166315B1DC8E8010081F28F /* TextureMappingMode.cpp in Sources */, - 0166318D1DC8E8010081F28F /* ofxPiMapper.cpp in Sources */, - 0166318A1DC8E8010081F28F /* Info.cpp in Sources */, - 016631931DC8E8010081F28F /* BaseSurface.cpp in Sources */, - 3933D5DA19BB87BD000ACA55 /* ofxToggle.cpp in Sources */, - 0166319D1DC8E8010081F28F /* RadioList.cpp in Sources */, - 3933D5D319BB87BD000ACA55 /* ofxBaseGui.cpp in Sources */, - 0166316F1DC8E8010081F28F /* ScaleSurfaceFromToCmd.cpp in Sources */, - 3933D5D919BB87BD000ACA55 /* ofxSliderGroup.cpp in Sources */, - 016631721DC8E8010081F28F /* SelNextVertexCmd.cpp in Sources */, - 016631801DC8E8010081F28F /* TogglePerspectiveCmd.cpp in Sources */, - 016631901DC8E8010081F28F /* ImageSource.cpp in Sources */, + 012CB8C81FFF8BF500F8F880 /* ofxBaseGui.cpp in Sources */, + 012CB8CA1FFF8BF500F8F880 /* ofxButton.cpp in Sources */, + 012CB8CC1FFF8BF500F8F880 /* ofxColorPicker.cpp in Sources */, + 012CB8CF1FFF8BF500F8F880 /* ofxGuiGroup.cpp in Sources */, + 012CB8D11FFF8BF500F8F880 /* ofxInputField.cpp in Sources */, + 012CB8D31FFF8BF500F8F880 /* ofxLabel.cpp in Sources */, + 012CB8D51FFF8BF500F8F880 /* ofxPanel.cpp in Sources */, + 012CB8D71FFF8BF500F8F880 /* ofxSlider.cpp in Sources */, + 012CB8D91FFF8BF500F8F880 /* ofxSliderGroup.cpp in Sources */, + 012CB8DB1FFF8BF500F8F880 /* ofxToggle.cpp in Sources */, + 012CB8DF1FFF8BF500F8F880 /* Application.cpp in Sources */, + 012CB8E11FFF8BF500F8F880 /* ApplicationBaseMode.cpp in Sources */, + 012CB8E31FFF8BF500F8F880 /* PresentationMode.cpp in Sources */, + 012CB8E51FFF8BF500F8F880 /* ProjectionMappingMode.cpp in Sources */, + 012CB8E71FFF8BF500F8F880 /* SourceSelectionMode.cpp in Sources */, + 012CB8E91FFF8BF500F8F880 /* TextureMappingMode.cpp in Sources */, + 012CB8EB1FFF8BF500F8F880 /* SettingsLoader.cpp in Sources */, + 012CB8ED1FFF8BF500F8F880 /* AddGridColCmd.cpp in Sources */, + 012CB8EF1FFF8BF500F8F880 /* AddGridRowCmd.cpp in Sources */, + 012CB8F11FFF8BF500F8F880 /* AddSurfaceCmd.cpp in Sources */, + 012CB8F41FFF8BF500F8F880 /* ClearSurfacesCmd.cpp in Sources */, + 012CB8F61FFF8BF500F8F880 /* CmdManager.cpp in Sources */, + 012CB8F81FFF8BF500F8F880 /* DeselectSurfaceCmd.cpp in Sources */, + 012CB8FA1FFF8BF500F8F880 /* DeselectTexCoordCmd.cpp in Sources */, + 012CB8FC1FFF8BF500F8F880 /* DuplicateSurfaceCmd.cpp in Sources */, + 012CB8FE1FFF8BF500F8F880 /* MvAllTexCoordsCmd.cpp in Sources */, + 012CB9001FFF8BF500F8F880 /* MvLayerDnCmd.cpp in Sources */, + 012CB9021FFF8BF500F8F880 /* MvLayerUpCmd.cpp in Sources */, + 012CB9041FFF8BF500F8F880 /* MvSelectionCmd.cpp in Sources */, + 012CB9061FFF8BF500F8F880 /* MvSurfaceVertCmd.cpp in Sources */, + 012CB9081FFF8BF500F8F880 /* MvTexCoordCmd.cpp in Sources */, + 012CB90A1FFF8BF500F8F880 /* RmGridColCmd.cpp in Sources */, + 012CB90C1FFF8BF500F8F880 /* RmGridRowCmd.cpp in Sources */, + 012CB90E1FFF8BF500F8F880 /* RmSurfaceCmd.cpp in Sources */, + 012CB9101FFF8BF500F8F880 /* SaveTexCoordPosCmd.cpp in Sources */, + 012CB9121FFF8BF500F8F880 /* ScaleSurfaceFromToCmd.cpp in Sources */, + 012CB9141FFF8BF500F8F880 /* SelNextSurfaceCmd.cpp in Sources */, + 012CB9161FFF8BF500F8F880 /* SelNextTexCoordCmd.cpp in Sources */, + 012CB9181FFF8BF500F8F880 /* SelNextVertexCmd.cpp in Sources */, + 012CB91A1FFF8BF500F8F880 /* SelPrevSurfaceCmd.cpp in Sources */, + 012CB91C1FFF8BF500F8F880 /* SelPrevTexCoordCmd.cpp in Sources */, + 012CB91E1FFF8BF500F8F880 /* SelPrevVertexCmd.cpp in Sources */, + 012CB9201FFF8BF500F8F880 /* SelSurfaceCmd.cpp in Sources */, + 012CB9221FFF8BF500F8F880 /* SelTexCoordCmd.cpp in Sources */, + 012CB9241FFF8BF500F8F880 /* SelVertexCmd.cpp in Sources */, + 012CB9261FFF8BF500F8F880 /* SetApplicationModeCmd.cpp in Sources */, + 012CB9281FFF8BF500F8F880 /* SetNextSourceCmd.cpp in Sources */, + 012CB92A1FFF8BF500F8F880 /* SetPresetCmd.cpp in Sources */, + 012CB92C1FFF8BF500F8F880 /* SetSourceCmd.cpp in Sources */, + 012CB92E1FFF8BF500F8F880 /* SetTexMapDrawModeCmd.cpp in Sources */, + 012CB9301FFF8BF500F8F880 /* StartDragSurfaceCmd.cpp in Sources */, + 012CB9321FFF8BF500F8F880 /* ToggleAnimatedSourceCmd.cpp in Sources */, + 012CB9341FFF8BF500F8F880 /* TogglePerspectiveCmd.cpp in Sources */, + 012CB9361FFF8BF500F8F880 /* TranslateCanvasCmd.cpp in Sources */, + 012CB9381FFF8BF500F8F880 /* Gui.cpp in Sources */, + 012CB93B1FFF8BF500F8F880 /* LayerPanelWidget.cpp in Sources */, + 012CB93D1FFF8BF500F8F880 /* ProjectionEditorWidget.cpp in Sources */, + 012CB93F1FFF8BF500F8F880 /* ScaleWidget.cpp in Sources */, + 012CB9411FFF8BF500F8F880 /* SourcesEditorWidget.cpp in Sources */, + 012CB9431FFF8BF500F8F880 /* SurfaceHighlightWidget.cpp in Sources */, + 012CB9451FFF8BF500F8F880 /* TextureEditorWidget.cpp in Sources */, + 012CB9471FFF8BF500F8F880 /* TextureHighlightWidget.cpp in Sources */, + 012CB9491FFF8BF500F8F880 /* Info.cpp in Sources */, + 012CB94B1FFF8BF500F8F880 /* DirectoryWatcher.cpp in Sources */, + 012CB94D1FFF8BF500F8F880 /* MediaServer.cpp in Sources */, + 012CB9501FFF8BF500F8F880 /* ofxPiMapper.cpp in Sources */, + 012CB9521FFF8BF500F8F880 /* BaseSource.cpp in Sources */, + 012CB9541FFF8BF500F8F880 /* FboSource.cpp in Sources */, + 012CB9561FFF8BF500F8F880 /* ImageSource.cpp in Sources */, + 012CB9581FFF8BF500F8F880 /* magSlide.cpp in Sources */, + 012CB95A1FFF8BF500F8F880 /* magSlideShowSource.cpp in Sources */, + 012CB95C1FFF8BF500F8F880 /* magSlideTransition.cpp in Sources */, + 012CB95E1FFF8BF500F8F880 /* magSlideTransitionFactory.cpp in Sources */, + 012CB9601FFF8BF500F8F880 /* OMXPlayerCache.cpp in Sources */, + 012CB9641FFF8BF500F8F880 /* VideoSource.cpp in Sources */, + 012CB9661FFF8BF500F8F880 /* BaseSurface.cpp in Sources */, + 012CB9681FFF8BF500F8F880 /* CircleSurface.cpp in Sources */, + 012CB96A1FFF8BF500F8F880 /* GridWarpSurface.cpp in Sources */, + 012CB96C1FFF8BF500F8F880 /* HexagonSurface.cpp in Sources */, + 012CB96E1FFF8BF500F8F880 /* QuadSurface.cpp in Sources */, + 012CB9701FFF8BF500F8F880 /* SurfaceFactory.cpp in Sources */, + 012CB9721FFF8BF500F8F880 /* SurfaceManager.cpp in Sources */, + 012CB9741FFF8BF500F8F880 /* SurfaceStack.cpp in Sources */, + 012CB9771FFF8BF500F8F880 /* TriangleSurface.cpp in Sources */, + 012CB9791FFF8BF500F8F880 /* Vec2.cpp in Sources */, + 012CB97B1FFF8BF500F8F880 /* Vec3.cpp in Sources */, + 012CB97D1FFF8BF500F8F880 /* BaseJoint.cpp in Sources */, + 012CB97F1FFF8BF500F8F880 /* CircleJoint.cpp in Sources */, + 012CB9831FFF8BF500F8F880 /* RadioList.cpp in Sources */, + 012CB9851FFF8BF500F8F880 /* HomographyHelper.cpp in Sources */, 01DC7EDE1E452858003137B7 /* InputHandler.cpp in Sources */, - 016631761DC8E8010081F28F /* SelSurfaceCmd.cpp in Sources */, - 016631571DC8E8010081F28F /* ApplicationBaseMode.cpp in Sources */, E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */, - 016631941DC8E8010081F28F /* GridWarpSurface.cpp in Sources */, - 0166315A1DC8E8010081F28F /* SourceSelectionMode.cpp in Sources */, - 016631661DC8E8010081F28F /* MvLayerDnCmd.cpp in Sources */, - 0166319E1DC8E8010081F28F /* HomographyHelper.cpp in Sources */, 39264843192224F90008A7F5 /* tinyxmlparser.cpp in Sources */, - 3933D5D419BB87BD000ACA55 /* ofxButton.cpp in Sources */, - 016631971DC8E8010081F28F /* SurfaceFactory.cpp in Sources */, - 016631591DC8E8010081F28F /* ProjectionMappingMode.cpp in Sources */, - 0166316D1DC8E8010081F28F /* RmSurfaceCmd.cpp in Sources */, - 016631741DC8E8010081F28F /* SelPrevTexCoordCmd.cpp in Sources */, - 016631861DC8E8010081F28F /* SourcesEditorWidget.cpp in Sources */, - 016631611DC8E8010081F28F /* CmdManager.cpp in Sources */, - 0166318B1DC8E8010081F28F /* DirectoryWatcher.cpp in Sources */, - 0166316A1DC8E8010081F28F /* MvTexCoordCmd.cpp in Sources */, 39264841192224F90008A7F5 /* tinyxml.cpp in Sources */, - 016631651DC8E8010081F28F /* MvAllTexCoordsCmd.cpp in Sources */, - 3933D5D619BB87BD000ACA55 /* ofxLabel.cpp in Sources */, - 0166317F1DC8E8010081F28F /* ToggleAnimatedSourceCmd.cpp in Sources */, - 016631751DC8E8010081F28F /* SelPrevVertexCmd.cpp in Sources */, - 0166317E1DC8E8010081F28F /* StartDragSurfaceCmd.cpp in Sources */, - 016631871DC8E8010081F28F /* SurfaceHighlightWidget.cpp in Sources */, - 016631731DC8E8010081F28F /* SelPrevSurfaceCmd.cpp in Sources */, - 0166318F1DC8E8010081F28F /* FboSource.cpp in Sources */, - 016631681DC8E8010081F28F /* MvSelectionCmd.cpp in Sources */, - 016631821DC8E8010081F28F /* Gui.cpp in Sources */, - 016631701DC8E8010081F28F /* SelNextSurfaceCmd.cpp in Sources */, - 0166319C1DC8E8010081F28F /* CircleJoint.cpp in Sources */, - 0166317A1DC8E8010081F28F /* SetNextSourceCmd.cpp in Sources */, - 0166317C1DC8E8010081F28F /* SetSourceCmd.cpp in Sources */, E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */, - 0166315F1DC8E8010081F28F /* AddSurfaceCmd.cpp in Sources */, - 016631631DC8E8010081F28F /* DeselectTexCoordCmd.cpp in Sources */, - 0166318E1DC8E8010081F28F /* BaseSource.cpp in Sources */, - 016631641DC8E8010081F28F /* DuplicateSurfaceCmd.cpp in Sources */, - 3933D5D719BB87BD000ACA55 /* ofxPanel.cpp in Sources */, - 016631831DC8E8010081F28F /* LayerPanelWidget.cpp in Sources */, - 016631811DC8E8010081F28F /* TranslateCanvasCmd.cpp in Sources */, - 0166315E1DC8E8010081F28F /* AddGridRowCmd.cpp in Sources */, - 0166317D1DC8E8010081F28F /* SetTexMapDrawModeCmd.cpp in Sources */, - 0166318C1DC8E8010081F28F /* MediaServer.cpp in Sources */, - 016631781DC8E8010081F28F /* SelVertexCmd.cpp in Sources */, - 016631911DC8E8010081F28F /* OMXPlayerCache.cpp in Sources */, 39264842192224F90008A7F5 /* tinyxmlerror.cpp in Sources */, - 016631991DC8E8010081F28F /* SurfaceStack.cpp in Sources */, 3926483B192224DA0008A7F5 /* ofxXmlSettings.cpp in Sources */, - 016631961DC8E8010081F28F /* QuadSurface.cpp in Sources */, - 0166316C1DC8E8010081F28F /* RmGridRowCmd.cpp in Sources */, - 0166319B1DC8E8010081F28F /* BaseJoint.cpp in Sources */, - 016631891DC8E8010081F28F /* TextureHighlightWidget.cpp in Sources */, - 016631671DC8E8010081F28F /* MvLayerUpCmd.cpp in Sources */, - 016631951DC8E8010081F28F /* HexagonSurface.cpp in Sources */, - 3933D5D519BB87BD000ACA55 /* ofxGuiGroup.cpp in Sources */, - 0166319A1DC8E8010081F28F /* TriangleSurface.cpp in Sources */, - 0166316E1DC8E8010081F28F /* SaveTexCoordPosCmd.cpp in Sources */, - 016631621DC8E8010081F28F /* DeselectSurfaceCmd.cpp in Sources */, - 0166315D1DC8E8010081F28F /* AddGridColCmd.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/example_gamepad/src/InputHandler.h b/example_gamepad/src/InputHandler.h index 9b7ff15..949a64d 100644 --- a/example_gamepad/src/InputHandler.h +++ b/example_gamepad/src/InputHandler.h @@ -1,6 +1,6 @@ #pragma once -// These are the strings reported by SDL2's SDL_JoystickGetGUIDString: +// These are the std::strings reported by SDL2's SDL_JoystickGetGUIDString: // https://wiki.libsdl.org/SDL_JoystickGetGUIDString #include diff --git a/example_gamepad/src/main.cpp b/example_gamepad/src/main.cpp index d1b6467..602382f 100644 --- a/example_gamepad/src/main.cpp +++ b/example_gamepad/src/main.cpp @@ -6,7 +6,7 @@ int main(int argc, char * argv[]){ bool fullscreen = false; - vector arguments = vector(argv, argv + argc); + std::vector arguments = std::vector(argv, argv + argc); for(int i = 0; i < arguments.size(); ++i){ if(arguments.at(i) == "-f"){ fullscreen = true; diff --git a/example_gamepad/src/ofApp.cpp b/example_gamepad/src/ofApp.cpp index d72ba5c..495460b 100644 --- a/example_gamepad/src/ofApp.cpp +++ b/example_gamepad/src/ofApp.cpp @@ -49,13 +49,13 @@ void ofApp::messageReceived(ofMessage & message){ */ void ofApp::handleController(ControllerCommand com){ if(com == ControllerCommand::COMMAND_LEFT){ - mapper.moveSelection(ofVec2f(-5.0f, 0.0f)); + mapper.moveSelection(ofx::piMapper::Vec3(-5.0f, 0.0f, 0.0f)); }else if(com == ControllerCommand::COMMAND_RIGHT){ - mapper.moveSelection(ofVec2f(5.0f, 0.0f)); + mapper.moveSelection(ofx::piMapper::Vec3(5.0f, 0.0f, 0.0f)); }else if(com == ControllerCommand::COMMAND_UP){ - mapper.moveSelection(ofVec2f(0.0f, -5.0f)); + mapper.moveSelection(ofx::piMapper::Vec3(0.0f, -5.0f, 0.0f)); }else if(com == ControllerCommand::COMMAND_DOWN){ - mapper.moveSelection(ofVec2f(0.0f, 5.0f)); + mapper.moveSelection(ofx::piMapper::Vec3(0.0f, 5.0f, 0.0f)); }else if(com == ControllerCommand::COMMAND_A){ if(mapper.getMode() == ofx::piMapper::Mode::MAPPING_MODE){ mapper.selectNextVertex(); diff --git a/example_gamepad/src/ofApp.h b/example_gamepad/src/ofApp.h index 748b58c..8b75536 100644 --- a/example_gamepad/src/ofApp.h +++ b/example_gamepad/src/ofApp.h @@ -3,6 +3,7 @@ #include "ofMain.h" #include "ofxPiMapper.h" #include "InputHandler.h" +#include "Vec3.h" class ofApp : public ofBaseApp { public: @@ -22,4 +23,4 @@ class ofApp : public ofBaseApp { void handleController(ControllerCommand com); ofxPiMapper mapper; -}; \ No newline at end of file +}; diff --git a/example_shortcuts/.gitignore b/example_pocketvj/.gitignore similarity index 100% rename from example_shortcuts/.gitignore rename to example_pocketvj/.gitignore diff --git a/example_shortcuts/Makefile b/example_pocketvj/Makefile similarity index 91% rename from example_shortcuts/Makefile rename to example_pocketvj/Makefile index 8d8e4c0..177e172 100644 --- a/example_shortcuts/Makefile +++ b/example_pocketvj/Makefile @@ -6,7 +6,7 @@ endif # make sure the the OF_ROOT location is defined ifndef OF_ROOT - OF_ROOT=$(realpath ../../..) + OF_ROOT=$(realpath ../../..) endif # call the project makefile! diff --git a/example_shortcuts/Project.xcconfig b/example_pocketvj/Project.xcconfig similarity index 95% rename from example_shortcuts/Project.xcconfig rename to example_pocketvj/Project.xcconfig index e570b15..40adc89 100644 --- a/example_shortcuts/Project.xcconfig +++ b/example_pocketvj/Project.xcconfig @@ -13,5 +13,6 @@ 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_CFLAGS = $(OF_CORE_CFLAGS) OTHER_LDFLAGS = $(OF_CORE_LIBS) $(OF_CORE_FRAMEWORKS) HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS) diff --git a/example_shortcuts/addons.make b/example_pocketvj/addons.make similarity index 100% rename from example_shortcuts/addons.make rename to example_pocketvj/addons.make index aee7c01..963941c 100644 --- a/example_shortcuts/addons.make +++ b/example_pocketvj/addons.make @@ -1,4 +1,4 @@ +ofxGui ofxPiMapper ofxXmlSettings -ofxGui ofxOMXPlayer diff --git a/example_shortcuts/bin/data/ofxpimapper.xml b/example_pocketvj/bin/data/ofxpimapper.xml similarity index 100% rename from example_shortcuts/bin/data/ofxpimapper.xml rename to example_pocketvj/bin/data/ofxpimapper.xml diff --git a/example_shortcuts/bin/data/sources/images/image1.jpg b/example_pocketvj/bin/data/sources/images/image1.jpg similarity index 100% rename from example_shortcuts/bin/data/sources/images/image1.jpg rename to example_pocketvj/bin/data/sources/images/image1.jpg diff --git a/example_pocketvj/example_pocketvj.xcodeproj/project.pbxproj b/example_pocketvj/example_pocketvj.xcodeproj/project.pbxproj new file mode 100644 index 0000000..9c6e82c --- /dev/null +++ b/example_pocketvj/example_pocketvj.xcodeproj/project.pbxproj @@ -0,0 +1,5085 @@ + + + + archiveVersion + 1 + classes + + objectVersion + 46 + objects + + 5A4349E9754D6FA14C0F2A3A + + fileRef + FC5DA1C87211D4F6377DA719 + isa + PBXBuildFile + + FC5DA1C87211D4F6377DA719 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + tinyxmlparser.cpp + path + ../../../addons/ofxXmlSettings/libs/tinyxmlparser.cpp + sourceTree + SOURCE_ROOT + + 9D44DC88EF9E7991B4A09951 + + fileRef + 832BDC407620CDBA568B713D + isa + PBXBuildFile + + 832BDC407620CDBA568B713D + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + tinyxmlerror.cpp + path + ../../../addons/ofxXmlSettings/libs/tinyxmlerror.cpp + sourceTree + SOURCE_ROOT + + B21E7E5F548EEA92F368040B + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + tinyxml.h + path + ../../../addons/ofxXmlSettings/libs/tinyxml.h + sourceTree + SOURCE_ROOT + + 6E54289412D2D94F45A05113 + + children + + 2B40EDA85BEB63E46785BC29 + B21E7E5F548EEA92F368040B + 832BDC407620CDBA568B713D + FC5DA1C87211D4F6377DA719 + + isa + PBXGroup + name + libs + sourceTree + <group> + + 933A2227713C720CEFF80FD9 + + fileRef + 2B40EDA85BEB63E46785BC29 + isa + PBXBuildFile + + 2B40EDA85BEB63E46785BC29 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + tinyxml.cpp + path + ../../../addons/ofxXmlSettings/libs/tinyxml.cpp + sourceTree + SOURCE_ROOT + + 01DCC0911400F9ACF5B65578 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + ofxXmlSettings.h + path + ../../../addons/ofxXmlSettings/src/ofxXmlSettings.h + sourceTree + SOURCE_ROOT + + 6ECEF0D76BC33727823EADFF + + children + + 50DF87D612C5AAE17AAFA6C0 + 01DCC0911400F9ACF5B65578 + + isa + PBXGroup + name + src + sourceTree + <group> + + 1F4FB5C423662B96ADFDCC0B + + children + + 6ECEF0D76BC33727823EADFF + 6E54289412D2D94F45A05113 + + isa + PBXGroup + name + ofxXmlSettings + sourceTree + <group> + + 63B57AC5BF4EF088491E0317 + + fileRef + 50DF87D612C5AAE17AAFA6C0 + isa + PBXBuildFile + + 50DF87D612C5AAE17AAFA6C0 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + ofxXmlSettings.cpp + path + ../../../addons/ofxXmlSettings/src/ofxXmlSettings.cpp + sourceTree + SOURCE_ROOT + + D627BF76B06B3FF4F1516C5E + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + HomographyHelper.h + path + ../../../addons/ofxPiMapper/src/Utils/HomographyHelper.h + sourceTree + SOURCE_ROOT + + 3D6840E4DBCF2DED6C755B76 + + children + + E2333CF877EE99EBE86F4B0F + D627BF76B06B3FF4F1516C5E + + isa + PBXGroup + name + Utils + sourceTree + <group> + + 83CACB24937919003F2F9B63 + + fileRef + E2333CF877EE99EBE86F4B0F + isa + PBXBuildFile + + E2333CF877EE99EBE86F4B0F + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + HomographyHelper.cpp + path + ../../../addons/ofxPiMapper/src/Utils/HomographyHelper.cpp + sourceTree + SOURCE_ROOT + + DC69ACA83F14B8A2AE20197B + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + RadioList.h + path + ../../../addons/ofxPiMapper/src/UserInterface/RadioList.h + sourceTree + SOURCE_ROOT + + 1F4453EA1589AD79F4B34493 + + fileRef + 4048CA09E6AAB5F673CBD2F0 + isa + PBXBuildFile + + 4048CA09E6AAB5F673CBD2F0 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + RadioList.cpp + path + ../../../addons/ofxPiMapper/src/UserInterface/RadioList.cpp + sourceTree + SOURCE_ROOT + + B7DD3DE526EF824DDAF42B09 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + GuiMode.h + path + ../../../addons/ofxPiMapper/src/UserInterface/GuiMode.h + sourceTree + SOURCE_ROOT + + 4130052A043CF3D3C2BA943A + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + EditorType.h + path + ../../../addons/ofxPiMapper/src/UserInterface/EditorType.h + sourceTree + SOURCE_ROOT + + 9B4D98CCBAB57278C96169D4 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + CircleJoint.h + path + ../../../addons/ofxPiMapper/src/UserInterface/CircleJoint.h + sourceTree + SOURCE_ROOT + + 42BCE929D520D8872171239A + + fileRef + 62F01592304CB7995200EF7B + isa + PBXBuildFile + + 62F01592304CB7995200EF7B + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + CircleJoint.cpp + path + ../../../addons/ofxPiMapper/src/UserInterface/CircleJoint.cpp + sourceTree + SOURCE_ROOT + + 851AF875A70187105CA91C1A + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + BaseJoint.h + path + ../../../addons/ofxPiMapper/src/UserInterface/BaseJoint.h + sourceTree + SOURCE_ROOT + + 925C888869704DBDF0BE6D0B + + children + + 7E78D1B2A6DB0856BF8ED1FE + 851AF875A70187105CA91C1A + 62F01592304CB7995200EF7B + 9B4D98CCBAB57278C96169D4 + 4130052A043CF3D3C2BA943A + B7DD3DE526EF824DDAF42B09 + 4048CA09E6AAB5F673CBD2F0 + DC69ACA83F14B8A2AE20197B + + isa + PBXGroup + name + UserInterface + sourceTree + <group> + + 868F230C6074263277ED9B07 + + fileRef + 7E78D1B2A6DB0856BF8ED1FE + isa + PBXBuildFile + + 7E78D1B2A6DB0856BF8ED1FE + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + BaseJoint.cpp + path + ../../../addons/ofxPiMapper/src/UserInterface/BaseJoint.cpp + sourceTree + SOURCE_ROOT + + 18E4114EBCEA8ADD837B4207 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + Vec3.h + path + ../../../addons/ofxPiMapper/src/Types/Vec3.h + sourceTree + SOURCE_ROOT + + 2E088EDC6E32D190998D8241 + + fileRef + A8558ACA2B5E9FD75C455CA2 + isa + PBXBuildFile + + A8558ACA2B5E9FD75C455CA2 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + Vec3.cpp + path + ../../../addons/ofxPiMapper/src/Types/Vec3.cpp + sourceTree + SOURCE_ROOT + + 93C11B810D4F591A2F70C148 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + Vec2.h + path + ../../../addons/ofxPiMapper/src/Types/Vec2.h + sourceTree + SOURCE_ROOT + + E910F62B91A8365D01A66512 + + children + + 4E09343A9F13BB51BC741692 + 93C11B810D4F591A2F70C148 + A8558ACA2B5E9FD75C455CA2 + 18E4114EBCEA8ADD837B4207 + + isa + PBXGroup + name + Types + sourceTree + <group> + + 5FB2E2349349B93011671206 + + fileRef + 4E09343A9F13BB51BC741692 + isa + PBXBuildFile + + 4E09343A9F13BB51BC741692 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + Vec2.cpp + path + ../../../addons/ofxPiMapper/src/Types/Vec2.cpp + sourceTree + SOURCE_ROOT + + 23118136CC7FFA920626B6C3 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + TriangleSurface.h + path + ../../../addons/ofxPiMapper/src/Surfaces/TriangleSurface.h + sourceTree + SOURCE_ROOT + + C0EB2D2E383BA9DE417ADB38 + + fileRef + 3DF2D82EA37D8C7A5F686EA5 + isa + PBXBuildFile + + 3DF2D82EA37D8C7A5F686EA5 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + TriangleSurface.cpp + path + ../../../addons/ofxPiMapper/src/Surfaces/TriangleSurface.cpp + sourceTree + SOURCE_ROOT + + B178ED5CA7F76AAA6E49E191 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + SurfaceType.h + path + ../../../addons/ofxPiMapper/src/Surfaces/SurfaceType.h + sourceTree + SOURCE_ROOT + + 6592BB3592290B34832D7607 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + SurfaceStack.h + path + ../../../addons/ofxPiMapper/src/Surfaces/SurfaceStack.h + sourceTree + SOURCE_ROOT + + C3A616FB3A463C17E327F395 + + fileRef + 1C080561EC053F17BB86A668 + isa + PBXBuildFile + + 1C080561EC053F17BB86A668 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + SurfaceStack.cpp + path + ../../../addons/ofxPiMapper/src/Surfaces/SurfaceStack.cpp + sourceTree + SOURCE_ROOT + + 7344B3B35CD0188D1283EC59 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + SurfaceManager.h + path + ../../../addons/ofxPiMapper/src/Surfaces/SurfaceManager.h + sourceTree + SOURCE_ROOT + + 85649EB44DE8F0A3BF8430F9 + + fileRef + 836B103542A52C63B004410C + isa + PBXBuildFile + + 836B103542A52C63B004410C + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + SurfaceManager.cpp + path + ../../../addons/ofxPiMapper/src/Surfaces/SurfaceManager.cpp + sourceTree + SOURCE_ROOT + + D58C36B60BB72C7336042FB9 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + SurfaceFactory.h + path + ../../../addons/ofxPiMapper/src/Surfaces/SurfaceFactory.h + sourceTree + SOURCE_ROOT + + B27F2ADC894A4C463E892AFE + + fileRef + 03FA94CA9F193C816DE4253F + isa + PBXBuildFile + + 03FA94CA9F193C816DE4253F + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + SurfaceFactory.cpp + path + ../../../addons/ofxPiMapper/src/Surfaces/SurfaceFactory.cpp + sourceTree + SOURCE_ROOT + + 906696B07A716E4057D32B1E + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + QuadSurface.h + path + ../../../addons/ofxPiMapper/src/Surfaces/QuadSurface.h + sourceTree + SOURCE_ROOT + + 2A9AFA74E0EF07E58AC11382 + + fileRef + B9ECBF061BABECA9C2341372 + isa + PBXBuildFile + + B9ECBF061BABECA9C2341372 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + QuadSurface.cpp + path + ../../../addons/ofxPiMapper/src/Surfaces/QuadSurface.cpp + sourceTree + SOURCE_ROOT + + 0B4D5D37A2AE7AB30D726C16 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + HexagonSurface.h + path + ../../../addons/ofxPiMapper/src/Surfaces/HexagonSurface.h + sourceTree + SOURCE_ROOT + + 9C194C9F4ACD67CD61FBD30D + + fileRef + BCBB74B9531974E1D5DA019B + isa + PBXBuildFile + + BCBB74B9531974E1D5DA019B + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + HexagonSurface.cpp + path + ../../../addons/ofxPiMapper/src/Surfaces/HexagonSurface.cpp + sourceTree + SOURCE_ROOT + + C3E8D103B72D02E063B29082 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + GridWarpSurface.h + path + ../../../addons/ofxPiMapper/src/Surfaces/GridWarpSurface.h + sourceTree + SOURCE_ROOT + + 63DB0907B2ACDF9E6F2D9925 + + fileRef + 2D2400AC1A64EDE5E990C56C + isa + PBXBuildFile + + 2D2400AC1A64EDE5E990C56C + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + GridWarpSurface.cpp + path + ../../../addons/ofxPiMapper/src/Surfaces/GridWarpSurface.cpp + sourceTree + SOURCE_ROOT + + 5F3D44140B5D476BC98E98F3 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + CircleSurface.h + path + ../../../addons/ofxPiMapper/src/Surfaces/CircleSurface.h + sourceTree + SOURCE_ROOT + + D0758B5E19E04C33E9BF7193 + + fileRef + E47BE7E996D01B437B713B9B + isa + PBXBuildFile + + E47BE7E996D01B437B713B9B + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + CircleSurface.cpp + path + ../../../addons/ofxPiMapper/src/Surfaces/CircleSurface.cpp + sourceTree + SOURCE_ROOT + + F27EBFBACAC7B29B2B7CA500 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + BaseSurface.h + path + ../../../addons/ofxPiMapper/src/Surfaces/BaseSurface.h + sourceTree + SOURCE_ROOT + + DA1ABA97EBE5173F815CB449 + + children + + F2C0EE541190D47BF5911C0A + F27EBFBACAC7B29B2B7CA500 + E47BE7E996D01B437B713B9B + 5F3D44140B5D476BC98E98F3 + 2D2400AC1A64EDE5E990C56C + C3E8D103B72D02E063B29082 + BCBB74B9531974E1D5DA019B + 0B4D5D37A2AE7AB30D726C16 + B9ECBF061BABECA9C2341372 + 906696B07A716E4057D32B1E + 03FA94CA9F193C816DE4253F + D58C36B60BB72C7336042FB9 + 836B103542A52C63B004410C + 7344B3B35CD0188D1283EC59 + 1C080561EC053F17BB86A668 + 6592BB3592290B34832D7607 + B178ED5CA7F76AAA6E49E191 + 3DF2D82EA37D8C7A5F686EA5 + 23118136CC7FFA920626B6C3 + + isa + PBXGroup + name + Surfaces + sourceTree + <group> + + 9F968AD3A115328F4BFE5D71 + + fileRef + F2C0EE541190D47BF5911C0A + isa + PBXBuildFile + + F2C0EE541190D47BF5911C0A + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + BaseSurface.cpp + path + ../../../addons/ofxPiMapper/src/Surfaces/BaseSurface.cpp + sourceTree + SOURCE_ROOT + + C2D03F683EE589F55D47CFFD + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + VideoSource.h + path + ../../../addons/ofxPiMapper/src/Sources/VideoSource.h + sourceTree + SOURCE_ROOT + + A0C1CAB7B9C59DDDC960EB62 + + fileRef + 5407451FA68C27B2AAE644A6 + isa + PBXBuildFile + + 5407451FA68C27B2AAE644A6 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + VideoSource.cpp + path + ../../../addons/ofxPiMapper/src/Sources/VideoSource.cpp + sourceTree + SOURCE_ROOT + + EFB1537A5DBC298C759BFC62 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + SourceTypeHelper.h + path + ../../../addons/ofxPiMapper/src/Sources/SourceTypeHelper.h + sourceTree + SOURCE_ROOT + + 6595C215972AFFC7EE685F5A + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + SourceType.h + path + ../../../addons/ofxPiMapper/src/Sources/SourceType.h + sourceTree + SOURCE_ROOT + + 3BD72CBAFD427FC6E9F164D2 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + OMXPlayerCache.h + path + ../../../addons/ofxPiMapper/src/Sources/OMXPlayerCache.h + sourceTree + SOURCE_ROOT + + 588E33B9B0BD6F5A2E4DF31D + + fileRef + F7B0806EEA8012D629BE363C + isa + PBXBuildFile + + F7B0806EEA8012D629BE363C + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + OMXPlayerCache.cpp + path + ../../../addons/ofxPiMapper/src/Sources/OMXPlayerCache.cpp + sourceTree + SOURCE_ROOT + + 38683A925FBE28339A8BDBC0 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + magSlideTransitionFactory.h + path + ../../../addons/ofxPiMapper/src/Sources/magSlideTransitionFactory.h + sourceTree + SOURCE_ROOT + + 582BDA35793B6C5F719AFFB6 + + fileRef + 8219246B2D3DCA07840E8006 + isa + PBXBuildFile + + 8219246B2D3DCA07840E8006 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + magSlideTransitionFactory.cpp + path + ../../../addons/ofxPiMapper/src/Sources/magSlideTransitionFactory.cpp + sourceTree + SOURCE_ROOT + + 9401251DD4C51CCD32270579 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + magSlideTransition.h + path + ../../../addons/ofxPiMapper/src/Sources/magSlideTransition.h + sourceTree + SOURCE_ROOT + + 2375406EEFFBF32FC848BCF0 + + fileRef + 237BC60FA935F4D2EF7333B8 + isa + PBXBuildFile + + 237BC60FA935F4D2EF7333B8 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + magSlideTransition.cpp + path + ../../../addons/ofxPiMapper/src/Sources/magSlideTransition.cpp + sourceTree + SOURCE_ROOT + + 8F9A0B3E8F65E3A01D5F598C + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + magSlideShowSource.h + path + ../../../addons/ofxPiMapper/src/Sources/magSlideShowSource.h + sourceTree + SOURCE_ROOT + + DBD3C91431A9ACF2F980B702 + + fileRef + 35097CC7BE3F0F1C9474F901 + isa + PBXBuildFile + + 35097CC7BE3F0F1C9474F901 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + magSlideShowSource.cpp + path + ../../../addons/ofxPiMapper/src/Sources/magSlideShowSource.cpp + sourceTree + SOURCE_ROOT + + 2EEB35CE3E4992705F95E2E3 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + magSlide.h + path + ../../../addons/ofxPiMapper/src/Sources/magSlide.h + sourceTree + SOURCE_ROOT + + D2B8EB6B80117D2235CD85FE + + fileRef + 2382B6BE80F965EC5CD2E817 + isa + PBXBuildFile + + 2382B6BE80F965EC5CD2E817 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + magSlide.cpp + path + ../../../addons/ofxPiMapper/src/Sources/magSlide.cpp + sourceTree + SOURCE_ROOT + + E5949E35CC6642F2FDFFAAE5 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + ImageSource.h + path + ../../../addons/ofxPiMapper/src/Sources/ImageSource.h + sourceTree + SOURCE_ROOT + + 95CB0A22296B3DB402835DCF + + fileRef + 61291E56B7882C9E9B8F119B + isa + PBXBuildFile + + 61291E56B7882C9E9B8F119B + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + ImageSource.cpp + path + ../../../addons/ofxPiMapper/src/Sources/ImageSource.cpp + sourceTree + SOURCE_ROOT + + F05CE9A6503C7CBCC46403C4 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + FboSource.h + path + ../../../addons/ofxPiMapper/src/Sources/FboSource.h + sourceTree + SOURCE_ROOT + + 7702233BBFB6E8D9E8B93CBC + + fileRef + C61C1F4F1A1ED2660B1D6EDC + isa + PBXBuildFile + + C61C1F4F1A1ED2660B1D6EDC + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + FboSource.cpp + path + ../../../addons/ofxPiMapper/src/Sources/FboSource.cpp + sourceTree + SOURCE_ROOT + + B390802358C73D3757AC9B4E + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + BaseSource.h + path + ../../../addons/ofxPiMapper/src/Sources/BaseSource.h + sourceTree + SOURCE_ROOT + + 77B40894B404D46E0B9438E0 + + children + + AB4132974E14024E74E320F5 + B390802358C73D3757AC9B4E + C61C1F4F1A1ED2660B1D6EDC + F05CE9A6503C7CBCC46403C4 + 61291E56B7882C9E9B8F119B + E5949E35CC6642F2FDFFAAE5 + 2382B6BE80F965EC5CD2E817 + 2EEB35CE3E4992705F95E2E3 + 35097CC7BE3F0F1C9474F901 + 8F9A0B3E8F65E3A01D5F598C + 237BC60FA935F4D2EF7333B8 + 9401251DD4C51CCD32270579 + 8219246B2D3DCA07840E8006 + 38683A925FBE28339A8BDBC0 + F7B0806EEA8012D629BE363C + 3BD72CBAFD427FC6E9F164D2 + 6595C215972AFFC7EE685F5A + EFB1537A5DBC298C759BFC62 + 5407451FA68C27B2AAE644A6 + C2D03F683EE589F55D47CFFD + + isa + PBXGroup + name + Sources + sourceTree + <group> + + 892923A127FC7C57469FD078 + + fileRef + AB4132974E14024E74E320F5 + isa + PBXBuildFile + + AB4132974E14024E74E320F5 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + BaseSource.cpp + path + ../../../addons/ofxPiMapper/src/Sources/BaseSource.cpp + sourceTree + SOURCE_ROOT + + 378C962CF2DB945F38DE674A + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + ofxPiMapper.h + path + ../../../addons/ofxPiMapper/src/ofxPiMapper.h + sourceTree + SOURCE_ROOT + + 3B90107DB9BF4857E357FCA8 + + fileRef + 16DB3860ECC0D672B08DE71C + isa + PBXBuildFile + + 16DB3860ECC0D672B08DE71C + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + ofxPiMapper.cpp + path + ../../../addons/ofxPiMapper/src/ofxPiMapper.cpp + sourceTree + SOURCE_ROOT + + C2E5DC1692A11AF5D981F8FA + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + Mode.h + path + ../../../addons/ofxPiMapper/src/Mode.h + sourceTree + SOURCE_ROOT + + FCB5A622161B43A8154687F8 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + MediaServer.h + path + ../../../addons/ofxPiMapper/src/MediaServer/MediaServer.h + sourceTree + SOURCE_ROOT + + 92527EF632E7EC0E96BC329C + + fileRef + 18385A4F4BC87806616D4F7F + isa + PBXBuildFile + + 18385A4F4BC87806616D4F7F + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + MediaServer.cpp + path + ../../../addons/ofxPiMapper/src/MediaServer/MediaServer.cpp + sourceTree + SOURCE_ROOT + + 7C89C324499F9541394245C9 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + DirectoryWatcher.h + path + ../../../addons/ofxPiMapper/src/MediaServer/DirectoryWatcher.h + sourceTree + SOURCE_ROOT + + 49237A8A4935FFC7A690CBD7 + + children + + 20F9951441118A70E8D55E13 + 7C89C324499F9541394245C9 + 18385A4F4BC87806616D4F7F + FCB5A622161B43A8154687F8 + + isa + PBXGroup + name + MediaServer + sourceTree + <group> + + DB8FC60C7512DB810C92625B + + fileRef + 20F9951441118A70E8D55E13 + isa + PBXBuildFile + + 20F9951441118A70E8D55E13 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + DirectoryWatcher.cpp + path + ../../../addons/ofxPiMapper/src/MediaServer/DirectoryWatcher.cpp + sourceTree + SOURCE_ROOT + + 37E7F66B151AB6A0AB6FC244 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + Info.h + path + ../../../addons/ofxPiMapper/src/Info/Info.h + sourceTree + SOURCE_ROOT + + 922DC4E8A53315BB0C983902 + + children + + EEF2CEBAFFABCFED915AFCE1 + 37E7F66B151AB6A0AB6FC244 + + isa + PBXGroup + name + Info + sourceTree + <group> + + F3EACD31EE5E141FF66C48BD + + fileRef + EEF2CEBAFFABCFED915AFCE1 + isa + PBXBuildFile + + EEF2CEBAFFABCFED915AFCE1 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + Info.cpp + path + ../../../addons/ofxPiMapper/src/Info/Info.cpp + sourceTree + SOURCE_ROOT + + 3BD822DBD11904D1D6E27E76 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + TextureHighlightWidget.h + path + ../../../addons/ofxPiMapper/src/Gui/Widgets/TextureHighlightWidget.h + sourceTree + SOURCE_ROOT + + 9CAA3B0DFD59840998C832DA + + fileRef + 941AD8B39C28D08B9F31077A + isa + PBXBuildFile + + 941AD8B39C28D08B9F31077A + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + TextureHighlightWidget.cpp + path + ../../../addons/ofxPiMapper/src/Gui/Widgets/TextureHighlightWidget.cpp + sourceTree + SOURCE_ROOT + + AB96773D1B378AE8018EA33E + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + TextureEditorWidget.h + path + ../../../addons/ofxPiMapper/src/Gui/Widgets/TextureEditorWidget.h + sourceTree + SOURCE_ROOT + + 4D2D4455339FC8C955091C88 + + fileRef + 413E846B881CCADC897A8A40 + isa + PBXBuildFile + + 413E846B881CCADC897A8A40 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + TextureEditorWidget.cpp + path + ../../../addons/ofxPiMapper/src/Gui/Widgets/TextureEditorWidget.cpp + sourceTree + SOURCE_ROOT + + 9F39733296358C3B0F85BB15 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + SurfaceHighlightWidget.h + path + ../../../addons/ofxPiMapper/src/Gui/Widgets/SurfaceHighlightWidget.h + sourceTree + SOURCE_ROOT + + 8A3D6CE0A4338871766366B6 + + fileRef + 69A4D26FC0AD01A86571540D + isa + PBXBuildFile + + 69A4D26FC0AD01A86571540D + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + SurfaceHighlightWidget.cpp + path + ../../../addons/ofxPiMapper/src/Gui/Widgets/SurfaceHighlightWidget.cpp + sourceTree + SOURCE_ROOT + + B562DE1EEC28EE801EB4F483 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + SourcesEditorWidget.h + path + ../../../addons/ofxPiMapper/src/Gui/Widgets/SourcesEditorWidget.h + sourceTree + SOURCE_ROOT + + FB03F0A6D7866DFC55F519EB + + fileRef + 36F59D2F886152DF4115A218 + isa + PBXBuildFile + + 36F59D2F886152DF4115A218 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + SourcesEditorWidget.cpp + path + ../../../addons/ofxPiMapper/src/Gui/Widgets/SourcesEditorWidget.cpp + sourceTree + SOURCE_ROOT + + 23A4F0C9DE47BA73B3E49EDE + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + ScaleWidget.h + path + ../../../addons/ofxPiMapper/src/Gui/Widgets/ScaleWidget.h + sourceTree + SOURCE_ROOT + + F06AE014F869282B7F7CE84C + + fileRef + F4EDCDF597954EF25E7AD416 + isa + PBXBuildFile + + F4EDCDF597954EF25E7AD416 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + ScaleWidget.cpp + path + ../../../addons/ofxPiMapper/src/Gui/Widgets/ScaleWidget.cpp + sourceTree + SOURCE_ROOT + + C27244405258CD6DF424D0F3 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + ProjectionEditorWidget.h + path + ../../../addons/ofxPiMapper/src/Gui/Widgets/ProjectionEditorWidget.h + sourceTree + SOURCE_ROOT + + 274AEF0299D77E27C0C5B205 + + fileRef + 18DA1B30717C876AA19CEEC0 + isa + PBXBuildFile + + 18DA1B30717C876AA19CEEC0 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + ProjectionEditorWidget.cpp + path + ../../../addons/ofxPiMapper/src/Gui/Widgets/ProjectionEditorWidget.cpp + sourceTree + SOURCE_ROOT + + 438B20A2C548E18384498186 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + LayerPanelWidget.h + path + ../../../addons/ofxPiMapper/src/Gui/Widgets/LayerPanelWidget.h + sourceTree + SOURCE_ROOT + + 8E8F94DC506856A4E92FBA8A + + fileRef + 57990D37D728C5711AACBA9F + isa + PBXBuildFile + + 57990D37D728C5711AACBA9F + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + LayerPanelWidget.cpp + path + ../../../addons/ofxPiMapper/src/Gui/Widgets/LayerPanelWidget.cpp + sourceTree + SOURCE_ROOT + + 0775EF7214A04F1C3C936CCE + + children + + 94DC897871B221F060A6A70F + 57990D37D728C5711AACBA9F + 438B20A2C548E18384498186 + 18DA1B30717C876AA19CEEC0 + C27244405258CD6DF424D0F3 + F4EDCDF597954EF25E7AD416 + 23A4F0C9DE47BA73B3E49EDE + 36F59D2F886152DF4115A218 + B562DE1EEC28EE801EB4F483 + 69A4D26FC0AD01A86571540D + 9F39733296358C3B0F85BB15 + 413E846B881CCADC897A8A40 + AB96773D1B378AE8018EA33E + 941AD8B39C28D08B9F31077A + 3BD822DBD11904D1D6E27E76 + + isa + PBXGroup + name + Widgets + sourceTree + <group> + + 94DC897871B221F060A6A70F + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + GuiBaseWidget.h + path + ../../../addons/ofxPiMapper/src/Gui/Widgets/GuiBaseWidget.h + sourceTree + SOURCE_ROOT + + 7A3290FC65714D0C4D02B8BA + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + Gui.h + path + ../../../addons/ofxPiMapper/src/Gui/Gui.h + sourceTree + SOURCE_ROOT + + 783C34304FF450D0CB244879 + + children + + DCC24025AD26B4554B000385 + 7A3290FC65714D0C4D02B8BA + 0775EF7214A04F1C3C936CCE + + isa + PBXGroup + name + Gui + sourceTree + <group> + + EA700B09626C8413C92EF860 + + fileRef + DCC24025AD26B4554B000385 + isa + PBXBuildFile + + DCC24025AD26B4554B000385 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + Gui.cpp + path + ../../../addons/ofxPiMapper/src/Gui/Gui.cpp + sourceTree + SOURCE_ROOT + + 5AB104FC7812B4F42B8E1540 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + TranslateCanvasCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/TranslateCanvasCmd.h + sourceTree + SOURCE_ROOT + + 28F5415281F8D09BBC098355 + + fileRef + 03FCF5559C2A6AB79D947767 + isa + PBXBuildFile + + 03FCF5559C2A6AB79D947767 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + TranslateCanvasCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/TranslateCanvasCmd.cpp + sourceTree + SOURCE_ROOT + + 4244A1B9B55BD7BA7ED2F547 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + TogglePerspectiveCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/TogglePerspectiveCmd.h + sourceTree + SOURCE_ROOT + + 23963D6D8F0085D5DD2DF394 + + fileRef + 655142313A378162E3929785 + isa + PBXBuildFile + + 655142313A378162E3929785 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + TogglePerspectiveCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/TogglePerspectiveCmd.cpp + sourceTree + SOURCE_ROOT + + 21167F26AF957606289D4A4A + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + ToggleAnimatedSourceCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/ToggleAnimatedSourceCmd.h + sourceTree + SOURCE_ROOT + + 6438655B2AE4DDA2743241EC + + fileRef + 5D020B9B28609D071E21BB76 + isa + PBXBuildFile + + 5D020B9B28609D071E21BB76 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + ToggleAnimatedSourceCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/ToggleAnimatedSourceCmd.cpp + sourceTree + SOURCE_ROOT + + 5EBDBF5E7887C574E1FCC1B5 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + StartDragSurfaceCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/StartDragSurfaceCmd.h + sourceTree + SOURCE_ROOT + + 06765053D7BFBBEB43E77B23 + + fileRef + E8DA47AF2B265F778E74D4DA + isa + PBXBuildFile + + E8DA47AF2B265F778E74D4DA + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + StartDragSurfaceCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/StartDragSurfaceCmd.cpp + sourceTree + SOURCE_ROOT + + 912C6A870E22496CEA43AC85 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + SetTexMapDrawModeCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/SetTexMapDrawModeCmd.h + sourceTree + SOURCE_ROOT + + A6EE8D8F3CA590EF6D7FAFA6 + + fileRef + 49BE2D8F2A2A57F4EBF83FF4 + isa + PBXBuildFile + + 49BE2D8F2A2A57F4EBF83FF4 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + SetTexMapDrawModeCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/SetTexMapDrawModeCmd.cpp + sourceTree + SOURCE_ROOT + + 56A68D8E68FF141B5EB1ADF6 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + SetSourceCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/SetSourceCmd.h + sourceTree + SOURCE_ROOT + + 6500BFD07CA93EFD8A162B25 + + fileRef + 7F58FFED7FBFC49573FF65E4 + isa + PBXBuildFile + + 7F58FFED7FBFC49573FF65E4 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + SetSourceCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/SetSourceCmd.cpp + sourceTree + SOURCE_ROOT + + BCB571865BB25BC586CF80EC + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + SetPresetCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/SetPresetCmd.h + sourceTree + SOURCE_ROOT + + 84172554824F6959BA431E33 + + fileRef + 15C9B02F2CF08112845CD074 + isa + PBXBuildFile + + 15C9B02F2CF08112845CD074 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + SetPresetCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/SetPresetCmd.cpp + sourceTree + SOURCE_ROOT + + FA2E4E947E8D358C28D903C0 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + SetNextSourceCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/SetNextSourceCmd.h + sourceTree + SOURCE_ROOT + + 4BF21A290FA6FE26B87B8971 + + fileRef + 4FFBE499412CC8DD07163E91 + isa + PBXBuildFile + + 4FFBE499412CC8DD07163E91 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + SetNextSourceCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/SetNextSourceCmd.cpp + sourceTree + SOURCE_ROOT + + F0A9FE4B6FB6C958B72B72CD + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + SetApplicationModeCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/SetApplicationModeCmd.h + sourceTree + SOURCE_ROOT + + 90DE06EA59944C1BEA539719 + + fileRef + 8D3CB0B9A827AFA479349BBE + isa + PBXBuildFile + + 8D3CB0B9A827AFA479349BBE + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + SetApplicationModeCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/SetApplicationModeCmd.cpp + sourceTree + SOURCE_ROOT + + 79A9ED756DB70790A67E3EF8 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + SelVertexCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/SelVertexCmd.h + sourceTree + SOURCE_ROOT + + 7002E598586957E5F20E69A7 + + fileRef + A2282B1E05458C3B2BBCE568 + isa + PBXBuildFile + + A2282B1E05458C3B2BBCE568 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + SelVertexCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/SelVertexCmd.cpp + sourceTree + SOURCE_ROOT + + D05D5FBB2B2779B022A5DD04 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + SelTexCoordCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/SelTexCoordCmd.h + sourceTree + SOURCE_ROOT + + 14566DCD28D35A80428886C4 + + fileRef + 27453C6FAE9B674FD694508D + isa + PBXBuildFile + + 27453C6FAE9B674FD694508D + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + SelTexCoordCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/SelTexCoordCmd.cpp + sourceTree + SOURCE_ROOT + + CB4461BD6FC059D946144727 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + SelSurfaceCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/SelSurfaceCmd.h + sourceTree + SOURCE_ROOT + + E5D631612E039E04B1736E76 + + fileRef + 0B691BBAB665F94F09B2C276 + isa + PBXBuildFile + + 0B691BBAB665F94F09B2C276 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + SelSurfaceCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/SelSurfaceCmd.cpp + sourceTree + SOURCE_ROOT + + 47AB6134D2AB2F3EB10096A3 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + SelPrevVertexCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/SelPrevVertexCmd.h + sourceTree + SOURCE_ROOT + + B9654D0EF43BCA228B330ED7 + + fileRef + 3B29C3846BA06080344C1D1E + isa + PBXBuildFile + + 3B29C3846BA06080344C1D1E + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + SelPrevVertexCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/SelPrevVertexCmd.cpp + sourceTree + SOURCE_ROOT + + 1CE256C39E514ABD16FCCB87 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + SelPrevTexCoordCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/SelPrevTexCoordCmd.h + sourceTree + SOURCE_ROOT + + 800748EF057A284D9DA82F60 + + fileRef + F7E88D3956480E0CBAA21641 + isa + PBXBuildFile + + F7E88D3956480E0CBAA21641 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + SelPrevTexCoordCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/SelPrevTexCoordCmd.cpp + sourceTree + SOURCE_ROOT + + B5C793F4FEA3AA065347B61C + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + SelPrevSurfaceCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/SelPrevSurfaceCmd.h + sourceTree + SOURCE_ROOT + + 7DAB7D546F81A93336034BF7 + + fileRef + 6DF54314CF2B45BF195B84C6 + isa + PBXBuildFile + + 6DF54314CF2B45BF195B84C6 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + SelPrevSurfaceCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/SelPrevSurfaceCmd.cpp + sourceTree + SOURCE_ROOT + + BA5B6BB795E2A24B2DBA22BD + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + SelNextVertexCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/SelNextVertexCmd.h + sourceTree + SOURCE_ROOT + + E6D82F5A7B22E9FB46DEEF15 + + fileRef + 140C0677F9F5A5D3B8A89AC4 + isa + PBXBuildFile + + 140C0677F9F5A5D3B8A89AC4 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + SelNextVertexCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/SelNextVertexCmd.cpp + sourceTree + SOURCE_ROOT + + A5CBAE57D2ADED1CAB6123AF + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + SelNextTexCoordCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/SelNextTexCoordCmd.h + sourceTree + SOURCE_ROOT + + 60C8089351E49CF344577098 + + fileRef + 784FFEB8D108EC916343AB97 + isa + PBXBuildFile + + 784FFEB8D108EC916343AB97 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + SelNextTexCoordCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/SelNextTexCoordCmd.cpp + sourceTree + SOURCE_ROOT + + 30ED82F4A70B5B95CCEF7744 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + SelNextSurfaceCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/SelNextSurfaceCmd.h + sourceTree + SOURCE_ROOT + + 67FF225B68ECC1942C833BFE + + fileRef + FC98A68C64BFC941D0B31EE9 + isa + PBXBuildFile + + FC98A68C64BFC941D0B31EE9 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + SelNextSurfaceCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/SelNextSurfaceCmd.cpp + sourceTree + SOURCE_ROOT + + 62C9C3E62D4BEF04CF54C031 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + ScaleSurfaceFromToCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/ScaleSurfaceFromToCmd.h + sourceTree + SOURCE_ROOT + + E327ACE85A208BAFACD1B7C7 + + fileRef + 34B45EB44DED0A47FBAD30F4 + isa + PBXBuildFile + + 34B45EB44DED0A47FBAD30F4 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + ScaleSurfaceFromToCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/ScaleSurfaceFromToCmd.cpp + sourceTree + SOURCE_ROOT + + D463EA9CC53D21A44CB9D6EF + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + SaveTexCoordPosCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/SaveTexCoordPosCmd.h + sourceTree + SOURCE_ROOT + + 36A98A331EAE1D0A19998A59 + + fileRef + 60F40691CD9DE4DEE1768FE9 + isa + PBXBuildFile + + 60F40691CD9DE4DEE1768FE9 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + SaveTexCoordPosCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/SaveTexCoordPosCmd.cpp + sourceTree + SOURCE_ROOT + + D7287CBE5600FEE9EE1B1AEA + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + RmSurfaceCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/RmSurfaceCmd.h + sourceTree + SOURCE_ROOT + + B01F972DDDA5F21EF4C8B99D + + fileRef + B7C308F8B76FCB909581A580 + isa + PBXBuildFile + + B7C308F8B76FCB909581A580 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + RmSurfaceCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/RmSurfaceCmd.cpp + sourceTree + SOURCE_ROOT + + 74CA4C78136F233FB90B7D3E + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + RmGridRowCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/RmGridRowCmd.h + sourceTree + SOURCE_ROOT + + 5826FF4F63DC430E90AFDA5E + + fileRef + F3538B8AF69CAB7C215FA1EF + isa + PBXBuildFile + + F3538B8AF69CAB7C215FA1EF + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + RmGridRowCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/RmGridRowCmd.cpp + sourceTree + SOURCE_ROOT + + BA65337B3E631788AE2D018B + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + RmGridColCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/RmGridColCmd.h + sourceTree + SOURCE_ROOT + + 82643E358DF270B9EC939699 + + fileRef + A50F23D868C48DF9799BC788 + isa + PBXBuildFile + + A50F23D868C48DF9799BC788 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + RmGridColCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/RmGridColCmd.cpp + sourceTree + SOURCE_ROOT + + 8F41EDB76644426680B2FA2B + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + MvTexCoordCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/MvTexCoordCmd.h + sourceTree + SOURCE_ROOT + + 25F5CD753AF35B53464E56AE + + fileRef + 0739F09627790055C959BBF4 + isa + PBXBuildFile + + 0739F09627790055C959BBF4 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + MvTexCoordCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/MvTexCoordCmd.cpp + sourceTree + SOURCE_ROOT + + D565A612B1DF2837C94A6081 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + MvSurfaceVertCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/MvSurfaceVertCmd.h + sourceTree + SOURCE_ROOT + + 845DC872C79A75F7B5FABC02 + + fileRef + 18041C8871E17DE3E60BFF95 + isa + PBXBuildFile + + 18041C8871E17DE3E60BFF95 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + MvSurfaceVertCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/MvSurfaceVertCmd.cpp + sourceTree + SOURCE_ROOT + + D4CFAEBB593AD070E04F106C + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + MvSelectionCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/MvSelectionCmd.h + sourceTree + SOURCE_ROOT + + 6056983B92E88B475FF04299 + + fileRef + 7D386994DF359F3BD1E66480 + isa + PBXBuildFile + + 7D386994DF359F3BD1E66480 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + MvSelectionCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/MvSelectionCmd.cpp + sourceTree + SOURCE_ROOT + + 933CAE5B2DEC9DDABEA95E34 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + MvLayerUpCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/MvLayerUpCmd.h + sourceTree + SOURCE_ROOT + + C34B66987F4DA38C21AF325B + + fileRef + E52D4207C299D5886C8FD2C7 + isa + PBXBuildFile + + E52D4207C299D5886C8FD2C7 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + MvLayerUpCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/MvLayerUpCmd.cpp + sourceTree + SOURCE_ROOT + + 61481FB831430E35A18ABD02 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + MvLayerDnCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/MvLayerDnCmd.h + sourceTree + SOURCE_ROOT + + A75658250711ADE2C05FC781 + + fileRef + EC481BAB32B250D3EA41AF9E + isa + PBXBuildFile + + EC481BAB32B250D3EA41AF9E + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + MvLayerDnCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/MvLayerDnCmd.cpp + sourceTree + SOURCE_ROOT + + 25322223D3976D5F33DCCBF6 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + MvAllTexCoordsCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/MvAllTexCoordsCmd.h + sourceTree + SOURCE_ROOT + + 8CA6C92E3D4F91750BC469FF + + fileRef + DBAFA0B7AFEA589CA5167204 + isa + PBXBuildFile + + DBAFA0B7AFEA589CA5167204 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + MvAllTexCoordsCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/MvAllTexCoordsCmd.cpp + sourceTree + SOURCE_ROOT + + EE95BF87E883491E7CC9B6EC + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + DuplicateSurfaceCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/DuplicateSurfaceCmd.h + sourceTree + SOURCE_ROOT + + D61A46C1800537BA43C7884F + + fileRef + C656C28252AD5E9E09FA2162 + isa + PBXBuildFile + + C656C28252AD5E9E09FA2162 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + DuplicateSurfaceCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/DuplicateSurfaceCmd.cpp + sourceTree + SOURCE_ROOT + + 718E523D4BDDCFAC394B3EA5 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + DeselectTexCoordCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/DeselectTexCoordCmd.h + sourceTree + SOURCE_ROOT + + 973F560586CB3735581265E7 + + fileRef + E8CE817DF3028A4345376E7D + isa + PBXBuildFile + + E8CE817DF3028A4345376E7D + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + DeselectTexCoordCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/DeselectTexCoordCmd.cpp + sourceTree + SOURCE_ROOT + + 65DBA05D19177D2853D54196 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + DeselectSurfaceCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/DeselectSurfaceCmd.h + sourceTree + SOURCE_ROOT + + C8D7FA44AA0565654A681157 + + fileRef + 6E80EE6FB0CC304A6CA287BB + isa + PBXBuildFile + + 6E80EE6FB0CC304A6CA287BB + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + DeselectSurfaceCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/DeselectSurfaceCmd.cpp + sourceTree + SOURCE_ROOT + + 2F04FFB9BAC4575E214C0DED + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + CmdManager.h + path + ../../../addons/ofxPiMapper/src/Commands/CmdManager.h + sourceTree + SOURCE_ROOT + + 93760FE8B10EBD4081251E10 + + fileRef + BDBE053980FA01FAD543D782 + isa + PBXBuildFile + + BDBE053980FA01FAD543D782 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + CmdManager.cpp + path + ../../../addons/ofxPiMapper/src/Commands/CmdManager.cpp + sourceTree + SOURCE_ROOT + + 3074E4094F76555C299E5D8E + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + ClearSurfacesCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/ClearSurfacesCmd.h + sourceTree + SOURCE_ROOT + + F9A6B58165791682416A1685 + + fileRef + 962C349E8F4E59FF335AB2A6 + isa + PBXBuildFile + + 962C349E8F4E59FF335AB2A6 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + ClearSurfacesCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/ClearSurfacesCmd.cpp + sourceTree + SOURCE_ROOT + + 17972C3384311464011667D9 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + BaseCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/BaseCmd.h + sourceTree + SOURCE_ROOT + + 00756183A9E41665E637AC23 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + AddSurfaceCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/AddSurfaceCmd.h + sourceTree + SOURCE_ROOT + + B1EEE5A7EC1876072BF8F7FE + + fileRef + B323D7489A7B26A63443444F + isa + PBXBuildFile + + B323D7489A7B26A63443444F + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + AddSurfaceCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/AddSurfaceCmd.cpp + sourceTree + SOURCE_ROOT + + 775FD891C1E381F87BF33C82 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + AddGridRowCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/AddGridRowCmd.h + sourceTree + SOURCE_ROOT + + D88BA6D139757ED4E1669796 + + fileRef + 3E4A0386460638A781A7AC84 + isa + PBXBuildFile + + 3E4A0386460638A781A7AC84 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + AddGridRowCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/AddGridRowCmd.cpp + sourceTree + SOURCE_ROOT + + 1E73070DAC89F6A796BFF464 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + AddGridColCmd.h + path + ../../../addons/ofxPiMapper/src/Commands/AddGridColCmd.h + sourceTree + SOURCE_ROOT + + F19689EE10A2EC1EC429FAC7 + + children + + 231337763726D333E0B3D56C + 1E73070DAC89F6A796BFF464 + 3E4A0386460638A781A7AC84 + 775FD891C1E381F87BF33C82 + B323D7489A7B26A63443444F + 00756183A9E41665E637AC23 + 17972C3384311464011667D9 + 962C349E8F4E59FF335AB2A6 + 3074E4094F76555C299E5D8E + BDBE053980FA01FAD543D782 + 2F04FFB9BAC4575E214C0DED + 6E80EE6FB0CC304A6CA287BB + 65DBA05D19177D2853D54196 + E8CE817DF3028A4345376E7D + 718E523D4BDDCFAC394B3EA5 + C656C28252AD5E9E09FA2162 + EE95BF87E883491E7CC9B6EC + DBAFA0B7AFEA589CA5167204 + 25322223D3976D5F33DCCBF6 + EC481BAB32B250D3EA41AF9E + 61481FB831430E35A18ABD02 + E52D4207C299D5886C8FD2C7 + 933CAE5B2DEC9DDABEA95E34 + 7D386994DF359F3BD1E66480 + D4CFAEBB593AD070E04F106C + 18041C8871E17DE3E60BFF95 + D565A612B1DF2837C94A6081 + 0739F09627790055C959BBF4 + 8F41EDB76644426680B2FA2B + A50F23D868C48DF9799BC788 + BA65337B3E631788AE2D018B + F3538B8AF69CAB7C215FA1EF + 74CA4C78136F233FB90B7D3E + B7C308F8B76FCB909581A580 + D7287CBE5600FEE9EE1B1AEA + 60F40691CD9DE4DEE1768FE9 + D463EA9CC53D21A44CB9D6EF + 34B45EB44DED0A47FBAD30F4 + 62C9C3E62D4BEF04CF54C031 + FC98A68C64BFC941D0B31EE9 + 30ED82F4A70B5B95CCEF7744 + 784FFEB8D108EC916343AB97 + A5CBAE57D2ADED1CAB6123AF + 140C0677F9F5A5D3B8A89AC4 + BA5B6BB795E2A24B2DBA22BD + 6DF54314CF2B45BF195B84C6 + B5C793F4FEA3AA065347B61C + F7E88D3956480E0CBAA21641 + 1CE256C39E514ABD16FCCB87 + 3B29C3846BA06080344C1D1E + 47AB6134D2AB2F3EB10096A3 + 0B691BBAB665F94F09B2C276 + CB4461BD6FC059D946144727 + 27453C6FAE9B674FD694508D + D05D5FBB2B2779B022A5DD04 + A2282B1E05458C3B2BBCE568 + 79A9ED756DB70790A67E3EF8 + 8D3CB0B9A827AFA479349BBE + F0A9FE4B6FB6C958B72B72CD + 4FFBE499412CC8DD07163E91 + FA2E4E947E8D358C28D903C0 + 15C9B02F2CF08112845CD074 + BCB571865BB25BC586CF80EC + 7F58FFED7FBFC49573FF65E4 + 56A68D8E68FF141B5EB1ADF6 + 49BE2D8F2A2A57F4EBF83FF4 + 912C6A870E22496CEA43AC85 + E8DA47AF2B265F778E74D4DA + 5EBDBF5E7887C574E1FCC1B5 + 5D020B9B28609D071E21BB76 + 21167F26AF957606289D4A4A + 655142313A378162E3929785 + 4244A1B9B55BD7BA7ED2F547 + 03FCF5559C2A6AB79D947767 + 5AB104FC7812B4F42B8E1540 + + isa + PBXGroup + name + Commands + sourceTree + <group> + + 580602DA874A9CF9E850DEEE + + fileRef + 231337763726D333E0B3D56C + isa + PBXBuildFile + + 231337763726D333E0B3D56C + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + AddGridColCmd.cpp + path + ../../../addons/ofxPiMapper/src/Commands/AddGridColCmd.cpp + sourceTree + SOURCE_ROOT + + 5235D939D249EAF47F9A5EB5 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + SettingsLoader.h + path + ../../../addons/ofxPiMapper/src/Application/SettingsLoader.h + sourceTree + SOURCE_ROOT + + 2E9E05C9FFCE15172A701335 + + fileRef + 33DD6E4350FD51C68B7E65F0 + isa + PBXBuildFile + + 33DD6E4350FD51C68B7E65F0 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + SettingsLoader.cpp + path + ../../../addons/ofxPiMapper/src/Application/SettingsLoader.cpp + sourceTree + SOURCE_ROOT + + 3157007392BD114EAB99F470 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + TextureMappingMode.h + path + ../../../addons/ofxPiMapper/src/Application/Modes/TextureMappingMode.h + sourceTree + SOURCE_ROOT + + 21B18AC78EBFC1FD28C614D5 + + fileRef + B16277019B0C4B684E1B063E + isa + PBXBuildFile + + B16277019B0C4B684E1B063E + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + TextureMappingMode.cpp + path + ../../../addons/ofxPiMapper/src/Application/Modes/TextureMappingMode.cpp + sourceTree + SOURCE_ROOT + + 7FD330C204479B5A5021D286 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + SourceSelectionMode.h + path + ../../../addons/ofxPiMapper/src/Application/Modes/SourceSelectionMode.h + sourceTree + SOURCE_ROOT + + AA98F23DF9897F2241EF3968 + + fileRef + 4245228145B1AA737F49CF14 + isa + PBXBuildFile + + 4245228145B1AA737F49CF14 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + SourceSelectionMode.cpp + path + ../../../addons/ofxPiMapper/src/Application/Modes/SourceSelectionMode.cpp + sourceTree + SOURCE_ROOT + + DC8107E8E56AFFB933FE8962 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + ProjectionMappingMode.h + path + ../../../addons/ofxPiMapper/src/Application/Modes/ProjectionMappingMode.h + sourceTree + SOURCE_ROOT + + 42AB7CD7DFB89209AB951942 + + fileRef + 1BCA96396113AAF56D66C844 + isa + PBXBuildFile + + 1BCA96396113AAF56D66C844 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + ProjectionMappingMode.cpp + path + ../../../addons/ofxPiMapper/src/Application/Modes/ProjectionMappingMode.cpp + sourceTree + SOURCE_ROOT + + 3B043509B19E37C383D7CA87 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + PresentationMode.h + path + ../../../addons/ofxPiMapper/src/Application/Modes/PresentationMode.h + sourceTree + SOURCE_ROOT + + 4A53BFBA57F4AD16FB9D2D24 + + fileRef + 64156CB2D856E4CE0FBBED96 + isa + PBXBuildFile + + 64156CB2D856E4CE0FBBED96 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + PresentationMode.cpp + path + ../../../addons/ofxPiMapper/src/Application/Modes/PresentationMode.cpp + sourceTree + SOURCE_ROOT + + 57D73BCD8A871590F140EFF6 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + ApplicationBaseMode.h + path + ../../../addons/ofxPiMapper/src/Application/Modes/ApplicationBaseMode.h + sourceTree + SOURCE_ROOT + + 783422EB3B2FDA36D11DC9CF + + children + + 9631F04A0875ADEB45970DE8 + 57D73BCD8A871590F140EFF6 + 64156CB2D856E4CE0FBBED96 + 3B043509B19E37C383D7CA87 + 1BCA96396113AAF56D66C844 + DC8107E8E56AFFB933FE8962 + 4245228145B1AA737F49CF14 + 7FD330C204479B5A5021D286 + B16277019B0C4B684E1B063E + 3157007392BD114EAB99F470 + + isa + PBXGroup + name + Modes + sourceTree + <group> + + C4D6DA9B890E612343FD059F + + fileRef + 9631F04A0875ADEB45970DE8 + isa + PBXBuildFile + + 9631F04A0875ADEB45970DE8 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + ApplicationBaseMode.cpp + path + ../../../addons/ofxPiMapper/src/Application/Modes/ApplicationBaseMode.cpp + sourceTree + SOURCE_ROOT + + 928068952444E81EF818B25C + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + Application.h + path + ../../../addons/ofxPiMapper/src/Application/Application.h + sourceTree + SOURCE_ROOT + + 43844FF975EC3DB9B9DDAD73 + + children + + 1B3B1807E9CFC3FFBA4DBBEF + 928068952444E81EF818B25C + 783422EB3B2FDA36D11DC9CF + 33DD6E4350FD51C68B7E65F0 + 5235D939D249EAF47F9A5EB5 + + isa + PBXGroup + name + Application + sourceTree + <group> + + 57113A603B123D17EBD5D0D1 + + children + + 43844FF975EC3DB9B9DDAD73 + F19689EE10A2EC1EC429FAC7 + 783C34304FF450D0CB244879 + 922DC4E8A53315BB0C983902 + 49237A8A4935FFC7A690CBD7 + C2E5DC1692A11AF5D981F8FA + 16DB3860ECC0D672B08DE71C + 378C962CF2DB945F38DE674A + 77B40894B404D46E0B9438E0 + DA1ABA97EBE5173F815CB449 + E910F62B91A8365D01A66512 + 925C888869704DBDF0BE6D0B + 3D6840E4DBCF2DED6C755B76 + + isa + PBXGroup + name + src + sourceTree + <group> + + 7CC2E9C572434BA3ED1C8079 + + children + + 57113A603B123D17EBD5D0D1 + + isa + PBXGroup + name + ofxPiMapper + sourceTree + <group> + + 401140F3B7FA4412935BB121 + + fileRef + 1B3B1807E9CFC3FFBA4DBBEF + isa + PBXBuildFile + + 1B3B1807E9CFC3FFBA4DBBEF + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + Application.cpp + path + ../../../addons/ofxPiMapper/src/Application/Application.cpp + sourceTree + SOURCE_ROOT + + 0A1DAC09F322AE313A40706D + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + ofxToggle.h + path + ../../../addons/ofxGui/src/ofxToggle.h + sourceTree + SOURCE_ROOT + + 1CD33E884D9E3358252E82A1 + + fileRef + 907C5B5E104864A2D3A25745 + isa + PBXBuildFile + + 907C5B5E104864A2D3A25745 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + ofxToggle.cpp + path + ../../../addons/ofxGui/src/ofxToggle.cpp + sourceTree + SOURCE_ROOT + + C70D8946940288799E82131E + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + ofxSliderGroup.h + path + ../../../addons/ofxGui/src/ofxSliderGroup.h + sourceTree + SOURCE_ROOT + + B56FE57CC35806596D38118C + + fileRef + 802251BAF1B35B1D67B32FD0 + isa + PBXBuildFile + + 802251BAF1B35B1D67B32FD0 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + ofxSliderGroup.cpp + path + ../../../addons/ofxGui/src/ofxSliderGroup.cpp + sourceTree + SOURCE_ROOT + + 52AFA1F08C420992CAAAE648 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + ofxSlider.h + path + ../../../addons/ofxGui/src/ofxSlider.h + sourceTree + SOURCE_ROOT + + 837220E80EB56CD44AD27F2A + + fileRef + 15F2C6477A769C03A56D1401 + isa + PBXBuildFile + + 15F2C6477A769C03A56D1401 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + ofxSlider.cpp + path + ../../../addons/ofxGui/src/ofxSlider.cpp + sourceTree + SOURCE_ROOT + + 89449E3044D456F7DE7BEA14 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + ofxPanel.h + path + ../../../addons/ofxGui/src/ofxPanel.h + sourceTree + SOURCE_ROOT + + F285EB3169F1566CA3D93C20 + + fileRef + E112B3AEBEA2C091BF2B40AE + isa + PBXBuildFile + + E112B3AEBEA2C091BF2B40AE + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + ofxPanel.cpp + path + ../../../addons/ofxGui/src/ofxPanel.cpp + sourceTree + SOURCE_ROOT + + B87C60311EC1FE841C1ECD89 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + ofxLabel.h + path + ../../../addons/ofxGui/src/ofxLabel.h + sourceTree + SOURCE_ROOT + + 483908258D00B98B4BE69F07 + + fileRef + 78D67A00EB899FAC09430597 + isa + PBXBuildFile + + 78D67A00EB899FAC09430597 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + ofxLabel.cpp + path + ../../../addons/ofxGui/src/ofxLabel.cpp + sourceTree + SOURCE_ROOT + + AE68B54581BE4A1DAE853180 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + ofxInputField.h + path + ../../../addons/ofxGui/src/ofxInputField.h + sourceTree + SOURCE_ROOT + + 852E0891794923EE7583C621 + + fileRef + 44B351490B620D04E1E7C52D + isa + PBXBuildFile + + 44B351490B620D04E1E7C52D + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + ofxInputField.cpp + path + ../../../addons/ofxGui/src/ofxInputField.cpp + sourceTree + SOURCE_ROOT + + 1C0DA2561397A7DE0246858B + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + ofxGuiGroup.h + path + ../../../addons/ofxGui/src/ofxGuiGroup.h + sourceTree + SOURCE_ROOT + + B266578FC55D23BFEBC042E7 + + fileRef + ECF8674C7975F1063C5E30CA + isa + PBXBuildFile + + ECF8674C7975F1063C5E30CA + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + ofxGuiGroup.cpp + path + ../../../addons/ofxGui/src/ofxGuiGroup.cpp + sourceTree + SOURCE_ROOT + + 17E65988300FBD9AAA2CD0CA + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + ofxGui.h + path + ../../../addons/ofxGui/src/ofxGui.h + sourceTree + SOURCE_ROOT + + 489B196944B06ADC2A071076 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + ofxColorPicker.h + path + ../../../addons/ofxGui/src/ofxColorPicker.h + sourceTree + SOURCE_ROOT + + 853E0BA2F448076739446874 + + fileRef + 181D363B6DD54D1FA6309C43 + isa + PBXBuildFile + + 181D363B6DD54D1FA6309C43 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + ofxColorPicker.cpp + path + ../../../addons/ofxGui/src/ofxColorPicker.cpp + sourceTree + SOURCE_ROOT + + 2834D88A62CD23F3DE2C47D1 + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + ofxButton.h + path + ../../../addons/ofxGui/src/ofxButton.h + sourceTree + SOURCE_ROOT + + 5CBB2AB3A60F65431D7B555D + + fileRef + C88333E71C9457E441C33474 + isa + PBXBuildFile + + C88333E71C9457E441C33474 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + ofxButton.cpp + path + ../../../addons/ofxGui/src/ofxButton.cpp + sourceTree + SOURCE_ROOT + + 87F26B4B24CBD428AD9EEBAA + + explicitFileType + sourcecode.c.h + fileEncoding + 4 + isa + PBXFileReference + name + ofxBaseGui.h + path + ../../../addons/ofxGui/src/ofxBaseGui.h + sourceTree + SOURCE_ROOT + + A763ED608B35AE3310251DEE + + children + + 9604B925D32EE39065747725 + 87F26B4B24CBD428AD9EEBAA + C88333E71C9457E441C33474 + 2834D88A62CD23F3DE2C47D1 + 181D363B6DD54D1FA6309C43 + 489B196944B06ADC2A071076 + 17E65988300FBD9AAA2CD0CA + ECF8674C7975F1063C5E30CA + 1C0DA2561397A7DE0246858B + 44B351490B620D04E1E7C52D + AE68B54581BE4A1DAE853180 + 78D67A00EB899FAC09430597 + B87C60311EC1FE841C1ECD89 + E112B3AEBEA2C091BF2B40AE + 89449E3044D456F7DE7BEA14 + 15F2C6477A769C03A56D1401 + 52AFA1F08C420992CAAAE648 + 802251BAF1B35B1D67B32FD0 + C70D8946940288799E82131E + 907C5B5E104864A2D3A25745 + 0A1DAC09F322AE313A40706D + + isa + PBXGroup + name + src + sourceTree + <group> + + 480A780D8D0308AE4A368801 + + children + + A763ED608B35AE3310251DEE + + isa + PBXGroup + name + ofxGui + sourceTree + <group> + + 856AA354D08AB4B323081444 + + fileRef + 9604B925D32EE39065747725 + isa + PBXBuildFile + + 9604B925D32EE39065747725 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + ofxBaseGui.cpp + path + ../../../addons/ofxGui/src/ofxBaseGui.cpp + sourceTree + SOURCE_ROOT + + 6948EE371B920CB800B5AC1A + + children + + isa + PBXGroup + name + local_addons + sourceTree + <group> + + 8466F1851C04CA0E00918B1C + + buildActionMask + 12 + files + + inputPaths + + isa + PBXShellScriptBuildPhase + outputPaths + + runOnlyForDeploymentPostprocessing + 0 + shellPath + /bin/sh + shellScript + echo "$GCC_PREPROCESSOR_DEFINITIONS"; +APPSTORE=`expr "$GCC_PREPROCESSOR_DEFINITIONS" : ".*APPSTORE=\([0-9]*\)"` +if [ -z "$APPSTORE" ] ; then +echo "Note: Not copying bin/data to App Package or doing App Code signing. Use AppStore target for AppStore distribution"; +else +# Copy bin/data into App/Resources +rsync -avz --exclude='.DS_Store' "${SRCROOT}/bin/data/" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/data/" + +# ---- Code Sign App Package ---- + +# WARNING: You may have to run Clean in Xcode after changing CODE_SIGN_IDENTITY! + +# Verify that $CODE_SIGN_IDENTITY is set +if [ -z "${CODE_SIGN_IDENTITY}" ] ; then +echo "CODE_SIGN_IDENTITY needs to be set for framework code-signing" +exit 0 +fi + +if [ -z "${CODE_SIGN_ENTITLEMENTS}" ] ; then +echo "CODE_SIGN_ENTITLEMENTS needs to be set for framework code-signing!" + +if [ "${CONFIGURATION}" = "Release" ] ; then +exit 1 +else +# Code-signing is optional for non-release builds. +exit 0 +fi +fi + +ITEMS="" + +FRAMEWORKS_DIR="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" +echo "$FRAMEWORKS_DIR" +if [ -d "$FRAMEWORKS_DIR" ] ; then +FRAMEWORKS=$(find "${FRAMEWORKS_DIR}" -depth -type d -name "*.framework" -or -name "*.dylib" -or -name "*.bundle" | sed -e "s/\(.*framework\)/\1\/Versions\/A\//") +RESULT=$? +if [[ $RESULT != 0 ]] ; then +exit 1 +fi + +ITEMS="${FRAMEWORKS}" +fi + +LOGINITEMS_DIR="${TARGET_BUILD_DIR}/${CONTENTS_FOLDER_PATH}/Library/LoginItems/" +if [ -d "$LOGINITEMS_DIR" ] ; then +LOGINITEMS=$(find "${LOGINITEMS_DIR}" -depth -type d -name "*.app") +RESULT=$? +if [[ $RESULT != 0 ]] ; then +exit 1 +fi + +ITEMS="${ITEMS}"$'\n'"${LOGINITEMS}" +fi + +# Prefer the expanded name, if available. +CODE_SIGN_IDENTITY_FOR_ITEMS="${EXPANDED_CODE_SIGN_IDENTITY_NAME}" +if [ "${CODE_SIGN_IDENTITY_FOR_ITEMS}" = "" ] ; then +# Fall back to old behavior. +CODE_SIGN_IDENTITY_FOR_ITEMS="${CODE_SIGN_IDENTITY}" +fi + +echo "Identity:" +echo "${CODE_SIGN_IDENTITY_FOR_ITEMS}" + +echo "Entitlements:" +echo "${CODE_SIGN_ENTITLEMENTS}" + +echo "Found:" +echo "${ITEMS}" + +# Change the Internal Field Separator (IFS) so that spaces in paths will not cause problems below. +SAVED_IFS=$IFS +IFS=$(echo -en "\n\b") + +# Loop through all items. +for ITEM in $ITEMS; +do +echo "Signing '${ITEM}'" +codesign --force --verbose --sign "${CODE_SIGN_IDENTITY_FOR_ITEMS}" --entitlements "${CODE_SIGN_ENTITLEMENTS}" "${ITEM}" +RESULT=$? +if [[ $RESULT != 0 ]] ; then +echo "Failed to sign '${ITEM}'." +IFS=$SAVED_IFS +exit 1 +fi +done + +# Restore $IFS. +IFS=$SAVED_IFS + +fi + + + 99FA3DBB1C7456C400CFA0EE + + baseConfigurationReference + E4EB6923138AFD0F00A09F29 + buildSettings + + HEADER_SEARCH_PATHS + + $(OF_CORE_HEADERS) + src + ../../../addons/ofxGui/src + ../../../addons/ofxPiMapper/src + ../../../addons/ofxPiMapper/src/Application + ../../../addons/ofxPiMapper/src/Application/Modes + ../../../addons/ofxPiMapper/src/Commands + ../../../addons/ofxPiMapper/src/Gui + ../../../addons/ofxPiMapper/src/Gui/Widgets + ../../../addons/ofxPiMapper/src/Info + ../../../addons/ofxPiMapper/src/MediaServer + ../../../addons/ofxPiMapper/src/Sources + ../../../addons/ofxPiMapper/src/Surfaces + ../../../addons/ofxPiMapper/src/Types + ../../../addons/ofxPiMapper/src/UserInterface + ../../../addons/ofxPiMapper/src/Utils + ../../../addons/ofxXmlSettings/libs + ../../../addons/ofxXmlSettings/src + + 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_PREPROCESSOR_DEFINITIONS[arch=*] + DISTRIBUTION=1 + 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 + MACOSX_DEPLOYMENT_TARGET + 10.9 + OTHER_CPLUSPLUSFLAGS + + -D__MACOSX_CORE__ + -mtune=native + + SDKROOT + macosx + + isa + XCBuildConfiguration + name + AppStore + + 99FA3DBC1C7456C400CFA0EE + + baseConfigurationReference + E4EB6923138AFD0F00A09F29 + buildSettings + + HEADER_SEARCH_PATHS + + $(OF_CORE_HEADERS) + src + ../../../addons/ofxGui/src + ../../../addons/ofxPiMapper/src + ../../../addons/ofxPiMapper/src/Application + ../../../addons/ofxPiMapper/src/Application/Modes + ../../../addons/ofxPiMapper/src/Commands + ../../../addons/ofxPiMapper/src/Gui + ../../../addons/ofxPiMapper/src/Gui/Widgets + ../../../addons/ofxPiMapper/src/Info + ../../../addons/ofxPiMapper/src/MediaServer + ../../../addons/ofxPiMapper/src/Sources + ../../../addons/ofxPiMapper/src/Surfaces + ../../../addons/ofxPiMapper/src/Types + ../../../addons/ofxPiMapper/src/UserInterface + ../../../addons/ofxPiMapper/src/Utils + ../../../addons/ofxXmlSettings/libs + ../../../addons/ofxXmlSettings/src + + COMBINE_HIDPI_IMAGES + YES + COPY_PHASE_STRIP + YES + FRAMEWORK_SEARCH_PATHS + $(inherited) + GCC_GENERATE_DEBUGGING_SYMBOLS + YES + GCC_MODEL_TUNING + NONE + GCC_PREPROCESSOR_DEFINITIONS[arch=*] + APPSTORE=1 + ICON + $(ICON_NAME_RELEASE) + ICON_FILE + $(ICON_FILE_PATH)$(ICON) + INFOPLIST_FILE + openFrameworks-Info.plist + INSTALL_PATH + /Applications + LIBRARY_SEARCH_PATHS + $(inherited) + PRODUCT_NAME + $(TARGET_NAME) + WRAPPER_EXTENSION + app + baseConfigurationReference + E4EB6923138AFD0F00A09F29 + + isa + XCBuildConfiguration + name + AppStore + + BB4B014C10F69532006C3DED + + children + + 480A780D8D0308AE4A368801 + 7CC2E9C572434BA3ED1C8079 + 1F4FB5C423662B96ADFDCC0B + + isa + PBXGroup + name + addons + sourceTree + <group> + + E4328143138ABC890047C5CB + + isa + PBXFileReference + lastKnownFileType + wrapper.pb-project + name + openFrameworksLib.xcodeproj + path + ../../../libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj + sourceTree + SOURCE_ROOT + + E4328144138ABC890047C5CB + + children + + E4328148138ABC890047C5CB + + isa + PBXGroup + name + Products + sourceTree + <group> + + E4328147138ABC890047C5CB + + containerPortal + E4328143138ABC890047C5CB + isa + PBXContainerItemProxy + proxyType + 2 + remoteGlobalIDString + E4B27C1510CBEB8E00536013 + remoteInfo + openFrameworks + + E4328148138ABC890047C5CB + + fileType + archive.ar + isa + PBXReferenceProxy + path + openFrameworksDebug.a + remoteRef + E4328147138ABC890047C5CB + sourceTree + BUILT_PRODUCTS_DIR + + E4328149138ABC9F0047C5CB + + fileRef + E4328148138ABC890047C5CB + isa + PBXBuildFile + + E4B69B4A0A3A1720003C02F2 + + children + + E4B6FCAD0C3E899E008CF71C + E4EB6923138AFD0F00A09F29 + E4B69E1C0A3A1BDC003C02F2 + E4EEC9E9138DF44700A80321 + BB4B014C10F69532006C3DED + 6948EE371B920CB800B5AC1A + E4B69B5B0A3A1756003C02F2 + + isa + PBXGroup + sourceTree + <group> + + E4B69B4C0A3A1720003C02F2 + + attributes + + LastUpgradeCheck + 0600 + + buildConfigurationList + E4B69B4D0A3A1720003C02F2 + compatibilityVersion + Xcode 3.2 + developmentRegion + English + hasScannedForEncodings + 0 + isa + PBXProject + knownRegions + + English + Japanese + French + German + + mainGroup + E4B69B4A0A3A1720003C02F2 + productRefGroup + E4B69B4A0A3A1720003C02F2 + projectDirPath + + projectReferences + + + ProductGroup + E4328144138ABC890047C5CB + ProjectRef + E4328143138ABC890047C5CB + + + projectRoot + + targets + + E4B69B5A0A3A1756003C02F2 + + + E4B69B4D0A3A1720003C02F2 + + buildConfigurations + + E4B69B4E0A3A1720003C02F2 + E4B69B4F0A3A1720003C02F2 + 99FA3DBB1C7456C400CFA0EE + + defaultConfigurationIsVisible + 0 + defaultConfigurationName + Release + isa + XCConfigurationList + + E4B69B4E0A3A1720003C02F2 + + baseConfigurationReference + E4EB6923138AFD0F00A09F29 + buildSettings + + HEADER_SEARCH_PATHS + + $(OF_CORE_HEADERS) + src + ../../../addons/ofxGui/src + ../../../addons/ofxPiMapper/src + ../../../addons/ofxPiMapper/src/Application + ../../../addons/ofxPiMapper/src/Application/Modes + ../../../addons/ofxPiMapper/src/Commands + ../../../addons/ofxPiMapper/src/Gui + ../../../addons/ofxPiMapper/src/Gui/Widgets + ../../../addons/ofxPiMapper/src/Info + ../../../addons/ofxPiMapper/src/MediaServer + ../../../addons/ofxPiMapper/src/Sources + ../../../addons/ofxPiMapper/src/Surfaces + ../../../addons/ofxPiMapper/src/Types + ../../../addons/ofxPiMapper/src/UserInterface + ../../../addons/ofxPiMapper/src/Utils + ../../../addons/ofxXmlSettings/libs + ../../../addons/ofxXmlSettings/src + + 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 + MACOSX_DEPLOYMENT_TARGET + 10.9 + ONLY_ACTIVE_ARCH + YES + OTHER_CPLUSPLUSFLAGS + + -D__MACOSX_CORE__ + -mtune=native + + SDKROOT + macosx + + isa + XCBuildConfiguration + name + Debug + + E4B69B4F0A3A1720003C02F2 + + baseConfigurationReference + E4EB6923138AFD0F00A09F29 + buildSettings + + HEADER_SEARCH_PATHS + + $(OF_CORE_HEADERS) + src + ../../../addons/ofxGui/src + ../../../addons/ofxPiMapper/src + ../../../addons/ofxPiMapper/src/Application + ../../../addons/ofxPiMapper/src/Application/Modes + ../../../addons/ofxPiMapper/src/Commands + ../../../addons/ofxPiMapper/src/Gui + ../../../addons/ofxPiMapper/src/Gui/Widgets + ../../../addons/ofxPiMapper/src/Info + ../../../addons/ofxPiMapper/src/MediaServer + ../../../addons/ofxPiMapper/src/Sources + ../../../addons/ofxPiMapper/src/Surfaces + ../../../addons/ofxPiMapper/src/Types + ../../../addons/ofxPiMapper/src/UserInterface + ../../../addons/ofxPiMapper/src/Utils + ../../../addons/ofxXmlSettings/libs + ../../../addons/ofxXmlSettings/src + + 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 + MACOSX_DEPLOYMENT_TARGET + 10.9 + OTHER_CPLUSPLUSFLAGS + + -D__MACOSX_CORE__ + -mtune=native + + SDKROOT + macosx + + isa + XCBuildConfiguration + name + Release + + E4B69B580A3A1756003C02F2 + + buildActionMask + 2147483647 + files + + E4B69E200A3A1BDC003C02F2 + E4B69E210A3A1BDC003C02F2 + 856AA354D08AB4B323081444 + 5CBB2AB3A60F65431D7B555D + 853E0BA2F448076739446874 + B266578FC55D23BFEBC042E7 + 852E0891794923EE7583C621 + 483908258D00B98B4BE69F07 + F285EB3169F1566CA3D93C20 + 837220E80EB56CD44AD27F2A + B56FE57CC35806596D38118C + 1CD33E884D9E3358252E82A1 + 401140F3B7FA4412935BB121 + C4D6DA9B890E612343FD059F + 4A53BFBA57F4AD16FB9D2D24 + 42AB7CD7DFB89209AB951942 + AA98F23DF9897F2241EF3968 + 21B18AC78EBFC1FD28C614D5 + 2E9E05C9FFCE15172A701335 + 580602DA874A9CF9E850DEEE + D88BA6D139757ED4E1669796 + B1EEE5A7EC1876072BF8F7FE + F9A6B58165791682416A1685 + 93760FE8B10EBD4081251E10 + C8D7FA44AA0565654A681157 + 973F560586CB3735581265E7 + D61A46C1800537BA43C7884F + 8CA6C92E3D4F91750BC469FF + A75658250711ADE2C05FC781 + C34B66987F4DA38C21AF325B + 6056983B92E88B475FF04299 + 845DC872C79A75F7B5FABC02 + 25F5CD753AF35B53464E56AE + 82643E358DF270B9EC939699 + 5826FF4F63DC430E90AFDA5E + B01F972DDDA5F21EF4C8B99D + 36A98A331EAE1D0A19998A59 + E327ACE85A208BAFACD1B7C7 + 67FF225B68ECC1942C833BFE + 60C8089351E49CF344577098 + E6D82F5A7B22E9FB46DEEF15 + 7DAB7D546F81A93336034BF7 + 800748EF057A284D9DA82F60 + B9654D0EF43BCA228B330ED7 + E5D631612E039E04B1736E76 + 14566DCD28D35A80428886C4 + 7002E598586957E5F20E69A7 + 90DE06EA59944C1BEA539719 + 4BF21A290FA6FE26B87B8971 + 84172554824F6959BA431E33 + 6500BFD07CA93EFD8A162B25 + A6EE8D8F3CA590EF6D7FAFA6 + 06765053D7BFBBEB43E77B23 + 6438655B2AE4DDA2743241EC + 23963D6D8F0085D5DD2DF394 + 28F5415281F8D09BBC098355 + EA700B09626C8413C92EF860 + 8E8F94DC506856A4E92FBA8A + 274AEF0299D77E27C0C5B205 + F06AE014F869282B7F7CE84C + FB03F0A6D7866DFC55F519EB + 8A3D6CE0A4338871766366B6 + 4D2D4455339FC8C955091C88 + 9CAA3B0DFD59840998C832DA + F3EACD31EE5E141FF66C48BD + DB8FC60C7512DB810C92625B + 92527EF632E7EC0E96BC329C + 3B90107DB9BF4857E357FCA8 + 892923A127FC7C57469FD078 + 7702233BBFB6E8D9E8B93CBC + 95CB0A22296B3DB402835DCF + D2B8EB6B80117D2235CD85FE + DBD3C91431A9ACF2F980B702 + 2375406EEFFBF32FC848BCF0 + 582BDA35793B6C5F719AFFB6 + 588E33B9B0BD6F5A2E4DF31D + A0C1CAB7B9C59DDDC960EB62 + 9F968AD3A115328F4BFE5D71 + D0758B5E19E04C33E9BF7193 + 63DB0907B2ACDF9E6F2D9925 + 9C194C9F4ACD67CD61FBD30D + 2A9AFA74E0EF07E58AC11382 + B27F2ADC894A4C463E892AFE + 85649EB44DE8F0A3BF8430F9 + C3A616FB3A463C17E327F395 + C0EB2D2E383BA9DE417ADB38 + 5FB2E2349349B93011671206 + 2E088EDC6E32D190998D8241 + 868F230C6074263277ED9B07 + 42BCE929D520D8872171239A + 1F4453EA1589AD79F4B34493 + 83CACB24937919003F2F9B63 + 63B57AC5BF4EF088491E0317 + 933A2227713C720CEFF80FD9 + 9D44DC88EF9E7991B4A09951 + 5A4349E9754D6FA14C0F2A3A + + isa + PBXSourcesBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + E4B69B590A3A1756003C02F2 + + buildActionMask + 2147483647 + files + + E4328149138ABC9F0047C5CB + + isa + PBXFrameworksBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + E4B69B5A0A3A1756003C02F2 + + buildConfigurationList + E4B69B5F0A3A1757003C02F2 + buildPhases + + E4B69B580A3A1756003C02F2 + E4B69B590A3A1756003C02F2 + E4B6FFFD0C3F9AB9008CF71C + E4C2427710CC5ABF004149E2 + 8466F1851C04CA0E00918B1C + + buildRules + + dependencies + + E4EEB9AC138B136A00A80321 + + isa + PBXNativeTarget + name + example_pocketvj + productName + myOFApp + productReference + E4B69B5B0A3A1756003C02F2 + productType + com.apple.product-type.application + + E4B69B5B0A3A1756003C02F2 + + explicitFileType + wrapper.application + includeInIndex + 0 + isa + PBXFileReference + path + example_pocketvjDebug.app + sourceTree + BUILT_PRODUCTS_DIR + + E4B69B5F0A3A1757003C02F2 + + buildConfigurations + + E4B69B600A3A1757003C02F2 + E4B69B610A3A1757003C02F2 + 99FA3DBC1C7456C400CFA0EE + + defaultConfigurationIsVisible + 0 + defaultConfigurationName + Release + isa + XCConfigurationList + + E4B69B600A3A1757003C02F2 + + baseConfigurationReference + E4EB6923138AFD0F00A09F29 + buildSettings + + HEADER_SEARCH_PATHS + + $(OF_CORE_HEADERS) + src + ../../../addons/ofxGui/src + ../../../addons/ofxPiMapper/src + ../../../addons/ofxPiMapper/src/Application + ../../../addons/ofxPiMapper/src/Application/Modes + ../../../addons/ofxPiMapper/src/Commands + ../../../addons/ofxPiMapper/src/Gui + ../../../addons/ofxPiMapper/src/Gui/Widgets + ../../../addons/ofxPiMapper/src/Info + ../../../addons/ofxPiMapper/src/MediaServer + ../../../addons/ofxPiMapper/src/Sources + ../../../addons/ofxPiMapper/src/Surfaces + ../../../addons/ofxPiMapper/src/Types + ../../../addons/ofxPiMapper/src/UserInterface + ../../../addons/ofxPiMapper/src/Utils + ../../../addons/ofxXmlSettings/libs + ../../../addons/ofxXmlSettings/src + + COMBINE_HIDPI_IMAGES + YES + COPY_PHASE_STRIP + NO + FRAMEWORK_SEARCH_PATHS + $(inherited) + GCC_DYNAMIC_NO_PIC + NO + GCC_GENERATE_DEBUGGING_SYMBOLS + YES + GCC_MODEL_TUNING + NONE + ICON + $(ICON_NAME_DEBUG) + ICON_FILE + $(ICON_FILE_PATH)$(ICON) + INFOPLIST_FILE + openFrameworks-Info.plist + INSTALL_PATH + /Applications + LIBRARY_SEARCH_PATHS + $(inherited) + PRODUCT_NAME + $(TARGET_NAME)Debug + WRAPPER_EXTENSION + app + + isa + XCBuildConfiguration + name + Debug + + E4B69B610A3A1757003C02F2 + + baseConfigurationReference + E4EB6923138AFD0F00A09F29 + buildSettings + + HEADER_SEARCH_PATHS + + $(OF_CORE_HEADERS) + src + ../../../addons/ofxGui/src + ../../../addons/ofxPiMapper/src + ../../../addons/ofxPiMapper/src/Application + ../../../addons/ofxPiMapper/src/Application/Modes + ../../../addons/ofxPiMapper/src/Commands + ../../../addons/ofxPiMapper/src/Gui + ../../../addons/ofxPiMapper/src/Gui/Widgets + ../../../addons/ofxPiMapper/src/Info + ../../../addons/ofxPiMapper/src/MediaServer + ../../../addons/ofxPiMapper/src/Sources + ../../../addons/ofxPiMapper/src/Surfaces + ../../../addons/ofxPiMapper/src/Types + ../../../addons/ofxPiMapper/src/UserInterface + ../../../addons/ofxPiMapper/src/Utils + ../../../addons/ofxXmlSettings/libs + ../../../addons/ofxXmlSettings/src + + COMBINE_HIDPI_IMAGES + YES + COPY_PHASE_STRIP + YES + FRAMEWORK_SEARCH_PATHS + $(inherited) + GCC_GENERATE_DEBUGGING_SYMBOLS + YES + GCC_MODEL_TUNING + NONE + ICON + $(ICON_NAME_RELEASE) + ICON_FILE + $(ICON_FILE_PATH)$(ICON) + INFOPLIST_FILE + openFrameworks-Info.plist + INSTALL_PATH + /Applications + LIBRARY_SEARCH_PATHS + $(inherited) + PRODUCT_NAME + $(TARGET_NAME) + WRAPPER_EXTENSION + app + baseConfigurationReference + E4EB6923138AFD0F00A09F29 + + isa + XCBuildConfiguration + name + Release + + E4B69E1C0A3A1BDC003C02F2 + + children + + E4B69E1D0A3A1BDC003C02F2 + E4B69E1E0A3A1BDC003C02F2 + E4B69E1F0A3A1BDC003C02F2 + + isa + PBXGroup + path + src + sourceTree + SOURCE_ROOT + + E4B69E1D0A3A1BDC003C02F2 + + fileEncoding + 4 + isa + PBXFileReference + lastKnownFileType + sourcecode.cpp.cpp + name + main.cpp + path + src/main.cpp + sourceTree + SOURCE_ROOT + + E4B69E1E0A3A1BDC003C02F2 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 4 + isa + PBXFileReference + name + ofApp.cpp + path + src/ofApp.cpp + sourceTree + SOURCE_ROOT + + E4B69E1F0A3A1BDC003C02F2 + + fileEncoding + 4 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + ofApp.h + path + src/ofApp.h + sourceTree + SOURCE_ROOT + + E4B69E200A3A1BDC003C02F2 + + fileRef + E4B69E1D0A3A1BDC003C02F2 + isa + PBXBuildFile + + E4B69E210A3A1BDC003C02F2 + + fileRef + E4B69E1E0A3A1BDC003C02F2 + isa + PBXBuildFile + + E4B6FCAD0C3E899E008CF71C + + fileEncoding + 4 + isa + PBXFileReference + lastKnownFileType + text.plist.xml + path + openFrameworks-Info.plist + sourceTree + <group> + + E4B6FFFD0C3F9AB9008CF71C + + buildActionMask + 2147483647 + files + + inputPaths + + isa + PBXShellScriptBuildPhase + outputPaths + + runOnlyForDeploymentPostprocessing + 0 + shellPath + /bin/sh + shellScript + mkdir -p "$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/" +# Copy default icon file into App/Resources +rsync -aved "$ICON_FILE" "$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/" +# Copy libfmod and change install directory for fmod to run +rsync -aved "$OF_PATH/libs/fmodex/lib/osx/libfmodex.dylib" "$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Frameworks/"; +install_name_tool -change @executable_path/libfmodex.dylib @executable_path/../Frameworks/libfmodex.dylib "$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME"; + +echo "$GCC_PREPROCESSOR_DEFINITIONS"; + + + E4C2427710CC5ABF004149E2 + + buildActionMask + 2147483647 + dstPath + + dstSubfolderSpec + 10 + files + + isa + PBXCopyFilesBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + E4EB691F138AFCF100A09F29 + + fileEncoding + 4 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + name + CoreOF.xcconfig + path + ../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig + sourceTree + SOURCE_ROOT + + E4EB6923138AFD0F00A09F29 + + fileEncoding + 4 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + Project.xcconfig + sourceTree + <group> + + E4EEB9AB138B136A00A80321 + + containerPortal + E4328143138ABC890047C5CB + isa + PBXContainerItemProxy + proxyType + 1 + remoteGlobalIDString + E4B27C1410CBEB8E00536013 + remoteInfo + openFrameworks + + E4EEB9AC138B136A00A80321 + + isa + PBXTargetDependency + name + openFrameworks + targetProxy + E4EEB9AB138B136A00A80321 + + E4EEC9E9138DF44700A80321 + + children + + E4EB691F138AFCF100A09F29 + E4328143138ABC890047C5CB + + isa + PBXGroup + name + openFrameworks + sourceTree + <group> + + + rootObject + E4B69B4C0A3A1720003C02F2 + + diff --git a/example_shortcuts/example_shortcuts.xcodeproj/xcshareddata/xcschemes/example_shortcuts Debug.xcscheme b/example_pocketvj/example_pocketvj.xcodeproj/xcshareddata/xcschemes/example_pocketvj Debug.xcscheme similarity index 68% rename from example_shortcuts/example_shortcuts.xcodeproj/xcshareddata/xcschemes/example_shortcuts Debug.xcscheme rename to example_pocketvj/example_pocketvj.xcodeproj/xcshareddata/xcschemes/example_pocketvj Debug.xcscheme index 6e42bda..1fd4166 100644 --- a/example_shortcuts/example_shortcuts.xcodeproj/xcshareddata/xcschemes/example_shortcuts Debug.xcscheme +++ b/example_pocketvj/example_pocketvj.xcodeproj/xcshareddata/xcschemes/example_pocketvj Debug.xcscheme @@ -1,6 +1,6 @@ + BuildableName = "example_pocketvj.app" + BlueprintName = "example_pocketvj" + ReferencedContainer = "container:example_pocketvj.xcodeproj"> + shouldUseLaunchSchemeArgsEnv = "YES" + buildConfiguration = "Debug"> + BuildableName = "example_pocketvj.app" + BlueprintName = "example_pocketvj" + ReferencedContainer = "container:example_pocketvj.xcodeproj"> - - - + + BuildableName = "example_pocketvj.app" + BlueprintName = "example_pocketvj" + ReferencedContainer = "container:example_pocketvj.xcodeproj"> - + + BuildableName = "example_pocketvj.app" + BlueprintName = "example_pocketvj" + ReferencedContainer = "container:example_pocketvj.xcodeproj"> diff --git a/example_shortcuts/example_shortcuts.xcodeproj/xcshareddata/xcschemes/example_shortcuts Release.xcscheme b/example_pocketvj/example_pocketvj.xcodeproj/xcshareddata/xcschemes/example_pocketvj Release.xcscheme similarity index 68% rename from example_shortcuts/example_shortcuts.xcodeproj/xcshareddata/xcschemes/example_shortcuts Release.xcscheme rename to example_pocketvj/example_pocketvj.xcodeproj/xcshareddata/xcschemes/example_pocketvj Release.xcscheme index dca5bb7..f166528 100644 --- a/example_shortcuts/example_shortcuts.xcodeproj/xcshareddata/xcschemes/example_shortcuts Release.xcscheme +++ b/example_pocketvj/example_pocketvj.xcodeproj/xcshareddata/xcschemes/example_pocketvj Release.xcscheme @@ -1,6 +1,6 @@ + BuildableName = "example_pocketvj.app" + BlueprintName = "example_pocketvj" + ReferencedContainer = "container:example_pocketvj.xcodeproj"> + shouldUseLaunchSchemeArgsEnv = "YES" + buildConfiguration = "Release"> + BuildableName = "example_pocketvj.app" + BlueprintName = "example_pocketvj" + ReferencedContainer = "container:example_pocketvj.xcodeproj"> - - - + + BuildableName = "example_pocketvj.app" + BlueprintName = "example_pocketvj" + ReferencedContainer = "container:example_pocketvj.xcodeproj"> - + + BuildableName = "example_pocketvj.app" + BlueprintName = "example_pocketvj" + ReferencedContainer = "container:example_pocketvj.xcodeproj"> diff --git a/example_shortcuts/openFrameworks-Info.plist b/example_pocketvj/openFrameworks-Info.plist similarity index 100% rename from example_shortcuts/openFrameworks-Info.plist rename to example_pocketvj/openFrameworks-Info.plist index 60abaf8..8d64d2b 100644 --- a/example_shortcuts/openFrameworks-Info.plist +++ b/example_pocketvj/openFrameworks-Info.plist @@ -6,8 +6,6 @@ English CFBundleExecutable ${EXECUTABLE_NAME} - CFBundleIconFile - ${ICON} CFBundleIdentifier cc.openFrameworks.ofapp CFBundleInfoDictionaryVersion @@ -18,5 +16,7 @@ ???? CFBundleVersion 1.0 + CFBundleIconFile + ${ICON} diff --git a/example_shortcuts/src/main.cpp b/example_pocketvj/src/main.cpp similarity index 100% rename from example_shortcuts/src/main.cpp rename to example_pocketvj/src/main.cpp diff --git a/example_shortcuts/src/ofApp.cpp b/example_pocketvj/src/ofApp.cpp similarity index 53% rename from example_shortcuts/src/ofApp.cpp rename to example_pocketvj/src/ofApp.cpp index 6d3155e..d9644c8 100644 --- a/example_shortcuts/src/ofApp.cpp +++ b/example_pocketvj/src/ofApp.cpp @@ -3,6 +3,14 @@ void ofApp::setup(){ ofBackground(0); mapper.setup(); + + // Set different info text for PocketVJ + std::string multilineInfoText = + "Custom ofxPiMapper shortcuts\n\n" + "Good day user.\n" + "Shortcuts have been customized.\n" + "Please make sure to provide your own documentation."; + mapper.setInfoText(multilineInfoText); } void ofApp::update(){ @@ -17,72 +25,86 @@ void ofApp::keyPressed(int key){ if(key == '1'){ mapper.setMode(ofx::piMapper::PRESENTATION_MODE); }else if(key == '2'){ - mapper.setMode(ofx::piMapper::MAPPING_MODE); - }else if(key == '3'){ mapper.setMode(ofx::piMapper::TEXTURE_MODE); + }else if(key == '3'){ + mapper.setMode(ofx::piMapper::MAPPING_MODE); }else if(key == '4'){ mapper.setMode(ofx::piMapper::SOURCE_MODE); - }else if(key == 'w'){ + }else if(key == 'c'){ + mapper.toggleInfo(); + }else if(key == 't'){ + mapper.createSurface(ofx::piMapper::TRIANGLE_SURFACE); + }else if(key == 'q'){ mapper.createSurface(ofx::piMapper::QUAD_SURFACE); - }else if(key == 'e'){ - mapper.createSurface(ofx::piMapper::HEXAGON_SURFACE); }else if(key == 'r'){ + mapper.createSurface(ofx::piMapper::CIRCLE_SURFACE); + }else if(key == 'x'){ + mapper.createSurface(ofx::piMapper::HEXAGON_SURFACE); + }else if(key == 'g'){ mapper.createSurface(ofx::piMapper::GRID_WARP_SURFACE); - }else if(key == 't'){ - mapper.createSurface(ofx::piMapper::TRIANGLE_SURFACE); - }else if(key == OF_KEY_BACKSPACE){ - mapper.eraseSurface(mapper.getNumSurfaces() - 1); - }else if(key == OF_KEY_LEFT){ - mapper.moveSelection(ofVec2f(-20.0f, 0.0f)); - }else if(key == OF_KEY_RIGHT){ - mapper.moveSelection(ofVec2f(20.0f, 0.0f)); - }else if(key == OF_KEY_UP){ - mapper.moveSelection(ofVec2f(0.0f, -20.0f)); - }else if(key == OF_KEY_DOWN){ - mapper.moveSelection(ofVec2f(0.0f, 20.0f)); - }else if(key == 'k'){ + }else if(key == 'a'){ + mapper.duplicateSurface(); + }else if(key == 'o'){ + mapper.scaleUp(); + }else if(key == 'i'){ + mapper.scaleDown(); + }else if(key == 'p'){ + mapper.togglePerspective(); + }else if(key == 'v'){ + mapper.addGridColumn(); + }else if(key == 'b'){ + mapper.removeGridColumn(); + }else if(key == 'n'){ + mapper.addGridRow(); + }else if(key == 'm'){ + mapper.removeGridRow(); + }else if(key == '.'){ mapper.selectNextSurface(); - }else if(key == 'j'){ + }else if(key == ','){ mapper.selectPrevSurface(); - }else if(key == 'v'){ - mapper.setNextSource(); - }else if(key == 'd'){ - mapper.duplicateSurface(); + }else if(key == 'k'){ + mapper.selectNextVertex(); }else if(key == 'l'){ - if(mapper.getMode() == ofx::piMapper::Mode::MAPPING_MODE){ - mapper.selectNextVertex(); - }else if(mapper.getMode() == ofx::piMapper::Mode::TEXTURE_MODE){ - mapper.selectNextTexCoord(); - } + mapper.selectPrevVertex(); }else if(key == 'h'){ - if(mapper.getMode() == ofx::piMapper::Mode::MAPPING_MODE){ - mapper.selectPrevVertex(); - }else if(mapper.getMode() == ofx::piMapper::Mode::TEXTURE_MODE){ - mapper.selectPrevTexCoord(); - } - }else if(key == 'i'){ mapper.moveLayerUp(); - }else if(key == 'u'){ + }else if(key == 'j'){ mapper.moveLayerDown(); - }else if(key == 'p'){ - mapper.togglePerspective(); - }else if(key == '+'){ - mapper.scaleUp(); - }else if(key == '-'){ - mapper.scaleDown(); - }else if(key == '\\'){ + }else if(key == 's'){ + mapper.saveProject(); + }else if(key == 'y'){ + mapper.toggleLayerPanel(); + }else if(key == 'z'){ + mapper.undo(); + }else if(key == 'd'){ + mapper.eraseSurface(mapper.getSelectedSurface()); + }else if(key == 'w'){ mapper.togglePause(); - }else if(key == 'n'){ - string multilineInfoText = - "Custom ofxPiMapper shortcuts\n\n" - "Good day user.\n" - "Shortcuts have been customized.\n" - "Please make sure to provide your own documentation."; - mapper.setInfoText(multilineInfoText); - mapper.toggleInfo(); - }else{ - mapper.keyPressed(key); + }else if(key == '5'){ + mapper.setNextSource(); + }else if(key == '8'){ + mapper.moveSelection(ofx::piMapper::Vec3(0.0f, -1.0f, 0.0f)); + }else if(key == '9'){ + mapper.moveSelection(ofx::piMapper::Vec3(0.0f, 1.0f, 0.0f)); + }else if(key == '7'){ + mapper.moveSelection(ofx::piMapper::Vec3(-1.0f, 0.0f, 0.0f)); + }else if(key == '0'){ + mapper.moveSelection(ofx::piMapper::Vec3(1.0f, 0.0f, 0.0f)); + }else if(key == '/'){ + bool shiftIsDown = mapper.toggleShift(); + if(shiftIsDown){ + ofLogNotice("ofApp") << "Shift key is down"; + }else{ + ofLogNotice("ofApp") << "Shift key is up"; + } } + + /* For these one has to figure out her own ways. + * rbt Reboot (Raspberry Pi only) + * sdn Shutdown (Raspberry Pi only) + * new Clear composition (remove all surfaces) + * ext Exit application and return to command line + */ } void ofApp::keyReleased(int key){ diff --git a/example_shortcuts/src/ofApp.h b/example_pocketvj/src/ofApp.h similarity index 95% rename from example_shortcuts/src/ofApp.h rename to example_pocketvj/src/ofApp.h index be34c76..63be198 100644 --- a/example_shortcuts/src/ofApp.h +++ b/example_pocketvj/src/ofApp.h @@ -2,6 +2,7 @@ #include "ofMain.h" #include "ofxPiMapper.h" +#include "Vec3.h" class ofApp : public ofBaseApp { public: diff --git a/example_shortcuts/example_shortcuts.xcodeproj/project.pbxproj b/example_shortcuts/example_shortcuts.xcodeproj/project.pbxproj deleted file mode 100644 index 464f199..0000000 --- a/example_shortcuts/example_shortcuts.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1273 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 013E61FF1E2E2FAE00FACF28 /* Application.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E615B1E2E2FAE00FACF28 /* Application.cpp */; }; - 013E62001E2E2FAE00FACF28 /* ApplicationBaseMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E615E1E2E2FAE00FACF28 /* ApplicationBaseMode.cpp */; }; - 013E62011E2E2FAE00FACF28 /* PresentationMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61601E2E2FAE00FACF28 /* PresentationMode.cpp */; }; - 013E62021E2E2FAE00FACF28 /* ProjectionMappingMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61621E2E2FAE00FACF28 /* ProjectionMappingMode.cpp */; }; - 013E62031E2E2FAE00FACF28 /* SourceSelectionMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61641E2E2FAE00FACF28 /* SourceSelectionMode.cpp */; }; - 013E62041E2E2FAE00FACF28 /* TextureMappingMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61661E2E2FAE00FACF28 /* TextureMappingMode.cpp */; }; - 013E62051E2E2FAE00FACF28 /* SettingsLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61681E2E2FAE00FACF28 /* SettingsLoader.cpp */; }; - 013E62061E2E2FAE00FACF28 /* AddGridColCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E616B1E2E2FAE00FACF28 /* AddGridColCmd.cpp */; }; - 013E62071E2E2FAE00FACF28 /* AddGridRowCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E616D1E2E2FAE00FACF28 /* AddGridRowCmd.cpp */; }; - 013E62081E2E2FAE00FACF28 /* AddSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E616F1E2E2FAE00FACF28 /* AddSurfaceCmd.cpp */; }; - 013E62091E2E2FAE00FACF28 /* ClearSurfacesCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61721E2E2FAE00FACF28 /* ClearSurfacesCmd.cpp */; }; - 013E620A1E2E2FAE00FACF28 /* CmdManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61741E2E2FAE00FACF28 /* CmdManager.cpp */; }; - 013E620B1E2E2FAE00FACF28 /* DeselectSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61761E2E2FAE00FACF28 /* DeselectSurfaceCmd.cpp */; }; - 013E620C1E2E2FAE00FACF28 /* DeselectTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61781E2E2FAE00FACF28 /* DeselectTexCoordCmd.cpp */; }; - 013E620D1E2E2FAE00FACF28 /* DuplicateSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E617A1E2E2FAE00FACF28 /* DuplicateSurfaceCmd.cpp */; }; - 013E620E1E2E2FAE00FACF28 /* MvAllTexCoordsCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E617C1E2E2FAE00FACF28 /* MvAllTexCoordsCmd.cpp */; }; - 013E620F1E2E2FAE00FACF28 /* MvLayerDnCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E617E1E2E2FAE00FACF28 /* MvLayerDnCmd.cpp */; }; - 013E62101E2E2FAE00FACF28 /* MvLayerUpCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61801E2E2FAE00FACF28 /* MvLayerUpCmd.cpp */; }; - 013E62111E2E2FAE00FACF28 /* MvSelectionCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61821E2E2FAE00FACF28 /* MvSelectionCmd.cpp */; }; - 013E62121E2E2FAE00FACF28 /* MvSurfaceVertCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61841E2E2FAE00FACF28 /* MvSurfaceVertCmd.cpp */; }; - 013E62131E2E2FAE00FACF28 /* MvTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61861E2E2FAE00FACF28 /* MvTexCoordCmd.cpp */; }; - 013E62141E2E2FAE00FACF28 /* RmGridColCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61881E2E2FAE00FACF28 /* RmGridColCmd.cpp */; }; - 013E62151E2E2FAE00FACF28 /* RmGridRowCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E618A1E2E2FAE00FACF28 /* RmGridRowCmd.cpp */; }; - 013E62161E2E2FAE00FACF28 /* RmSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E618C1E2E2FAE00FACF28 /* RmSurfaceCmd.cpp */; }; - 013E62171E2E2FAE00FACF28 /* SaveTexCoordPosCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E618E1E2E2FAE00FACF28 /* SaveTexCoordPosCmd.cpp */; }; - 013E62181E2E2FAE00FACF28 /* ScaleSurfaceFromToCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61901E2E2FAE00FACF28 /* ScaleSurfaceFromToCmd.cpp */; }; - 013E62191E2E2FAE00FACF28 /* SelNextSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61921E2E2FAE00FACF28 /* SelNextSurfaceCmd.cpp */; }; - 013E621A1E2E2FAE00FACF28 /* SelNextTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61941E2E2FAE00FACF28 /* SelNextTexCoordCmd.cpp */; }; - 013E621B1E2E2FAE00FACF28 /* SelNextVertexCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61961E2E2FAE00FACF28 /* SelNextVertexCmd.cpp */; }; - 013E621C1E2E2FAE00FACF28 /* SelPrevSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61981E2E2FAE00FACF28 /* SelPrevSurfaceCmd.cpp */; }; - 013E621D1E2E2FAE00FACF28 /* SelPrevTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E619A1E2E2FAE00FACF28 /* SelPrevTexCoordCmd.cpp */; }; - 013E621E1E2E2FAE00FACF28 /* SelPrevVertexCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E619C1E2E2FAE00FACF28 /* SelPrevVertexCmd.cpp */; }; - 013E621F1E2E2FAE00FACF28 /* SelSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E619E1E2E2FAE00FACF28 /* SelSurfaceCmd.cpp */; }; - 013E62201E2E2FAE00FACF28 /* SelTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61A01E2E2FAE00FACF28 /* SelTexCoordCmd.cpp */; }; - 013E62211E2E2FAE00FACF28 /* SelVertexCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61A21E2E2FAE00FACF28 /* SelVertexCmd.cpp */; }; - 013E62221E2E2FAE00FACF28 /* SetApplicationModeCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61A41E2E2FAE00FACF28 /* SetApplicationModeCmd.cpp */; }; - 013E62231E2E2FAE00FACF28 /* SetNextSourceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61A61E2E2FAE00FACF28 /* SetNextSourceCmd.cpp */; }; - 013E62241E2E2FAE00FACF28 /* SetPresetCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61A81E2E2FAE00FACF28 /* SetPresetCmd.cpp */; }; - 013E62251E2E2FAE00FACF28 /* SetSourceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61AA1E2E2FAE00FACF28 /* SetSourceCmd.cpp */; }; - 013E62261E2E2FAE00FACF28 /* SetTexMapDrawModeCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61AC1E2E2FAE00FACF28 /* SetTexMapDrawModeCmd.cpp */; }; - 013E62271E2E2FAE00FACF28 /* StartDragSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61AE1E2E2FAE00FACF28 /* StartDragSurfaceCmd.cpp */; }; - 013E62281E2E2FAE00FACF28 /* ToggleAnimatedSourceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61B01E2E2FAE00FACF28 /* ToggleAnimatedSourceCmd.cpp */; }; - 013E62291E2E2FAE00FACF28 /* TogglePerspectiveCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61B21E2E2FAE00FACF28 /* TogglePerspectiveCmd.cpp */; }; - 013E622A1E2E2FAE00FACF28 /* TranslateCanvasCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61B41E2E2FAE00FACF28 /* TranslateCanvasCmd.cpp */; }; - 013E622B1E2E2FAE00FACF28 /* Gui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61B71E2E2FAE00FACF28 /* Gui.cpp */; }; - 013E622C1E2E2FAE00FACF28 /* LayerPanelWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61BB1E2E2FAE00FACF28 /* LayerPanelWidget.cpp */; }; - 013E622D1E2E2FAE00FACF28 /* ProjectionEditorWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61BD1E2E2FAE00FACF28 /* ProjectionEditorWidget.cpp */; }; - 013E622E1E2E2FAE00FACF28 /* ScaleWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61BF1E2E2FAE00FACF28 /* ScaleWidget.cpp */; }; - 013E622F1E2E2FAE00FACF28 /* SourcesEditorWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61C11E2E2FAE00FACF28 /* SourcesEditorWidget.cpp */; }; - 013E62301E2E2FAE00FACF28 /* SurfaceHighlightWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61C31E2E2FAE00FACF28 /* SurfaceHighlightWidget.cpp */; }; - 013E62311E2E2FAE00FACF28 /* TextureEditorWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61C51E2E2FAE00FACF28 /* TextureEditorWidget.cpp */; }; - 013E62321E2E2FAE00FACF28 /* TextureHighlightWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61C71E2E2FAE00FACF28 /* TextureHighlightWidget.cpp */; }; - 013E62331E2E2FAE00FACF28 /* Info.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61CA1E2E2FAE00FACF28 /* Info.cpp */; }; - 013E62341E2E2FAE00FACF28 /* DirectoryWatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61CD1E2E2FAE00FACF28 /* DirectoryWatcher.cpp */; }; - 013E62351E2E2FAE00FACF28 /* MediaServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61CF1E2E2FAE00FACF28 /* MediaServer.cpp */; }; - 013E62361E2E2FAE00FACF28 /* ofxPiMapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61D11E2E2FAE00FACF28 /* ofxPiMapper.cpp */; }; - 013E62371E2E2FAE00FACF28 /* BaseSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61D41E2E2FAE00FACF28 /* BaseSource.cpp */; }; - 013E62381E2E2FAE00FACF28 /* FboSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61D61E2E2FAE00FACF28 /* FboSource.cpp */; }; - 013E62391E2E2FAE00FACF28 /* ImageSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61D81E2E2FAE00FACF28 /* ImageSource.cpp */; }; - 013E623A1E2E2FAE00FACF28 /* OMXPlayerCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61DA1E2E2FAE00FACF28 /* OMXPlayerCache.cpp */; }; - 013E623B1E2E2FAE00FACF28 /* VideoSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61DD1E2E2FAE00FACF28 /* VideoSource.cpp */; }; - 013E623C1E2E2FAE00FACF28 /* BaseSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61E01E2E2FAE00FACF28 /* BaseSurface.cpp */; }; - 013E623D1E2E2FAE00FACF28 /* GridWarpSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61E21E2E2FAE00FACF28 /* GridWarpSurface.cpp */; }; - 013E623E1E2E2FAE00FACF28 /* HexagonSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61E41E2E2FAE00FACF28 /* HexagonSurface.cpp */; }; - 013E623F1E2E2FAE00FACF28 /* QuadSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61E61E2E2FAE00FACF28 /* QuadSurface.cpp */; }; - 013E62401E2E2FAE00FACF28 /* SurfaceFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61E81E2E2FAE00FACF28 /* SurfaceFactory.cpp */; }; - 013E62411E2E2FAE00FACF28 /* SurfaceManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61EA1E2E2FAE00FACF28 /* SurfaceManager.cpp */; }; - 013E62421E2E2FAE00FACF28 /* SurfaceStack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61EC1E2E2FAE00FACF28 /* SurfaceStack.cpp */; }; - 013E62431E2E2FAE00FACF28 /* TriangleSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61EF1E2E2FAE00FACF28 /* TriangleSurface.cpp */; }; - 013E62441E2E2FAE00FACF28 /* BaseJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61F21E2E2FAE00FACF28 /* BaseJoint.cpp */; }; - 013E62451E2E2FAE00FACF28 /* CircleJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61F41E2E2FAE00FACF28 /* CircleJoint.cpp */; }; - 013E62461E2E2FAE00FACF28 /* RadioList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61F81E2E2FAE00FACF28 /* RadioList.cpp */; }; - 013E62471E2E2FAE00FACF28 /* HomographyHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 013E61FB1E2E2FAE00FACF28 /* HomographyHelper.cpp */; }; - 3926483B192224DA0008A7F5 /* ofxXmlSettings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 39264839192224DA0008A7F5 /* ofxXmlSettings.cpp */; }; - 39264841192224F90008A7F5 /* tinyxml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3926483D192224F90008A7F5 /* tinyxml.cpp */; }; - 39264842192224F90008A7F5 /* tinyxmlerror.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3926483F192224F90008A7F5 /* tinyxmlerror.cpp */; }; - 39264843192224F90008A7F5 /* tinyxmlparser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 39264840192224F90008A7F5 /* tinyxmlparser.cpp */; }; - 3933D5D319BB87BD000ACA55 /* ofxBaseGui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5C219BB87BD000ACA55 /* ofxBaseGui.cpp */; }; - 3933D5D419BB87BD000ACA55 /* ofxButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5C419BB87BD000ACA55 /* ofxButton.cpp */; }; - 3933D5D519BB87BD000ACA55 /* ofxGuiGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5C719BB87BD000ACA55 /* ofxGuiGroup.cpp */; }; - 3933D5D619BB87BD000ACA55 /* ofxLabel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5C919BB87BD000ACA55 /* ofxLabel.cpp */; }; - 3933D5D719BB87BD000ACA55 /* ofxPanel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5CB19BB87BD000ACA55 /* ofxPanel.cpp */; }; - 3933D5D819BB87BD000ACA55 /* ofxSlider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5CD19BB87BD000ACA55 /* ofxSlider.cpp */; }; - 3933D5D919BB87BD000ACA55 /* ofxSliderGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5CF19BB87BD000ACA55 /* ofxSliderGroup.cpp */; }; - 3933D5DA19BB87BD000ACA55 /* ofxToggle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3933D5D119BB87BD000ACA55 /* ofxToggle.cpp */; }; - 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 */; }; - 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 /* ofApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1E0A3A1BDC003C02F2 /* ofApp.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 = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 0100D93E1E33E4A0000D7FA5 /* Mode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Mode.h; sourceTree = ""; }; - 013E615B1E2E2FAE00FACF28 /* Application.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Application.cpp; sourceTree = ""; }; - 013E615C1E2E2FAE00FACF28 /* Application.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Application.h; sourceTree = ""; }; - 013E615E1E2E2FAE00FACF28 /* ApplicationBaseMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ApplicationBaseMode.cpp; sourceTree = ""; }; - 013E615F1E2E2FAE00FACF28 /* ApplicationBaseMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ApplicationBaseMode.h; sourceTree = ""; }; - 013E61601E2E2FAE00FACF28 /* PresentationMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PresentationMode.cpp; sourceTree = ""; }; - 013E61611E2E2FAE00FACF28 /* PresentationMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PresentationMode.h; sourceTree = ""; }; - 013E61621E2E2FAE00FACF28 /* ProjectionMappingMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ProjectionMappingMode.cpp; sourceTree = ""; }; - 013E61631E2E2FAE00FACF28 /* ProjectionMappingMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProjectionMappingMode.h; sourceTree = ""; }; - 013E61641E2E2FAE00FACF28 /* SourceSelectionMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SourceSelectionMode.cpp; sourceTree = ""; }; - 013E61651E2E2FAE00FACF28 /* SourceSelectionMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SourceSelectionMode.h; sourceTree = ""; }; - 013E61661E2E2FAE00FACF28 /* TextureMappingMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextureMappingMode.cpp; sourceTree = ""; }; - 013E61671E2E2FAE00FACF28 /* TextureMappingMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextureMappingMode.h; sourceTree = ""; }; - 013E61681E2E2FAE00FACF28 /* SettingsLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SettingsLoader.cpp; sourceTree = ""; }; - 013E61691E2E2FAE00FACF28 /* SettingsLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SettingsLoader.h; sourceTree = ""; }; - 013E616B1E2E2FAE00FACF28 /* AddGridColCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AddGridColCmd.cpp; sourceTree = ""; }; - 013E616C1E2E2FAE00FACF28 /* AddGridColCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AddGridColCmd.h; sourceTree = ""; }; - 013E616D1E2E2FAE00FACF28 /* AddGridRowCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AddGridRowCmd.cpp; sourceTree = ""; }; - 013E616E1E2E2FAE00FACF28 /* AddGridRowCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AddGridRowCmd.h; sourceTree = ""; }; - 013E616F1E2E2FAE00FACF28 /* AddSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AddSurfaceCmd.cpp; sourceTree = ""; }; - 013E61701E2E2FAE00FACF28 /* AddSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AddSurfaceCmd.h; sourceTree = ""; }; - 013E61711E2E2FAE00FACF28 /* BaseCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseCmd.h; sourceTree = ""; }; - 013E61721E2E2FAE00FACF28 /* ClearSurfacesCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ClearSurfacesCmd.cpp; sourceTree = ""; }; - 013E61731E2E2FAE00FACF28 /* ClearSurfacesCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ClearSurfacesCmd.h; sourceTree = ""; }; - 013E61741E2E2FAE00FACF28 /* CmdManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CmdManager.cpp; sourceTree = ""; }; - 013E61751E2E2FAE00FACF28 /* CmdManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CmdManager.h; sourceTree = ""; }; - 013E61761E2E2FAE00FACF28 /* DeselectSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeselectSurfaceCmd.cpp; sourceTree = ""; }; - 013E61771E2E2FAE00FACF28 /* DeselectSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeselectSurfaceCmd.h; sourceTree = ""; }; - 013E61781E2E2FAE00FACF28 /* DeselectTexCoordCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeselectTexCoordCmd.cpp; sourceTree = ""; }; - 013E61791E2E2FAE00FACF28 /* DeselectTexCoordCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeselectTexCoordCmd.h; sourceTree = ""; }; - 013E617A1E2E2FAE00FACF28 /* DuplicateSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DuplicateSurfaceCmd.cpp; sourceTree = ""; }; - 013E617B1E2E2FAE00FACF28 /* DuplicateSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DuplicateSurfaceCmd.h; sourceTree = ""; }; - 013E617C1E2E2FAE00FACF28 /* MvAllTexCoordsCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvAllTexCoordsCmd.cpp; sourceTree = ""; }; - 013E617D1E2E2FAE00FACF28 /* MvAllTexCoordsCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvAllTexCoordsCmd.h; sourceTree = ""; }; - 013E617E1E2E2FAE00FACF28 /* MvLayerDnCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvLayerDnCmd.cpp; sourceTree = ""; }; - 013E617F1E2E2FAE00FACF28 /* MvLayerDnCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvLayerDnCmd.h; sourceTree = ""; }; - 013E61801E2E2FAE00FACF28 /* MvLayerUpCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvLayerUpCmd.cpp; sourceTree = ""; }; - 013E61811E2E2FAE00FACF28 /* MvLayerUpCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvLayerUpCmd.h; sourceTree = ""; }; - 013E61821E2E2FAE00FACF28 /* MvSelectionCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvSelectionCmd.cpp; sourceTree = ""; }; - 013E61831E2E2FAE00FACF28 /* MvSelectionCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvSelectionCmd.h; sourceTree = ""; }; - 013E61841E2E2FAE00FACF28 /* MvSurfaceVertCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvSurfaceVertCmd.cpp; sourceTree = ""; }; - 013E61851E2E2FAE00FACF28 /* MvSurfaceVertCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvSurfaceVertCmd.h; sourceTree = ""; }; - 013E61861E2E2FAE00FACF28 /* MvTexCoordCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvTexCoordCmd.cpp; sourceTree = ""; }; - 013E61871E2E2FAE00FACF28 /* MvTexCoordCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvTexCoordCmd.h; sourceTree = ""; }; - 013E61881E2E2FAE00FACF28 /* RmGridColCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RmGridColCmd.cpp; sourceTree = ""; }; - 013E61891E2E2FAE00FACF28 /* RmGridColCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RmGridColCmd.h; sourceTree = ""; }; - 013E618A1E2E2FAE00FACF28 /* RmGridRowCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RmGridRowCmd.cpp; sourceTree = ""; }; - 013E618B1E2E2FAE00FACF28 /* RmGridRowCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RmGridRowCmd.h; sourceTree = ""; }; - 013E618C1E2E2FAE00FACF28 /* RmSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RmSurfaceCmd.cpp; sourceTree = ""; }; - 013E618D1E2E2FAE00FACF28 /* RmSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RmSurfaceCmd.h; sourceTree = ""; }; - 013E618E1E2E2FAE00FACF28 /* SaveTexCoordPosCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SaveTexCoordPosCmd.cpp; sourceTree = ""; }; - 013E618F1E2E2FAE00FACF28 /* SaveTexCoordPosCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SaveTexCoordPosCmd.h; sourceTree = ""; }; - 013E61901E2E2FAE00FACF28 /* ScaleSurfaceFromToCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScaleSurfaceFromToCmd.cpp; sourceTree = ""; }; - 013E61911E2E2FAE00FACF28 /* ScaleSurfaceFromToCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScaleSurfaceFromToCmd.h; sourceTree = ""; }; - 013E61921E2E2FAE00FACF28 /* SelNextSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelNextSurfaceCmd.cpp; sourceTree = ""; }; - 013E61931E2E2FAE00FACF28 /* SelNextSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelNextSurfaceCmd.h; sourceTree = ""; }; - 013E61941E2E2FAE00FACF28 /* SelNextTexCoordCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelNextTexCoordCmd.cpp; sourceTree = ""; }; - 013E61951E2E2FAE00FACF28 /* SelNextTexCoordCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelNextTexCoordCmd.h; sourceTree = ""; }; - 013E61961E2E2FAE00FACF28 /* SelNextVertexCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelNextVertexCmd.cpp; sourceTree = ""; }; - 013E61971E2E2FAE00FACF28 /* SelNextVertexCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelNextVertexCmd.h; sourceTree = ""; }; - 013E61981E2E2FAE00FACF28 /* SelPrevSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelPrevSurfaceCmd.cpp; sourceTree = ""; }; - 013E61991E2E2FAE00FACF28 /* SelPrevSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelPrevSurfaceCmd.h; sourceTree = ""; }; - 013E619A1E2E2FAE00FACF28 /* SelPrevTexCoordCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelPrevTexCoordCmd.cpp; sourceTree = ""; }; - 013E619B1E2E2FAE00FACF28 /* SelPrevTexCoordCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelPrevTexCoordCmd.h; sourceTree = ""; }; - 013E619C1E2E2FAE00FACF28 /* SelPrevVertexCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelPrevVertexCmd.cpp; sourceTree = ""; }; - 013E619D1E2E2FAE00FACF28 /* SelPrevVertexCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelPrevVertexCmd.h; sourceTree = ""; }; - 013E619E1E2E2FAE00FACF28 /* SelSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelSurfaceCmd.cpp; sourceTree = ""; }; - 013E619F1E2E2FAE00FACF28 /* SelSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelSurfaceCmd.h; sourceTree = ""; }; - 013E61A01E2E2FAE00FACF28 /* SelTexCoordCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelTexCoordCmd.cpp; sourceTree = ""; }; - 013E61A11E2E2FAE00FACF28 /* SelTexCoordCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelTexCoordCmd.h; sourceTree = ""; }; - 013E61A21E2E2FAE00FACF28 /* SelVertexCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelVertexCmd.cpp; sourceTree = ""; }; - 013E61A31E2E2FAE00FACF28 /* SelVertexCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelVertexCmd.h; sourceTree = ""; }; - 013E61A41E2E2FAE00FACF28 /* SetApplicationModeCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetApplicationModeCmd.cpp; sourceTree = ""; }; - 013E61A51E2E2FAE00FACF28 /* SetApplicationModeCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetApplicationModeCmd.h; sourceTree = ""; }; - 013E61A61E2E2FAE00FACF28 /* SetNextSourceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetNextSourceCmd.cpp; sourceTree = ""; }; - 013E61A71E2E2FAE00FACF28 /* SetNextSourceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetNextSourceCmd.h; sourceTree = ""; }; - 013E61A81E2E2FAE00FACF28 /* SetPresetCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetPresetCmd.cpp; sourceTree = ""; }; - 013E61A91E2E2FAE00FACF28 /* SetPresetCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetPresetCmd.h; sourceTree = ""; }; - 013E61AA1E2E2FAE00FACF28 /* SetSourceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetSourceCmd.cpp; sourceTree = ""; }; - 013E61AB1E2E2FAE00FACF28 /* SetSourceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetSourceCmd.h; sourceTree = ""; }; - 013E61AC1E2E2FAE00FACF28 /* SetTexMapDrawModeCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetTexMapDrawModeCmd.cpp; sourceTree = ""; }; - 013E61AD1E2E2FAE00FACF28 /* SetTexMapDrawModeCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetTexMapDrawModeCmd.h; sourceTree = ""; }; - 013E61AE1E2E2FAE00FACF28 /* StartDragSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StartDragSurfaceCmd.cpp; sourceTree = ""; }; - 013E61AF1E2E2FAE00FACF28 /* StartDragSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StartDragSurfaceCmd.h; sourceTree = ""; }; - 013E61B01E2E2FAE00FACF28 /* ToggleAnimatedSourceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ToggleAnimatedSourceCmd.cpp; sourceTree = ""; }; - 013E61B11E2E2FAE00FACF28 /* ToggleAnimatedSourceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ToggleAnimatedSourceCmd.h; sourceTree = ""; }; - 013E61B21E2E2FAE00FACF28 /* TogglePerspectiveCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TogglePerspectiveCmd.cpp; sourceTree = ""; }; - 013E61B31E2E2FAE00FACF28 /* TogglePerspectiveCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TogglePerspectiveCmd.h; sourceTree = ""; }; - 013E61B41E2E2FAE00FACF28 /* TranslateCanvasCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TranslateCanvasCmd.cpp; sourceTree = ""; }; - 013E61B51E2E2FAE00FACF28 /* TranslateCanvasCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TranslateCanvasCmd.h; sourceTree = ""; }; - 013E61B71E2E2FAE00FACF28 /* Gui.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Gui.cpp; sourceTree = ""; }; - 013E61B81E2E2FAE00FACF28 /* Gui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Gui.h; sourceTree = ""; }; - 013E61BA1E2E2FAE00FACF28 /* GuiBaseWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GuiBaseWidget.h; sourceTree = ""; }; - 013E61BB1E2E2FAE00FACF28 /* LayerPanelWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LayerPanelWidget.cpp; sourceTree = ""; }; - 013E61BC1E2E2FAE00FACF28 /* LayerPanelWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LayerPanelWidget.h; sourceTree = ""; }; - 013E61BD1E2E2FAE00FACF28 /* ProjectionEditorWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ProjectionEditorWidget.cpp; sourceTree = ""; }; - 013E61BE1E2E2FAE00FACF28 /* ProjectionEditorWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProjectionEditorWidget.h; sourceTree = ""; }; - 013E61BF1E2E2FAE00FACF28 /* ScaleWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScaleWidget.cpp; sourceTree = ""; }; - 013E61C01E2E2FAE00FACF28 /* ScaleWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScaleWidget.h; sourceTree = ""; }; - 013E61C11E2E2FAE00FACF28 /* SourcesEditorWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SourcesEditorWidget.cpp; sourceTree = ""; }; - 013E61C21E2E2FAE00FACF28 /* SourcesEditorWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SourcesEditorWidget.h; sourceTree = ""; }; - 013E61C31E2E2FAE00FACF28 /* SurfaceHighlightWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceHighlightWidget.cpp; sourceTree = ""; }; - 013E61C41E2E2FAE00FACF28 /* SurfaceHighlightWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurfaceHighlightWidget.h; sourceTree = ""; }; - 013E61C51E2E2FAE00FACF28 /* TextureEditorWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextureEditorWidget.cpp; sourceTree = ""; }; - 013E61C61E2E2FAE00FACF28 /* TextureEditorWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextureEditorWidget.h; sourceTree = ""; }; - 013E61C71E2E2FAE00FACF28 /* TextureHighlightWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextureHighlightWidget.cpp; sourceTree = ""; }; - 013E61C81E2E2FAE00FACF28 /* TextureHighlightWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextureHighlightWidget.h; sourceTree = ""; }; - 013E61CA1E2E2FAE00FACF28 /* Info.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Info.cpp; sourceTree = ""; }; - 013E61CB1E2E2FAE00FACF28 /* Info.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Info.h; sourceTree = ""; }; - 013E61CD1E2E2FAE00FACF28 /* DirectoryWatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DirectoryWatcher.cpp; sourceTree = ""; }; - 013E61CE1E2E2FAE00FACF28 /* DirectoryWatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DirectoryWatcher.h; sourceTree = ""; }; - 013E61CF1E2E2FAE00FACF28 /* MediaServer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaServer.cpp; sourceTree = ""; }; - 013E61D01E2E2FAE00FACF28 /* MediaServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaServer.h; sourceTree = ""; }; - 013E61D11E2E2FAE00FACF28 /* ofxPiMapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxPiMapper.cpp; sourceTree = ""; }; - 013E61D21E2E2FAE00FACF28 /* ofxPiMapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxPiMapper.h; sourceTree = ""; }; - 013E61D41E2E2FAE00FACF28 /* BaseSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BaseSource.cpp; sourceTree = ""; }; - 013E61D51E2E2FAE00FACF28 /* BaseSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseSource.h; sourceTree = ""; }; - 013E61D61E2E2FAE00FACF28 /* FboSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FboSource.cpp; sourceTree = ""; }; - 013E61D71E2E2FAE00FACF28 /* FboSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FboSource.h; sourceTree = ""; }; - 013E61D81E2E2FAE00FACF28 /* ImageSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageSource.cpp; sourceTree = ""; }; - 013E61D91E2E2FAE00FACF28 /* ImageSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageSource.h; sourceTree = ""; }; - 013E61DA1E2E2FAE00FACF28 /* OMXPlayerCache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OMXPlayerCache.cpp; sourceTree = ""; }; - 013E61DB1E2E2FAE00FACF28 /* OMXPlayerCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OMXPlayerCache.h; sourceTree = ""; }; - 013E61DC1E2E2FAE00FACF28 /* SourceType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SourceType.h; sourceTree = ""; }; - 013E61DD1E2E2FAE00FACF28 /* VideoSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VideoSource.cpp; sourceTree = ""; }; - 013E61DE1E2E2FAE00FACF28 /* VideoSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VideoSource.h; sourceTree = ""; }; - 013E61E01E2E2FAE00FACF28 /* BaseSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BaseSurface.cpp; sourceTree = ""; }; - 013E61E11E2E2FAE00FACF28 /* BaseSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseSurface.h; sourceTree = ""; }; - 013E61E21E2E2FAE00FACF28 /* GridWarpSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GridWarpSurface.cpp; sourceTree = ""; }; - 013E61E31E2E2FAE00FACF28 /* GridWarpSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GridWarpSurface.h; sourceTree = ""; }; - 013E61E41E2E2FAE00FACF28 /* HexagonSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HexagonSurface.cpp; sourceTree = ""; }; - 013E61E51E2E2FAE00FACF28 /* HexagonSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HexagonSurface.h; sourceTree = ""; }; - 013E61E61E2E2FAE00FACF28 /* QuadSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = QuadSurface.cpp; sourceTree = ""; }; - 013E61E71E2E2FAE00FACF28 /* QuadSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QuadSurface.h; sourceTree = ""; }; - 013E61E81E2E2FAE00FACF28 /* SurfaceFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceFactory.cpp; sourceTree = ""; }; - 013E61E91E2E2FAE00FACF28 /* SurfaceFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurfaceFactory.h; sourceTree = ""; }; - 013E61EA1E2E2FAE00FACF28 /* SurfaceManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceManager.cpp; sourceTree = ""; }; - 013E61EB1E2E2FAE00FACF28 /* SurfaceManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurfaceManager.h; sourceTree = ""; }; - 013E61EC1E2E2FAE00FACF28 /* SurfaceStack.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceStack.cpp; sourceTree = ""; }; - 013E61ED1E2E2FAE00FACF28 /* SurfaceStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurfaceStack.h; sourceTree = ""; }; - 013E61EE1E2E2FAE00FACF28 /* SurfaceType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurfaceType.h; sourceTree = ""; }; - 013E61EF1E2E2FAE00FACF28 /* TriangleSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TriangleSurface.cpp; sourceTree = ""; }; - 013E61F01E2E2FAE00FACF28 /* TriangleSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TriangleSurface.h; sourceTree = ""; }; - 013E61F21E2E2FAE00FACF28 /* BaseJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BaseJoint.cpp; sourceTree = ""; }; - 013E61F31E2E2FAE00FACF28 /* BaseJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseJoint.h; sourceTree = ""; }; - 013E61F41E2E2FAE00FACF28 /* CircleJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CircleJoint.cpp; sourceTree = ""; }; - 013E61F51E2E2FAE00FACF28 /* CircleJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CircleJoint.h; sourceTree = ""; }; - 013E61F61E2E2FAE00FACF28 /* EditorType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EditorType.h; sourceTree = ""; }; - 013E61F71E2E2FAE00FACF28 /* GuiMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GuiMode.h; sourceTree = ""; }; - 013E61F81E2E2FAE00FACF28 /* RadioList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RadioList.cpp; sourceTree = ""; }; - 013E61F91E2E2FAE00FACF28 /* RadioList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RadioList.h; sourceTree = ""; }; - 013E61FB1E2E2FAE00FACF28 /* HomographyHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HomographyHelper.cpp; sourceTree = ""; }; - 013E61FC1E2E2FAE00FACF28 /* HomographyHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomographyHelper.h; sourceTree = ""; }; - 013E62491E2E38EC00FACF28 /* SourceTypeHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SourceTypeHelper.h; sourceTree = ""; }; - 39264839192224DA0008A7F5 /* ofxXmlSettings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ofxXmlSettings.cpp; path = ../../ofxXmlSettings/src/ofxXmlSettings.cpp; sourceTree = ""; }; - 3926483A192224DA0008A7F5 /* ofxXmlSettings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ofxXmlSettings.h; path = ../../ofxXmlSettings/src/ofxXmlSettings.h; sourceTree = ""; }; - 3926483D192224F90008A7F5 /* tinyxml.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tinyxml.cpp; sourceTree = ""; }; - 3926483E192224F90008A7F5 /* tinyxml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tinyxml.h; sourceTree = ""; }; - 3926483F192224F90008A7F5 /* tinyxmlerror.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tinyxmlerror.cpp; sourceTree = ""; }; - 39264840192224F90008A7F5 /* tinyxmlparser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tinyxmlparser.cpp; sourceTree = ""; }; - 3933D5C219BB87BD000ACA55 /* ofxBaseGui.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxBaseGui.cpp; sourceTree = ""; }; - 3933D5C319BB87BD000ACA55 /* ofxBaseGui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxBaseGui.h; sourceTree = ""; }; - 3933D5C419BB87BD000ACA55 /* ofxButton.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxButton.cpp; sourceTree = ""; }; - 3933D5C519BB87BD000ACA55 /* ofxButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxButton.h; sourceTree = ""; }; - 3933D5C619BB87BD000ACA55 /* ofxGui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxGui.h; sourceTree = ""; }; - 3933D5C719BB87BD000ACA55 /* ofxGuiGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxGuiGroup.cpp; sourceTree = ""; }; - 3933D5C819BB87BD000ACA55 /* ofxGuiGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxGuiGroup.h; sourceTree = ""; }; - 3933D5C919BB87BD000ACA55 /* ofxLabel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxLabel.cpp; sourceTree = ""; }; - 3933D5CA19BB87BD000ACA55 /* ofxLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxLabel.h; sourceTree = ""; }; - 3933D5CB19BB87BD000ACA55 /* ofxPanel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxPanel.cpp; sourceTree = ""; }; - 3933D5CC19BB87BD000ACA55 /* ofxPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxPanel.h; sourceTree = ""; }; - 3933D5CD19BB87BD000ACA55 /* ofxSlider.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSlider.cpp; sourceTree = ""; }; - 3933D5CE19BB87BD000ACA55 /* ofxSlider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxSlider.h; sourceTree = ""; }; - 3933D5CF19BB87BD000ACA55 /* ofxSliderGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxSliderGroup.cpp; sourceTree = ""; }; - 3933D5D019BB87BD000ACA55 /* ofxSliderGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxSliderGroup.h; sourceTree = ""; }; - 3933D5D119BB87BD000ACA55 /* ofxToggle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxToggle.cpp; sourceTree = ""; }; - 3933D5D219BB87BD000ACA55 /* ofxToggle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxToggle.h; sourceTree = ""; }; - BBAB23BE13894E4700AA2426 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../libs/glut/lib/osx/GLUT.framework; sourceTree = ""; }; - E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openFrameworksLib.xcodeproj; path = ../../../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 = ""; }; - E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = ""; }; - E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; - E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; - E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; }; - E45BE9770E8CC7DD009D7055 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; - E45BE9790E8CC7DD009D7055 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; }; - E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; }; - E4B69B5B0A3A1756003C02F2 /* example_shortcutsDebug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = example_shortcutsDebug.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 = ""; }; - E4C2424410CC5A17004149E2 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; - E4C2424510CC5A17004149E2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; - E4C2424610CC5A17004149E2 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; 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 = ""; }; - E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = /System/Library/Frameworks/CoreVideo.framework; sourceTree = ""; }; - E7E077E715D3B6510020DFD4 /* QTKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = /System/Library/Frameworks/QTKit.framework; sourceTree = ""; }; - E7F985F515E0DE99003869B5 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = /System/Library/Frameworks/Accelerate.framework; sourceTree = ""; }; -/* 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 */, - 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 */ - 013E61591E2E2FAE00FACF28 /* src */ = { - isa = PBXGroup; - children = ( - 013E615A1E2E2FAE00FACF28 /* Application */, - 013E616A1E2E2FAE00FACF28 /* Commands */, - 013E61B61E2E2FAE00FACF28 /* Gui */, - 013E61C91E2E2FAE00FACF28 /* Info */, - 013E61CC1E2E2FAE00FACF28 /* MediaServer */, - 013E61D11E2E2FAE00FACF28 /* ofxPiMapper.cpp */, - 013E61D21E2E2FAE00FACF28 /* ofxPiMapper.h */, - 0100D93E1E33E4A0000D7FA5 /* Mode.h */, - 013E61D31E2E2FAE00FACF28 /* Sources */, - 013E61DF1E2E2FAE00FACF28 /* Surfaces */, - 013E61F11E2E2FAE00FACF28 /* UserInterface */, - 013E61FA1E2E2FAE00FACF28 /* Utils */, - ); - name = src; - path = ../src; - sourceTree = ""; - }; - 013E615A1E2E2FAE00FACF28 /* Application */ = { - isa = PBXGroup; - children = ( - 013E615B1E2E2FAE00FACF28 /* Application.cpp */, - 013E615C1E2E2FAE00FACF28 /* Application.h */, - 013E615D1E2E2FAE00FACF28 /* Modes */, - 013E61681E2E2FAE00FACF28 /* SettingsLoader.cpp */, - 013E61691E2E2FAE00FACF28 /* SettingsLoader.h */, - ); - path = Application; - sourceTree = ""; - }; - 013E615D1E2E2FAE00FACF28 /* Modes */ = { - isa = PBXGroup; - children = ( - 013E615E1E2E2FAE00FACF28 /* ApplicationBaseMode.cpp */, - 013E615F1E2E2FAE00FACF28 /* ApplicationBaseMode.h */, - 013E61601E2E2FAE00FACF28 /* PresentationMode.cpp */, - 013E61611E2E2FAE00FACF28 /* PresentationMode.h */, - 013E61621E2E2FAE00FACF28 /* ProjectionMappingMode.cpp */, - 013E61631E2E2FAE00FACF28 /* ProjectionMappingMode.h */, - 013E61641E2E2FAE00FACF28 /* SourceSelectionMode.cpp */, - 013E61651E2E2FAE00FACF28 /* SourceSelectionMode.h */, - 013E61661E2E2FAE00FACF28 /* TextureMappingMode.cpp */, - 013E61671E2E2FAE00FACF28 /* TextureMappingMode.h */, - ); - path = Modes; - sourceTree = ""; - }; - 013E616A1E2E2FAE00FACF28 /* Commands */ = { - isa = PBXGroup; - children = ( - 013E616B1E2E2FAE00FACF28 /* AddGridColCmd.cpp */, - 013E616C1E2E2FAE00FACF28 /* AddGridColCmd.h */, - 013E616D1E2E2FAE00FACF28 /* AddGridRowCmd.cpp */, - 013E616E1E2E2FAE00FACF28 /* AddGridRowCmd.h */, - 013E616F1E2E2FAE00FACF28 /* AddSurfaceCmd.cpp */, - 013E61701E2E2FAE00FACF28 /* AddSurfaceCmd.h */, - 013E61711E2E2FAE00FACF28 /* BaseCmd.h */, - 013E61721E2E2FAE00FACF28 /* ClearSurfacesCmd.cpp */, - 013E61731E2E2FAE00FACF28 /* ClearSurfacesCmd.h */, - 013E61741E2E2FAE00FACF28 /* CmdManager.cpp */, - 013E61751E2E2FAE00FACF28 /* CmdManager.h */, - 013E61761E2E2FAE00FACF28 /* DeselectSurfaceCmd.cpp */, - 013E61771E2E2FAE00FACF28 /* DeselectSurfaceCmd.h */, - 013E61781E2E2FAE00FACF28 /* DeselectTexCoordCmd.cpp */, - 013E61791E2E2FAE00FACF28 /* DeselectTexCoordCmd.h */, - 013E617A1E2E2FAE00FACF28 /* DuplicateSurfaceCmd.cpp */, - 013E617B1E2E2FAE00FACF28 /* DuplicateSurfaceCmd.h */, - 013E617C1E2E2FAE00FACF28 /* MvAllTexCoordsCmd.cpp */, - 013E617D1E2E2FAE00FACF28 /* MvAllTexCoordsCmd.h */, - 013E617E1E2E2FAE00FACF28 /* MvLayerDnCmd.cpp */, - 013E617F1E2E2FAE00FACF28 /* MvLayerDnCmd.h */, - 013E61801E2E2FAE00FACF28 /* MvLayerUpCmd.cpp */, - 013E61811E2E2FAE00FACF28 /* MvLayerUpCmd.h */, - 013E61821E2E2FAE00FACF28 /* MvSelectionCmd.cpp */, - 013E61831E2E2FAE00FACF28 /* MvSelectionCmd.h */, - 013E61841E2E2FAE00FACF28 /* MvSurfaceVertCmd.cpp */, - 013E61851E2E2FAE00FACF28 /* MvSurfaceVertCmd.h */, - 013E61861E2E2FAE00FACF28 /* MvTexCoordCmd.cpp */, - 013E61871E2E2FAE00FACF28 /* MvTexCoordCmd.h */, - 013E61881E2E2FAE00FACF28 /* RmGridColCmd.cpp */, - 013E61891E2E2FAE00FACF28 /* RmGridColCmd.h */, - 013E618A1E2E2FAE00FACF28 /* RmGridRowCmd.cpp */, - 013E618B1E2E2FAE00FACF28 /* RmGridRowCmd.h */, - 013E618C1E2E2FAE00FACF28 /* RmSurfaceCmd.cpp */, - 013E618D1E2E2FAE00FACF28 /* RmSurfaceCmd.h */, - 013E618E1E2E2FAE00FACF28 /* SaveTexCoordPosCmd.cpp */, - 013E618F1E2E2FAE00FACF28 /* SaveTexCoordPosCmd.h */, - 013E61901E2E2FAE00FACF28 /* ScaleSurfaceFromToCmd.cpp */, - 013E61911E2E2FAE00FACF28 /* ScaleSurfaceFromToCmd.h */, - 013E61921E2E2FAE00FACF28 /* SelNextSurfaceCmd.cpp */, - 013E61931E2E2FAE00FACF28 /* SelNextSurfaceCmd.h */, - 013E61941E2E2FAE00FACF28 /* SelNextTexCoordCmd.cpp */, - 013E61951E2E2FAE00FACF28 /* SelNextTexCoordCmd.h */, - 013E61961E2E2FAE00FACF28 /* SelNextVertexCmd.cpp */, - 013E61971E2E2FAE00FACF28 /* SelNextVertexCmd.h */, - 013E61981E2E2FAE00FACF28 /* SelPrevSurfaceCmd.cpp */, - 013E61991E2E2FAE00FACF28 /* SelPrevSurfaceCmd.h */, - 013E619A1E2E2FAE00FACF28 /* SelPrevTexCoordCmd.cpp */, - 013E619B1E2E2FAE00FACF28 /* SelPrevTexCoordCmd.h */, - 013E619C1E2E2FAE00FACF28 /* SelPrevVertexCmd.cpp */, - 013E619D1E2E2FAE00FACF28 /* SelPrevVertexCmd.h */, - 013E619E1E2E2FAE00FACF28 /* SelSurfaceCmd.cpp */, - 013E619F1E2E2FAE00FACF28 /* SelSurfaceCmd.h */, - 013E61A01E2E2FAE00FACF28 /* SelTexCoordCmd.cpp */, - 013E61A11E2E2FAE00FACF28 /* SelTexCoordCmd.h */, - 013E61A21E2E2FAE00FACF28 /* SelVertexCmd.cpp */, - 013E61A31E2E2FAE00FACF28 /* SelVertexCmd.h */, - 013E61A41E2E2FAE00FACF28 /* SetApplicationModeCmd.cpp */, - 013E61A51E2E2FAE00FACF28 /* SetApplicationModeCmd.h */, - 013E61A61E2E2FAE00FACF28 /* SetNextSourceCmd.cpp */, - 013E61A71E2E2FAE00FACF28 /* SetNextSourceCmd.h */, - 013E61A81E2E2FAE00FACF28 /* SetPresetCmd.cpp */, - 013E61A91E2E2FAE00FACF28 /* SetPresetCmd.h */, - 013E61AA1E2E2FAE00FACF28 /* SetSourceCmd.cpp */, - 013E61AB1E2E2FAE00FACF28 /* SetSourceCmd.h */, - 013E61AC1E2E2FAE00FACF28 /* SetTexMapDrawModeCmd.cpp */, - 013E61AD1E2E2FAE00FACF28 /* SetTexMapDrawModeCmd.h */, - 013E61AE1E2E2FAE00FACF28 /* StartDragSurfaceCmd.cpp */, - 013E61AF1E2E2FAE00FACF28 /* StartDragSurfaceCmd.h */, - 013E61B01E2E2FAE00FACF28 /* ToggleAnimatedSourceCmd.cpp */, - 013E61B11E2E2FAE00FACF28 /* ToggleAnimatedSourceCmd.h */, - 013E61B21E2E2FAE00FACF28 /* TogglePerspectiveCmd.cpp */, - 013E61B31E2E2FAE00FACF28 /* TogglePerspectiveCmd.h */, - 013E61B41E2E2FAE00FACF28 /* TranslateCanvasCmd.cpp */, - 013E61B51E2E2FAE00FACF28 /* TranslateCanvasCmd.h */, - ); - path = Commands; - sourceTree = ""; - }; - 013E61B61E2E2FAE00FACF28 /* Gui */ = { - isa = PBXGroup; - children = ( - 013E61B71E2E2FAE00FACF28 /* Gui.cpp */, - 013E61B81E2E2FAE00FACF28 /* Gui.h */, - 013E61B91E2E2FAE00FACF28 /* Widgets */, - ); - path = Gui; - sourceTree = ""; - }; - 013E61B91E2E2FAE00FACF28 /* Widgets */ = { - isa = PBXGroup; - children = ( - 013E61BA1E2E2FAE00FACF28 /* GuiBaseWidget.h */, - 013E61BB1E2E2FAE00FACF28 /* LayerPanelWidget.cpp */, - 013E61BC1E2E2FAE00FACF28 /* LayerPanelWidget.h */, - 013E61BD1E2E2FAE00FACF28 /* ProjectionEditorWidget.cpp */, - 013E61BE1E2E2FAE00FACF28 /* ProjectionEditorWidget.h */, - 013E61BF1E2E2FAE00FACF28 /* ScaleWidget.cpp */, - 013E61C01E2E2FAE00FACF28 /* ScaleWidget.h */, - 013E61C11E2E2FAE00FACF28 /* SourcesEditorWidget.cpp */, - 013E61C21E2E2FAE00FACF28 /* SourcesEditorWidget.h */, - 013E61C31E2E2FAE00FACF28 /* SurfaceHighlightWidget.cpp */, - 013E61C41E2E2FAE00FACF28 /* SurfaceHighlightWidget.h */, - 013E61C51E2E2FAE00FACF28 /* TextureEditorWidget.cpp */, - 013E61C61E2E2FAE00FACF28 /* TextureEditorWidget.h */, - 013E61C71E2E2FAE00FACF28 /* TextureHighlightWidget.cpp */, - 013E61C81E2E2FAE00FACF28 /* TextureHighlightWidget.h */, - ); - path = Widgets; - sourceTree = ""; - }; - 013E61C91E2E2FAE00FACF28 /* Info */ = { - isa = PBXGroup; - children = ( - 013E61CA1E2E2FAE00FACF28 /* Info.cpp */, - 013E61CB1E2E2FAE00FACF28 /* Info.h */, - ); - path = Info; - sourceTree = ""; - }; - 013E61CC1E2E2FAE00FACF28 /* MediaServer */ = { - isa = PBXGroup; - children = ( - 013E61CD1E2E2FAE00FACF28 /* DirectoryWatcher.cpp */, - 013E61CE1E2E2FAE00FACF28 /* DirectoryWatcher.h */, - 013E61CF1E2E2FAE00FACF28 /* MediaServer.cpp */, - 013E61D01E2E2FAE00FACF28 /* MediaServer.h */, - ); - path = MediaServer; - sourceTree = ""; - }; - 013E61D31E2E2FAE00FACF28 /* Sources */ = { - isa = PBXGroup; - children = ( - 013E61D41E2E2FAE00FACF28 /* BaseSource.cpp */, - 013E61D51E2E2FAE00FACF28 /* BaseSource.h */, - 013E61D61E2E2FAE00FACF28 /* FboSource.cpp */, - 013E61D71E2E2FAE00FACF28 /* FboSource.h */, - 013E61D81E2E2FAE00FACF28 /* ImageSource.cpp */, - 013E61D91E2E2FAE00FACF28 /* ImageSource.h */, - 013E61DA1E2E2FAE00FACF28 /* OMXPlayerCache.cpp */, - 013E61DB1E2E2FAE00FACF28 /* OMXPlayerCache.h */, - 013E61DC1E2E2FAE00FACF28 /* SourceType.h */, - 013E62491E2E38EC00FACF28 /* SourceTypeHelper.h */, - 013E61DD1E2E2FAE00FACF28 /* VideoSource.cpp */, - 013E61DE1E2E2FAE00FACF28 /* VideoSource.h */, - ); - path = Sources; - sourceTree = ""; - }; - 013E61DF1E2E2FAE00FACF28 /* Surfaces */ = { - isa = PBXGroup; - children = ( - 013E61E01E2E2FAE00FACF28 /* BaseSurface.cpp */, - 013E61E11E2E2FAE00FACF28 /* BaseSurface.h */, - 013E61E21E2E2FAE00FACF28 /* GridWarpSurface.cpp */, - 013E61E31E2E2FAE00FACF28 /* GridWarpSurface.h */, - 013E61E41E2E2FAE00FACF28 /* HexagonSurface.cpp */, - 013E61E51E2E2FAE00FACF28 /* HexagonSurface.h */, - 013E61E61E2E2FAE00FACF28 /* QuadSurface.cpp */, - 013E61E71E2E2FAE00FACF28 /* QuadSurface.h */, - 013E61E81E2E2FAE00FACF28 /* SurfaceFactory.cpp */, - 013E61E91E2E2FAE00FACF28 /* SurfaceFactory.h */, - 013E61EA1E2E2FAE00FACF28 /* SurfaceManager.cpp */, - 013E61EB1E2E2FAE00FACF28 /* SurfaceManager.h */, - 013E61EC1E2E2FAE00FACF28 /* SurfaceStack.cpp */, - 013E61ED1E2E2FAE00FACF28 /* SurfaceStack.h */, - 013E61EE1E2E2FAE00FACF28 /* SurfaceType.h */, - 013E61EF1E2E2FAE00FACF28 /* TriangleSurface.cpp */, - 013E61F01E2E2FAE00FACF28 /* TriangleSurface.h */, - ); - path = Surfaces; - sourceTree = ""; - }; - 013E61F11E2E2FAE00FACF28 /* UserInterface */ = { - isa = PBXGroup; - children = ( - 013E61F21E2E2FAE00FACF28 /* BaseJoint.cpp */, - 013E61F31E2E2FAE00FACF28 /* BaseJoint.h */, - 013E61F41E2E2FAE00FACF28 /* CircleJoint.cpp */, - 013E61F51E2E2FAE00FACF28 /* CircleJoint.h */, - 013E61F61E2E2FAE00FACF28 /* EditorType.h */, - 013E61F71E2E2FAE00FACF28 /* GuiMode.h */, - 013E61F81E2E2FAE00FACF28 /* RadioList.cpp */, - 013E61F91E2E2FAE00FACF28 /* RadioList.h */, - ); - path = UserInterface; - sourceTree = ""; - }; - 013E61FA1E2E2FAE00FACF28 /* Utils */ = { - isa = PBXGroup; - children = ( - 013E61FB1E2E2FAE00FACF28 /* HomographyHelper.cpp */, - 013E61FC1E2E2FAE00FACF28 /* HomographyHelper.h */, - ); - path = Utils; - sourceTree = ""; - }; - 39264837192224C20008A7F5 /* ofxXmlSettings */ = { - isa = PBXGroup; - children = ( - 3926483C192224F90008A7F5 /* libs */, - 39264838192224CA0008A7F5 /* src */, - ); - name = ofxXmlSettings; - sourceTree = ""; - }; - 39264838192224CA0008A7F5 /* src */ = { - isa = PBXGroup; - children = ( - 39264839192224DA0008A7F5 /* ofxXmlSettings.cpp */, - 3926483A192224DA0008A7F5 /* ofxXmlSettings.h */, - ); - name = src; - sourceTree = ""; - }; - 3926483C192224F90008A7F5 /* libs */ = { - isa = PBXGroup; - children = ( - 3926483D192224F90008A7F5 /* tinyxml.cpp */, - 3926483E192224F90008A7F5 /* tinyxml.h */, - 3926483F192224F90008A7F5 /* tinyxmlerror.cpp */, - 39264840192224F90008A7F5 /* tinyxmlparser.cpp */, - ); - name = libs; - path = ../../ofxXmlSettings/libs; - sourceTree = ""; - }; - 3933D5C019BB87A3000ACA55 /* ofxGui */ = { - isa = PBXGroup; - children = ( - 3933D5C119BB87BD000ACA55 /* src */, - ); - name = ofxGui; - sourceTree = ""; - }; - 3933D5C119BB87BD000ACA55 /* src */ = { - isa = PBXGroup; - children = ( - 3933D5C219BB87BD000ACA55 /* ofxBaseGui.cpp */, - 3933D5C319BB87BD000ACA55 /* ofxBaseGui.h */, - 3933D5C419BB87BD000ACA55 /* ofxButton.cpp */, - 3933D5C519BB87BD000ACA55 /* ofxButton.h */, - 3933D5C619BB87BD000ACA55 /* ofxGui.h */, - 3933D5C719BB87BD000ACA55 /* ofxGuiGroup.cpp */, - 3933D5C819BB87BD000ACA55 /* ofxGuiGroup.h */, - 3933D5C919BB87BD000ACA55 /* ofxLabel.cpp */, - 3933D5CA19BB87BD000ACA55 /* ofxLabel.h */, - 3933D5CB19BB87BD000ACA55 /* ofxPanel.cpp */, - 3933D5CC19BB87BD000ACA55 /* ofxPanel.h */, - 3933D5CD19BB87BD000ACA55 /* ofxSlider.cpp */, - 3933D5CE19BB87BD000ACA55 /* ofxSlider.h */, - 3933D5CF19BB87BD000ACA55 /* ofxSliderGroup.cpp */, - 3933D5D019BB87BD000ACA55 /* ofxSliderGroup.h */, - 3933D5D119BB87BD000ACA55 /* ofxToggle.cpp */, - 3933D5D219BB87BD000ACA55 /* ofxToggle.h */, - ); - name = src; - path = ../../ofxGui/src; - sourceTree = ""; - }; - 396E8A34190FEDE500705899 /* ofxPiMapper */ = { - isa = PBXGroup; - children = ( - 013E61591E2E2FAE00FACF28 /* src */, - ); - name = ofxPiMapper; - sourceTree = ""; - }; - BB4B014C10F69532006C3DED /* addons */ = { - isa = PBXGroup; - children = ( - 3933D5C019BB87A3000ACA55 /* ofxGui */, - 39264837192224C20008A7F5 /* ofxXmlSettings */, - 396E8A34190FEDE500705899 /* ofxPiMapper */, - ); - name = addons; - sourceTree = ""; - }; - 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 */, - 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 = ""; - }; - BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */ = { - isa = PBXGroup; - children = ( - BBAB23BE13894E4700AA2426 /* GLUT.framework */, - ); - name = "3rd party frameworks"; - sourceTree = ""; - }; - E4328144138ABC890047C5CB /* Products */ = { - isa = PBXGroup; - children = ( - E4328148138ABC890047C5CB /* openFrameworksDebug.a */, - ); - name = Products; - sourceTree = ""; - }; - E45BE5980E8CC70C009D7055 /* frameworks */ = { - isa = PBXGroup; - children = ( - BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */, - BBAB23C913894ECA00AA2426 /* system frameworks */, - ); - name = frameworks; - sourceTree = ""; - }; - E4B69B4A0A3A1720003C02F2 = { - isa = PBXGroup; - children = ( - E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */, - E4EB6923138AFD0F00A09F29 /* Project.xcconfig */, - E4B69E1C0A3A1BDC003C02F2 /* src */, - E4EEC9E9138DF44700A80321 /* openFrameworks */, - BB4B014C10F69532006C3DED /* addons */, - E45BE5980E8CC70C009D7055 /* frameworks */, - E4B69B5B0A3A1756003C02F2 /* example_shortcutsDebug.app */, - ); - sourceTree = ""; - }; - E4B69E1C0A3A1BDC003C02F2 /* src */ = { - isa = PBXGroup; - children = ( - E4B69E1D0A3A1BDC003C02F2 /* main.cpp */, - E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */, - E4B69E1F0A3A1BDC003C02F2 /* ofApp.h */, - ); - path = src; - sourceTree = SOURCE_ROOT; - }; - E4EEC9E9138DF44700A80321 /* openFrameworks */ = { - isa = PBXGroup; - children = ( - E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */, - E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */, - ); - name = openFrameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - E4B69B5A0A3A1756003C02F2 /* example_shortcuts */ = { - isa = PBXNativeTarget; - buildConfigurationList = E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "example_shortcuts" */; - buildPhases = ( - E4B69B580A3A1756003C02F2 /* Sources */, - E4B69B590A3A1756003C02F2 /* Frameworks */, - E4B6FFFD0C3F9AB9008CF71C /* ShellScript */, - E4C2427710CC5ABF004149E2 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - E4EEB9AC138B136A00A80321 /* PBXTargetDependency */, - ); - name = example_shortcuts; - productName = myOFApp; - productReference = E4B69B5B0A3A1756003C02F2 /* example_shortcutsDebug.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - E4B69B4C0A3A1720003C02F2 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0720; - }; - buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "example_shortcuts" */; - 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 /* example_shortcuts */, - ); - }; -/* 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 = "rsync -aved ../../../libs/fmodex/lib/osx/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/\"; install_name_tool -change ./libfmodex.dylib @executable_path/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME\";\nmkdir -p \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/\"\nrsync -aved \"$ICON_FILE\" \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/\"\nrsync -aved ../../../libs/glut/lib/osx/GLUT.framework \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Frameworks/\""; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - E4B69B580A3A1756003C02F2 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 013E623B1E2E2FAE00FACF28 /* VideoSource.cpp in Sources */, - 3933D5D819BB87BD000ACA55 /* ofxSlider.cpp in Sources */, - 013E62131E2E2FAE00FACF28 /* MvTexCoordCmd.cpp in Sources */, - 013E62241E2E2FAE00FACF28 /* SetPresetCmd.cpp in Sources */, - 013E621C1E2E2FAE00FACF28 /* SelPrevSurfaceCmd.cpp in Sources */, - 013E623A1E2E2FAE00FACF28 /* OMXPlayerCache.cpp in Sources */, - 013E622C1E2E2FAE00FACF28 /* LayerPanelWidget.cpp in Sources */, - 013E622F1E2E2FAE00FACF28 /* SourcesEditorWidget.cpp in Sources */, - 3933D5DA19BB87BD000ACA55 /* ofxToggle.cpp in Sources */, - 013E62001E2E2FAE00FACF28 /* ApplicationBaseMode.cpp in Sources */, - 013E62391E2E2FAE00FACF28 /* ImageSource.cpp in Sources */, - 3933D5D319BB87BD000ACA55 /* ofxBaseGui.cpp in Sources */, - 013E621D1E2E2FAE00FACF28 /* SelPrevTexCoordCmd.cpp in Sources */, - 013E622E1E2E2FAE00FACF28 /* ScaleWidget.cpp in Sources */, - 3933D5D919BB87BD000ACA55 /* ofxSliderGroup.cpp in Sources */, - 013E62041E2E2FAE00FACF28 /* TextureMappingMode.cpp in Sources */, - 013E62461E2E2FAE00FACF28 /* RadioList.cpp in Sources */, - 013E62441E2E2FAE00FACF28 /* BaseJoint.cpp in Sources */, - 013E62091E2E2FAE00FACF28 /* ClearSurfacesCmd.cpp in Sources */, - 013E62431E2E2FAE00FACF28 /* TriangleSurface.cpp in Sources */, - 013E621A1E2E2FAE00FACF28 /* SelNextTexCoordCmd.cpp in Sources */, - 013E62141E2E2FAE00FACF28 /* RmGridColCmd.cpp in Sources */, - 013E621F1E2E2FAE00FACF28 /* SelSurfaceCmd.cpp in Sources */, - 013E62421E2E2FAE00FACF28 /* SurfaceStack.cpp in Sources */, - 013E62221E2E2FAE00FACF28 /* SetApplicationModeCmd.cpp in Sources */, - 013E62411E2E2FAE00FACF28 /* SurfaceManager.cpp in Sources */, - 013E62211E2E2FAE00FACF28 /* SelVertexCmd.cpp in Sources */, - 013E623C1E2E2FAE00FACF28 /* BaseSurface.cpp in Sources */, - 013E622A1E2E2FAE00FACF28 /* TranslateCanvasCmd.cpp in Sources */, - 013E62301E2E2FAE00FACF28 /* SurfaceHighlightWidget.cpp in Sources */, - 013E623D1E2E2FAE00FACF28 /* GridWarpSurface.cpp in Sources */, - 013E623E1E2E2FAE00FACF28 /* HexagonSurface.cpp in Sources */, - 013E621B1E2E2FAE00FACF28 /* SelNextVertexCmd.cpp in Sources */, - E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */, - 013E62401E2E2FAE00FACF28 /* SurfaceFactory.cpp in Sources */, - 013E62361E2E2FAE00FACF28 /* ofxPiMapper.cpp in Sources */, - 39264843192224F90008A7F5 /* tinyxmlparser.cpp in Sources */, - 3933D5D419BB87BD000ACA55 /* ofxButton.cpp in Sources */, - 013E62311E2E2FAE00FACF28 /* TextureEditorWidget.cpp in Sources */, - 013E62061E2E2FAE00FACF28 /* AddGridColCmd.cpp in Sources */, - 013E62351E2E2FAE00FACF28 /* MediaServer.cpp in Sources */, - 013E620F1E2E2FAE00FACF28 /* MvLayerDnCmd.cpp in Sources */, - 013E62181E2E2FAE00FACF28 /* ScaleSurfaceFromToCmd.cpp in Sources */, - 013E62201E2E2FAE00FACF28 /* SelTexCoordCmd.cpp in Sources */, - 013E62101E2E2FAE00FACF28 /* MvLayerUpCmd.cpp in Sources */, - 39264841192224F90008A7F5 /* tinyxml.cpp in Sources */, - 013E62171E2E2FAE00FACF28 /* SaveTexCoordPosCmd.cpp in Sources */, - 013E62161E2E2FAE00FACF28 /* RmSurfaceCmd.cpp in Sources */, - 013E620A1E2E2FAE00FACF28 /* CmdManager.cpp in Sources */, - 013E62191E2E2FAE00FACF28 /* SelNextSurfaceCmd.cpp in Sources */, - 013E62251E2E2FAE00FACF28 /* SetSourceCmd.cpp in Sources */, - 013E61FF1E2E2FAE00FACF28 /* Application.cpp in Sources */, - 013E620D1E2E2FAE00FACF28 /* DuplicateSurfaceCmd.cpp in Sources */, - 013E62341E2E2FAE00FACF28 /* DirectoryWatcher.cpp in Sources */, - 013E623F1E2E2FAE00FACF28 /* QuadSurface.cpp in Sources */, - 013E62271E2E2FAE00FACF28 /* StartDragSurfaceCmd.cpp in Sources */, - 3933D5D619BB87BD000ACA55 /* ofxLabel.cpp in Sources */, - 013E622D1E2E2FAE00FACF28 /* ProjectionEditorWidget.cpp in Sources */, - 013E62111E2E2FAE00FACF28 /* MvSelectionCmd.cpp in Sources */, - E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */, - 013E62281E2E2FAE00FACF28 /* ToggleAnimatedSourceCmd.cpp in Sources */, - 013E621E1E2E2FAE00FACF28 /* SelPrevVertexCmd.cpp in Sources */, - 3933D5D719BB87BD000ACA55 /* ofxPanel.cpp in Sources */, - 013E62331E2E2FAE00FACF28 /* Info.cpp in Sources */, - 013E620E1E2E2FAE00FACF28 /* MvAllTexCoordsCmd.cpp in Sources */, - 013E62051E2E2FAE00FACF28 /* SettingsLoader.cpp in Sources */, - 013E62031E2E2FAE00FACF28 /* SourceSelectionMode.cpp in Sources */, - 013E62081E2E2FAE00FACF28 /* AddSurfaceCmd.cpp in Sources */, - 013E622B1E2E2FAE00FACF28 /* Gui.cpp in Sources */, - 013E62381E2E2FAE00FACF28 /* FboSource.cpp in Sources */, - 013E62071E2E2FAE00FACF28 /* AddGridRowCmd.cpp in Sources */, - 013E62291E2E2FAE00FACF28 /* TogglePerspectiveCmd.cpp in Sources */, - 013E620C1E2E2FAE00FACF28 /* DeselectTexCoordCmd.cpp in Sources */, - 013E62121E2E2FAE00FACF28 /* MvSurfaceVertCmd.cpp in Sources */, - 013E62451E2E2FAE00FACF28 /* CircleJoint.cpp in Sources */, - 013E62021E2E2FAE00FACF28 /* ProjectionMappingMode.cpp in Sources */, - 013E62231E2E2FAE00FACF28 /* SetNextSourceCmd.cpp in Sources */, - 013E62321E2E2FAE00FACF28 /* TextureHighlightWidget.cpp in Sources */, - 39264842192224F90008A7F5 /* tinyxmlerror.cpp in Sources */, - 3926483B192224DA0008A7F5 /* ofxXmlSettings.cpp in Sources */, - 3933D5D519BB87BD000ACA55 /* ofxGuiGroup.cpp in Sources */, - 013E62261E2E2FAE00FACF28 /* SetTexMapDrawModeCmd.cpp in Sources */, - 013E620B1E2E2FAE00FACF28 /* DeselectSurfaceCmd.cpp in Sources */, - 013E62011E2E2FAE00FACF28 /* PresentationMode.cpp in Sources */, - 013E62151E2E2FAE00FACF28 /* RmGridRowCmd.cpp in Sources */, - 013E62371E2E2FAE00FACF28 /* BaseSource.cpp in Sources */, - 013E62471E2E2FAE00FACF28 /* HomographyHelper.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 = { - COMBINE_HIDPI_IMAGES = YES; - CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; - COPY_PHASE_STRIP = NO; - DEAD_CODE_STRIPPING = YES; - ENABLE_TESTABILITY = 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, - ); - INFOPLIST_FILE = "openFrameworks-Info.plist"; - MACH_O_TYPE = mh_execute; - MACOSX_DEPLOYMENT_TARGET = 10.7; - ONLY_ACTIVE_ARCH = YES; - OTHER_CPLUSPLUSFLAGS = ( - "-D__MACOSX_CORE__", - "-lpthread", - "-mtune=native", - ); - OTHER_LDFLAGS = ( - "$(OF_CORE_LIBS)", - "$(OF_CORE_FRAMEWORKS)", - ); - PRIVATE_HEADERS_FOLDER_PATH = "$(PRODUCT_NAME:c99extidentifier)"; - SDKROOT = macosx; - }; - name = Debug; - }; - E4B69B4F0A3A1720003C02F2 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; - buildSettings = { - COMBINE_HIDPI_IMAGES = YES; - 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, - ); - INFOPLIST_FILE = "openFrameworks-Info.plist"; - MACH_O_TYPE = mh_execute; - MACOSX_DEPLOYMENT_TARGET = 10.7; - OTHER_CPLUSPLUSFLAGS = ( - "-D__MACOSX_CORE__", - "-lpthread", - "-mtune=native", - ); - OTHER_LDFLAGS = ( - "$(OF_CORE_LIBS)", - "$(OF_CORE_FRAMEWORKS)", - ); - PRIVATE_HEADERS_FOLDER_PATH = "$(PRODUCT_NAME:c99extidentifier)"; - SDKROOT = macosx; - }; - name = Release; - }; - E4B69B600A3A1757003C02F2 /* Debug */ = { - isa = XCBuildConfiguration; - 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, - ); - ICON = "$(ICON_NAME_DEBUG)"; - ICON_FILE = "$(ICON_FILE_PATH)$(ICON)"; - 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)", - ); - MACOSX_DEPLOYMENT_TARGET = 10.11; - OTHER_LDFLAGS = ( - "$(OF_CORE_LIBS)", - "$(OF_CORE_FRAMEWORKS)", - ); - PRODUCT_BUNDLE_IDENTIFIER = cc.openFrameworks.ofapp; - PRODUCT_NAME = example_shortcutsDebug; - SDKROOT = macosx; - WRAPPER_EXTENSION = app; - }; - name = Debug; - }; - E4B69B610A3A1757003C02F2 /* Release */ = { - isa = XCBuildConfiguration; - 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, - ); - ICON = "$(ICON_NAME_RELEASE)"; - ICON_FILE = "$(ICON_FILE_PATH)$(ICON)"; - 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)", - ); - MACOSX_DEPLOYMENT_TARGET = 10.11; - OTHER_LDFLAGS = ( - "$(OF_CORE_LIBS)", - "$(OF_CORE_FRAMEWORKS)", - ); - PRODUCT_BUNDLE_IDENTIFIER = cc.openFrameworks.ofapp; - PRODUCT_NAME = example_shortcuts; - SDKROOT = macosx; - WRAPPER_EXTENSION = app; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "example_shortcuts" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E4B69B4E0A3A1720003C02F2 /* Debug */, - E4B69B4F0A3A1720003C02F2 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "example_shortcuts" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E4B69B600A3A1757003C02F2 /* Debug */, - E4B69B610A3A1757003C02F2 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = E4B69B4C0A3A1720003C02F2 /* Project object */; -} diff --git a/example_simpler/addons.make b/example_simpler/addons.make index e72d2dd..963941c 100644 --- a/example_simpler/addons.make +++ b/example_simpler/addons.make @@ -1,3 +1,4 @@ ofxGui ofxPiMapper ofxXmlSettings +ofxOMXPlayer diff --git a/example_simpler/src/CustomSource.h b/example_simpler/src/CustomSource.h index 9a3ce04..a473d73 100644 --- a/example_simpler/src/CustomSource.h +++ b/example_simpler/src/CustomSource.h @@ -9,6 +9,6 @@ class CustomSource : public ofx::piMapper::FboSource { void update(); void draw(); - vector rects; - vector rectSpeeds; + std::vector rects; + std::vector rectSpeeds; }; \ No newline at end of file diff --git a/example_simpler/src/main.cpp b/example_simpler/src/main.cpp index e5733f9..764dcff 100644 --- a/example_simpler/src/main.cpp +++ b/example_simpler/src/main.cpp @@ -7,7 +7,7 @@ int main(int argc, char * argv[]){ bool fullscreen = false; - vector arguments = vector(argv, argv + argc); + std::vector arguments = std::vector(argv, argv + argc); for(int i = 0; i < arguments.size(); ++i){ if(arguments.at(i) == "-f"){ fullscreen = true; diff --git a/src/Application/Application.cpp b/src/Application/Application.cpp index 7ecaf44..89bd67b 100644 --- a/src/Application/Application.cpp +++ b/src/Application/Application.cpp @@ -102,7 +102,7 @@ void Application::onKeyPressed(ofKeyEventArgs & args){ break; case '/': - _shiftKeyDown = !_shiftKeyDown; + toggleShift(); break; case '1': @@ -132,8 +132,8 @@ void Application::onKeyPressed(ofKeyEventArgs & args){ case 'z': undo(); break; - - case 'n': + + case 'f': setNextPreset(); break; @@ -199,7 +199,7 @@ void Application::eraseSurface(int i){ } } -void Application::setInfoText(string text){ +void Application::setInfoText(std::string text){ _info.setText(text); } @@ -231,6 +231,11 @@ bool Application::isShiftKeyDown(){ return _shiftKeyDown; } +bool Application::toggleShift(){ + _shiftKeyDown = !_shiftKeyDown; + return _shiftKeyDown; +} + void Application::setPreset(unsigned int i){ _cmdManager.exec(new SetPresetCmd(this, i)); } @@ -265,13 +270,13 @@ void Application::shutdown(){ #endif } -bool Application::loadXmlSettings(string fileName){ +bool Application::loadXmlSettings(std::string fileName){ if(!ofFile::doesFileExist(fileName)){ ofLogError("Application::loadXmlSettings()") << fileName << " does not exist"; return false; } if(!_surfaceManager.loadXmlSettings(fileName)){ - ofLogError("Application::loadXmlSettings()") << "Failed to load " << fileName << endl; + ofLogError("Application::loadXmlSettings()") << "Failed to load " << fileName << std::endl; return false; } return true; @@ -356,13 +361,14 @@ void Application::selectPrevTexCoord(){ } } -void Application::moveSelection(ofVec2f by){ +void Application::moveSelection(Vec3 by){ if(_state == ProjectionMappingMode::instance()){ getCmdManager()->exec(new MvSelectionCmd(getSurfaceManager(), by)); }else if(_state == TextureMappingMode::instance()){ + Vec2 tcBy(by.x, by.y); int selectedTexCoord = Gui::instance()->getTextureEditorWidget().getSelectedTexCoord(); if(selectedTexCoord >= 0){ - moveTexCoord(selectedTexCoord, by); + moveTexCoord(selectedTexCoord, tcBy); } } } @@ -463,7 +469,7 @@ void Application::setNextSource(){ } } -void Application::setFboSource(string sourceId){ +void Application::setFboSource(std::string sourceId){ if(getSurfaceManager()->getSelectedSurface() != 0){ getCmdManager()->exec( new SetSourceCmd( @@ -541,7 +547,7 @@ void Application::togglePause(){ } } -void Application::moveTexCoord(int texCoordIndex, ofVec2f by){ +void Application::moveTexCoord(int texCoordIndex, Vec2 by){ if(texCoordIndex >= 0){ getCmdManager()->exec(new MvTexCoordCmd(texCoordIndex, by)); }else{ @@ -563,5 +569,11 @@ void Application::deselect(){ } } +void Application::toggleLayerPanel(){ + if(getState() == ProjectionMappingMode::instance()){ + ProjectionMappingMode::instance()->toggleLayerPanel(); + } +} + } // namespace piMapper } // namespace ofx diff --git a/src/Application/Application.h b/src/Application/Application.h index fd455da..0546e4e 100644 --- a/src/Application/Application.h +++ b/src/Application/Application.h @@ -1,5 +1,7 @@ #pragma once +#include + // OpenFrameworks components #include "ofEvents.h" #include "ofLog.h" @@ -9,6 +11,7 @@ #include "Info.h" #include "SurfaceStack.h" #include "Gui.h" +#include "Vec2.h" // Commands #include "SetApplicationModeCmd.h" @@ -86,13 +89,14 @@ class Application { void addFboSource(FboSource * fboSource); void createSurface(SurfaceType type); void eraseSurface(int i); - void setInfoText(string text); + void setInfoText(std::string text); void toggleInfo(); void togglePerspective(); void saveProject(); - bool loadXmlSettings(string fileName); + bool loadXmlSettings(std::string fileName); bool isShiftKeyDown(); + bool toggleShift(); SurfaceManager * getSurfaceManager(){ return &_surfaceManager; } CmdManager * getCmdManager(){ return &_cmdManager; } @@ -113,7 +117,7 @@ class Application { Moves vertex when in projection mapping mode. Moves texture coordinate when in texture mapping mode. */ - void moveSelection(ofVec2f by); + void moveSelection(Vec3 by); void setPresentationMode(); void setTextureMode(); @@ -125,17 +129,18 @@ class Application { void scaleDown(); void duplicateSurface(); void setNextSource(); - void setFboSource(string sourceId); + void setFboSource(std::string sourceId); void addGridRow(); void addGridColumn(); void removeGridRow(); void removeGridColumn(); void togglePause(); - void moveTexCoord(int texCoordIndex, ofVec2f by); + void moveTexCoord(int texCoordIndex, Vec2 by); // TODO: Add moveVertex. // Make it so that other parts of the application react to the change. void undo(); void deselect(); + void toggleLayerPanel(); void setPreset(unsigned int i); void setNextPreset(); @@ -163,7 +168,7 @@ class Application { float _lastSaveTime; float _autoSaveInterval; - string _keySequence; + std::string _keySequence; }; diff --git a/src/Application/Modes/ProjectionMappingMode.cpp b/src/Application/Modes/ProjectionMappingMode.cpp index 39d4f5b..8293471 100644 --- a/src/Application/Modes/ProjectionMappingMode.cpp +++ b/src/Application/Modes/ProjectionMappingMode.cpp @@ -49,9 +49,13 @@ void ProjectionMappingMode::draw(Application * app){ Gui::instance()->getSurfaceHighlightWidget().draw(); } +void ProjectionMappingMode::toggleLayerPanel(){ + _bDrawLayerPanel = !_bDrawLayerPanel; +} + void ProjectionMappingMode::onKeyPressed(Application * app, ofKeyEventArgs & args){ switch(args.key){ - + case 't': app->createSurface(SurfaceType::TRIANGLE_SURFACE); break; @@ -59,7 +63,7 @@ void ProjectionMappingMode::onKeyPressed(Application * app, ofKeyEventArgs & arg case 'q': app->createSurface(SurfaceType::QUAD_SURFACE); break; - + case 'g': app->createSurface(SurfaceType::GRID_WARP_SURFACE); break; @@ -67,6 +71,10 @@ void ProjectionMappingMode::onKeyPressed(Application * app, ofKeyEventArgs & arg case 'h': app->createSurface(SurfaceType::HEXAGON_SURFACE); break; + + case 'c': + app->createSurface(SurfaceType::CIRCLE_SURFACE); + break; case OF_KEY_BACKSPACE: app->eraseSurface(app->getSurfaceManager()->getSelectedSurfaceIndex()); @@ -87,19 +95,19 @@ void ProjectionMappingMode::onKeyPressed(Application * app, ofKeyEventArgs & arg case ']': app->addGridColumn(); break; - + case '[': app->removeGridColumn(); break; - + case '.': app->selectNextSurface(); break; - + case ',': app->selectPrevSurface(); break; - + case '>': app->selectNextVertex(); break; @@ -110,40 +118,40 @@ void ProjectionMappingMode::onKeyPressed(Application * app, ofKeyEventArgs & arg case OF_KEY_UP: if(app->isShiftKeyDown()){ - app->moveSelection(ofVec2f(0.0f, -10.0f)); + app->moveSelection(Vec3(0.0f, -10.0f, 0.0f)); }else{ - app->moveSelection(ofVec2f(0.0f, -1.0f)); + app->moveSelection(Vec3(0.0f, -1.0f, 0.0f)); } break; - + case OF_KEY_DOWN: if(app->isShiftKeyDown()){ - app->moveSelection(ofVec2f(0.0f, 10.0f)); + app->moveSelection(Vec3(0.0f, 10.0f, 0.0f)); }else{ - app->moveSelection(ofVec2f(0.0f, 1.0f)); + app->moveSelection(Vec3(0.0f, 1.0f, 0.0f)); } break; - + case OF_KEY_LEFT: if(app->isShiftKeyDown()){ - app->moveSelection(ofVec2f(-10.0f, 0.0f)); + app->moveSelection(Vec3(-10.0f, 0.0f, 0.0f)); }else{ - app->moveSelection(ofVec2f(-1.0f, 0.0f)); + app->moveSelection(Vec3(-1.0f, 0.0f, 0.0f)); } break; case OF_KEY_RIGHT: if(app->isShiftKeyDown()){ - app->moveSelection(ofVec2f(10.0f, 0.0f)); + app->moveSelection(Vec3(10.0f, 0.0f, 0.0f)); }else{ - app->moveSelection(ofVec2f(1.0f, 0.0f)); + app->moveSelection(Vec3(1.0f, 0.0f, 0.0f)); } break; - + case ' ': app->togglePause(); break; - + case OF_KEY_TAB: app->setNextSource(); break; @@ -151,7 +159,7 @@ void ProjectionMappingMode::onKeyPressed(Application * app, ofKeyEventArgs & arg case 'd': app->duplicateSurface(); break; - + case '0': // Move selected surface up the layer stack app->moveLayerUp(); break; @@ -159,7 +167,7 @@ void ProjectionMappingMode::onKeyPressed(Application * app, ofKeyEventArgs & arg case '9': // Move selected surface down the layer stack app->moveLayerDown(); break; - + case '+': // Scale surface up app->scaleUp(); break; @@ -169,7 +177,7 @@ void ProjectionMappingMode::onKeyPressed(Application * app, ofKeyEventArgs & arg break; case 'l': - _bDrawLayerPanel = !_bDrawLayerPanel; + toggleLayerPanel(); break; /* @@ -177,7 +185,7 @@ void ProjectionMappingMode::onKeyPressed(Application * app, ofKeyEventArgs & arg app->getSurfaceManager()->setNextPreset(); break; */ - + default: break; } @@ -190,8 +198,8 @@ void ProjectionMappingMode::onMousePressed(Application * app, ofMouseEventArgs & int hitJointIndex = -1; BaseSurface * hitSurface = 0; - hitJoint = Gui::instance()->getProjectionEditorWidget().hitTestJoints(ofVec2f(args.x, args.y)); - + hitJoint = Gui::instance()->getProjectionEditorWidget().hitTestJoints(Vec2(args.x, args.y)); + if(hitJoint){ for(int i = Gui::instance()->getProjectionEditorWidget().getJoints()->size() - 1; i >= 0 ; --i){ if((*Gui::instance()->getProjectionEditorWidget().getJoints())[i] == hitJoint){ @@ -201,13 +209,13 @@ void ProjectionMappingMode::onMousePressed(Application * app, ofMouseEventArgs & } }else{ for(int i = app->getSurfaceManager()->size() - 1; i >= 0; --i){ - if(app->getSurfaceManager()->getSurface(i)->hitTest(ofVec2f(args.x, args.y))){ + if(app->getSurfaceManager()->getSurface(i)->hitTest(Vec2(args.x, args.y))){ hitSurface = app->getSurfaceManager()->getSurface(i); break; } } } - + if(Gui::instance()->getScaleWidget().inside(args.x, args.y)){ // }else if(hitJoint){ @@ -215,7 +223,7 @@ void ProjectionMappingMode::onMousePressed(Application * app, ofMouseEventArgs & hitJoint->startDrag(); Gui::instance()->notifyJointPressed(args, hitJointIndex); }else if(hitSurface){ - _clickPosition = ofVec2f(args.x, args.y); // TODO: redesign this so we can use a kind of + _clickPosition = Vec2(args.x, args.y); // TODO: redesign this so we can use a kind of // display stack. _bSurfaceDrag = true; // TODO: Should be something like `hitSurface->startDrag()` Gui::instance()->notifySurfacePressed(args, hitSurface); @@ -230,15 +238,18 @@ void ProjectionMappingMode::onMouseReleased(Application * app, ofMouseEventArgs Gui::instance()->getProjectionEditorWidget().stopDragJoints(); } -void ProjectionMappingMode::onMouseDragged(Application * app, ofMouseEventArgs & args){ +void ProjectionMappingMode::onMouseDragged(Application * app, ofMouseEventArgs & args){ Gui::instance()->onMouseDragged(args); Gui::instance()->getProjectionEditorWidget().mouseDragged(args); // TODO: Handle app->getGui()->clickPosition and app->getGui()->bDrag locally. if(_bSurfaceDrag){ - ofVec2f mousePosition = ofVec2f(args.x, args.y); - ofVec2f distance = mousePosition - _clickPosition; - Gui::instance()->getProjectionEditorWidget().moveSelectedSurface(distance); + Vec2 mousePosition = Vec2(args.x, args.y); + Vec2 distance = mousePosition - _clickPosition; + Gui::instance()->getProjectionEditorWidget().moveSelectedSurface(Vec3( + distance.x, + distance.y, + 0.0f)); _clickPosition = mousePosition; } } @@ -295,4 +306,4 @@ void ProjectionMappingMode::onGuiEvent(Application * app, GuiEvent & e){ } } // namespace piMapper -} // namespace ofx \ No newline at end of file +} // namespace ofx diff --git a/src/Application/Modes/ProjectionMappingMode.h b/src/Application/Modes/ProjectionMappingMode.h index 1e10ca0..eca83a1 100644 --- a/src/Application/Modes/ProjectionMappingMode.h +++ b/src/Application/Modes/ProjectionMappingMode.h @@ -9,6 +9,8 @@ #include "SurfaceType.h" #include "Gui.h" #include "ScaleWidget.h" +#include "Vec2.h" +#include "Vec3.h" namespace ofx { namespace piMapper { @@ -21,6 +23,9 @@ class ProjectionMappingMode : public ApplicationBaseMode { void setup(Application * app); void update(Application * app); void draw(Application * app); + + void toggleLayerPanel(); + void onKeyPressed(Application * app, ofKeyEventArgs & args); void onMousePressed(Application * app, ofMouseEventArgs & args); void onMouseReleased(Application * app, ofMouseEventArgs & args); @@ -38,7 +43,7 @@ class ProjectionMappingMode : public ApplicationBaseMode { float _surfaceScaleBeforeTransform; - ofVec2f _clickPosition; + Vec2 _clickPosition; bool _bSurfaceDrag; bool _bDrawLayerPanel; diff --git a/src/Application/Modes/SourceSelectionMode.cpp b/src/Application/Modes/SourceSelectionMode.cpp index 7c8f916..fb7d512 100644 --- a/src/Application/Modes/SourceSelectionMode.cpp +++ b/src/Application/Modes/SourceSelectionMode.cpp @@ -33,4 +33,5 @@ void SourceSelectionMode::draw(Application * app){ } } // namespace piMapper -} // namespace ofx \ No newline at end of file +} // namespace ofx + diff --git a/src/Application/Modes/TextureMappingMode.cpp b/src/Application/Modes/TextureMappingMode.cpp index 874caba..7a08a8d 100644 --- a/src/Application/Modes/TextureMappingMode.cpp +++ b/src/Application/Modes/TextureMappingMode.cpp @@ -73,7 +73,6 @@ void TextureMappingMode::draw(Application * app){ } void TextureMappingMode::onKeyPressed(Application * app, ofKeyEventArgs & args){ - int key = args.key; float moveStep; if(app->isShiftKeyDown()){ @@ -85,25 +84,25 @@ void TextureMappingMode::onKeyPressed(Application * app, ofKeyEventArgs & args){ switch(args.key){ case OF_KEY_LEFT: - moveSelectedTexCoord(app, ofVec2f(-moveStep, 0.0f)); + moveSelectedTexCoord(app, Vec2(-moveStep, 0.0f)); break; case OF_KEY_RIGHT: - moveSelectedTexCoord(app, ofVec2f(moveStep, 0.0f)); + moveSelectedTexCoord(app, Vec2(moveStep, 0.0f)); break; case OF_KEY_UP: - moveSelectedTexCoord(app, ofVec2f(0.0f, -moveStep)); + moveSelectedTexCoord(app, Vec2(0.0f, -moveStep)); break; case OF_KEY_DOWN: - moveSelectedTexCoord(app, ofVec2f(0.0f, moveStep)); + moveSelectedTexCoord(app, Vec2(0.0f, moveStep)); break; case '>': app->selectNextTexCoord(); break; - + case '<': app->selectPrevTexCoord(); break; @@ -111,7 +110,7 @@ void TextureMappingMode::onKeyPressed(Application * app, ofKeyEventArgs & args){ case ' ': app->togglePause(); break; - + case OF_KEY_TAB: app->setNextSource(); break; @@ -123,7 +122,7 @@ void TextureMappingMode::onKeyPressed(Application * app, ofKeyEventArgs & args){ case '9': // Prew draw mode app->getCmdManager()->exec(new SetTexMapDrawModeCmd( this, getPrevDrawMode() )); break; - + } } @@ -159,7 +158,7 @@ void TextureMappingMode::onMousePressed(Application * app, ofMouseEventArgs & ar CircleJoint * hitJoint = Gui::instance()->getTextureEditorWidget().hitTestJoints( - ofVec2f(args.x, args.y)); + Vec2(args.x, args.y)); if(hitJoint != 0){ hitJoint->mousePressed(args); @@ -220,7 +219,7 @@ void TextureMappingMode::onMouseReleased(Application * app, ofMouseEventArgs & a // create an undoable move tex coord command. int selectedTexCoord = Gui::instance()->getTextureEditorWidget().getSelectedTexCoord(); if(selectedTexCoord >= 0){ - ofVec2f texCoordCurrent = + Vec2 texCoordCurrent = app->getSurfaceManager()->getSelectedSurface()->getTexCoords()[selectedTexCoord]; if(texCoordCurrent != _texCoordOnClick){ @@ -247,7 +246,8 @@ void TextureMappingMode::onMouseDragged(Application * app, ofMouseEventArgs & ar if(_bCropAreaDrag){ ofPoint mousePosition = ofPoint(args.x, args.y); ofPoint distance = mousePosition - _clickPosition; - Gui::instance()->getTextureEditorWidget().moveTexCoords(distance); + Vec2 d = Vec2(distance.x, distance.y); + Gui::instance()->getTextureEditorWidget().moveTexCoords(d); _clickPosition = mousePosition; } }else{ @@ -263,7 +263,7 @@ void TextureMappingMode::drawTexture(Application * app){ ofEnableNormalizedTexCoords(); ofSetColor(255, 255, 255, 255); - app->getSurfaceManager()->getSelectedSurface()->drawTexture(ofVec2f(0, 0)); + app->getSurfaceManager()->getSelectedSurface()->drawTexture(Vec3(0.0f, 0.0f, 0.0f)); if(!normalizedTexCoords){ ofDisableNormalizedTexCoords(); @@ -271,7 +271,7 @@ void TextureMappingMode::drawTexture(Application * app){ } } -void TextureMappingMode::moveSelectedTexCoord(Application * app, ofVec2f by){ +void TextureMappingMode::moveSelectedTexCoord(Application * app, Vec2 by){ if(app->getSurfaceManager()->getSelectedSurface() != 0){ int selectedTexCoord = Gui::instance()->getTextureEditorWidget().getSelectedTexCoord(); app->moveTexCoord(selectedTexCoord, by); @@ -316,4 +316,4 @@ int TextureMappingMode::getPrevDrawMode(){ } } // namespace piMapper -} // namespace ofx \ No newline at end of file +} // namespace ofx diff --git a/src/Application/Modes/TextureMappingMode.h b/src/Application/Modes/TextureMappingMode.h index ac3e5af..ae6eba1 100644 --- a/src/Application/Modes/TextureMappingMode.h +++ b/src/Application/Modes/TextureMappingMode.h @@ -13,6 +13,7 @@ #include "SaveTexCoordPosCmd.h" #include "SelTexCoordCmd.h" #include "Gui.h" +#include "Vec2.h" namespace ofx { namespace piMapper { @@ -34,7 +35,7 @@ class TextureMappingMode : public ApplicationBaseMode { void onGuiEvent(Application * app, GuiEvent & e){} void drawTexture(Application * app); - void moveSelectedTexCoord(Application * app, ofVec2f by); + void moveSelectedTexCoord(Application * app, Vec2 by); void selectNextVertex(Application * app); void selectPrevVertex(Application * app); @@ -62,7 +63,7 @@ class TextureMappingMode : public ApplicationBaseMode { ofPoint _prevCanvasTranslate; ofPoint _clickCanvasTranslate; - ofVec2f _texCoordOnClick; + Vec2 _texCoordOnClick; }; diff --git a/src/Application/SettingsLoader.cpp b/src/Application/SettingsLoader.cpp index 9f8d5fd..098a42b 100644 --- a/src/Application/SettingsLoader.cpp +++ b/src/Application/SettingsLoader.cpp @@ -19,47 +19,47 @@ SettingsLoader::SettingsLoader(){ bool SettingsLoader::load( SurfaceManager & surfaceManager, MediaServer & mediaServer, - string fileName){ - + std::string fileName){ + ofxXmlSettings * xmlSettings = new ofxXmlSettings(); - string sourceType = ""; - string sourceName = ""; - + std::string sourceType = ""; + std::string sourceName = ""; + BaseSource * source = 0; - + if(!xmlSettings->loadFile(fileName)){ ofLogWarning("SettingsLoader::load()") << "Could not load XML settings"; return false; } - + if(!xmlSettings->tagExists("surfaces")){ xmlSettings->addTag("surfaces"); } - + // Count tags. unsigned int numPresets = xmlSettings->getNumTags("surfaces"); - cout << "numPresets: " << numPresets << endl; - + std::cout << "numPresets: " << numPresets << std::endl; + // Clear previous presets and surfaces first. surfaceManager.clearPresets(); - + // Loop through tags in the XML. for(unsigned int i = 0; i < numPresets; ++i){ - + xmlSettings->pushTag("surfaces", i); - + SurfaceStack * surfaces = surfaceManager.createPreset(); int numSurfaces = xmlSettings->getNumTags("surface"); for(int i = 0; i < numSurfaces; i++){ if(xmlSettings->tagExists("surface", i)){ - + SurfaceType type = SurfaceType::NONE; if(xmlSettings->attributeExists("surface", "type")){ type = static_cast( xmlSettings->getAttribute("surface", "type", 0, i)); } - + xmlSettings->pushTag("surface", i); // attempt to load surface source @@ -79,10 +79,10 @@ bool SettingsLoader::load( }else{ // Construct full path - string dir = mediaServer.getDefaultMediaDir(typeEnum); - stringstream pathss; + std::string dir = mediaServer.getDefaultMediaDir(typeEnum); + std::stringstream pathss; pathss << ofToDataPath(dir, true) << sourceName; - string sourcePath = pathss.str(); + std::string sourcePath = pathss.str(); // Load media by using full path source = mediaServer.loadMedia(sourcePath, typeEnum); @@ -122,6 +122,13 @@ bool SettingsLoader::load( quadSurface->setSource(source); } surfaces->push_back(quadSurface); + }else if(type == SurfaceType::CIRCLE_SURFACE){ + QuadSurface * base = (QuadSurface*)getQuadSurface(xmlSettings); + CircleSurface * circleSurface = new CircleSurface(*base); + if(sourceName != "none" && source != 0){ + circleSurface->setSource(source); + } + surfaces->push_back(circleSurface); }else if(type == SurfaceType::GRID_WARP_SURFACE){ BaseSurface * gridWarpSurface = getGridWarpSurface(xmlSettings); if(sourceName != "none" && source != 0){ @@ -150,7 +157,7 @@ bool SettingsLoader::load( } // TODO: Save all presets, not just the active one. -bool SettingsLoader::save(SurfaceManager & surfaceManager, string fileName){ +bool SettingsLoader::save(SurfaceManager & surfaceManager, std::string fileName){ ofxXmlSettings * xmlSettings = new ofxXmlSettings(); @@ -171,11 +178,11 @@ bool SettingsLoader::save(SurfaceManager & surfaceManager, string fileName){ xmlSettings->pushTag("surface", i); xmlSettings->addTag("vertices"); xmlSettings->pushTag("vertices"); - vector * vertices = &surface->getVertices(); - for(int j = 0; j < vertices->size(); j++){ + std::vector vertices = surface->getVertices(); + for(int j = 0; j < vertices.size(); j++){ xmlSettings->addTag("vertex"); xmlSettings->pushTag("vertex", j); - ofVec3f * vertex = &(*vertices)[j]; + Vec3 * vertex = &vertices[j]; xmlSettings->addValue("x", vertex->x); xmlSettings->addValue("y", vertex->y); @@ -187,11 +194,11 @@ bool SettingsLoader::save(SurfaceManager & surfaceManager, string fileName){ xmlSettings->addTag("texCoords"); xmlSettings->pushTag("texCoords"); - vector * texCoords = &surface->getTexCoords(); - for(int j = 0; j < texCoords->size(); j++){ + std::vector texCoords = surface->getTexCoords(); + for(int j = 0; j < texCoords.size(); j++){ xmlSettings->addTag("texCoord"); xmlSettings->pushTag("texCoord", j); - ofVec2f * texCoord = &(*texCoords)[j]; + Vec2 * texCoord = &texCoords[j]; xmlSettings->addValue("x", texCoord->x); xmlSettings->addValue("y", texCoord->y); xmlSettings->popTag(); // texCoord @@ -200,16 +207,17 @@ bool SettingsLoader::save(SurfaceManager & surfaceManager, string fileName){ xmlSettings->addTag("source"); xmlSettings->pushTag("source"); - string sourceTypeName = SourceTypeHelper::GetSourceTypeHelperName(surface->getSource()->getType()); + std::string sourceTypeName = SourceTypeHelper::GetSourceTypeHelperName(surface->getSource()->getType()); xmlSettings->addValue("source-type", sourceTypeName); - string sourceName = surface->getSource()->getName(); + std::string sourceName = surface->getSource()->getName(); xmlSettings->addValue("source-name", (sourceName == "") ? "none" : sourceName); xmlSettings->popTag(); // source // Save surface options // For now only if quad surface - if(surface->getType() == SurfaceType::QUAD_SURFACE){ + if (surface->getType() == SurfaceType::QUAD_SURFACE || + surface->getType() == SurfaceType::CIRCLE_SURFACE) { QuadSurface * qs = (QuadSurface *)surface; if(!xmlSettings->tagExists("properties")){ xmlSettings->addTag("properties"); @@ -227,74 +235,80 @@ bool SettingsLoader::save(SurfaceManager & surfaceManager, string fileName){ xmlSettings->addValue("gridRows", gws->getGridRows()); xmlSettings->popTag(); } - + xmlSettings->popTag(); // surface } xmlSettings->popTag(); // surfaces - + } // for - - xmlSettings->save(fileName); + + return xmlSettings->save(fileName); } -bool SettingsLoader::create(string fileName){ +bool SettingsLoader::create(std::string fileName){ ofxXmlSettings xml; xml.addTag("surfaces"); return xml.save(fileName); } BaseSurface * SettingsLoader::getTriangleSurface(ofxXmlSettings * xmlSettings){ - vector vertices; - + std::vector vertices; + if(xmlSettings->tagExists("vertices")){ xmlSettings->pushTag("vertices"); - + if(xmlSettings->tagExists("vertex", 0)){ xmlSettings->pushTag("vertex", 0); - vertices.push_back(ofVec2f(xmlSettings->getValue("x", 0.0f), - xmlSettings->getValue("y", 0.0f))); + vertices.push_back(Vec3( + xmlSettings->getValue("x", 0.0f), + xmlSettings->getValue("y", 0.0f), + 0.0f)); xmlSettings->popTag(); } - + if(xmlSettings->tagExists("vertex", 1)){ xmlSettings->pushTag("vertex", 1); - vertices.push_back(ofVec2f(xmlSettings->getValue("x", 100.0f), - xmlSettings->getValue("y", 0.0f))); + vertices.push_back(Vec3( + xmlSettings->getValue("x", 100.0f), + xmlSettings->getValue("y", 0.0f), + 0.0f)); xmlSettings->popTag(); } if(xmlSettings->tagExists("vertex", 2)){ xmlSettings->pushTag("vertex", 2); - vertices.push_back(ofVec2f(xmlSettings->getValue("x", 0.0f), - xmlSettings->getValue("y", 100.0f))); + vertices.push_back(Vec3( + xmlSettings->getValue("x", 0.0f), + xmlSettings->getValue("y", 100.0f), + 0.0f)); xmlSettings->popTag(); } xmlSettings->popTag(); // vertices } - vector texCoords; + std::vector texCoords; if(xmlSettings->tagExists("texCoords")){ xmlSettings->pushTag("texCoords"); - + if(xmlSettings->tagExists("texCoord", 0)){ xmlSettings->pushTag("texCoord", 0); - texCoords.push_back(ofVec2f(xmlSettings->getValue("x", 0.0f), + texCoords.push_back(Vec2(xmlSettings->getValue("x", 0.0f), xmlSettings->getValue("y", 0.0f))); xmlSettings->popTag(); } - + if(xmlSettings->tagExists("texCoord", 1)){ xmlSettings->pushTag("texCoord", 1); - texCoords.push_back(ofVec2f(xmlSettings->getValue("x", 1.0f), + texCoords.push_back(Vec2(xmlSettings->getValue("x", 1.0f), xmlSettings->getValue("y", 0.0f))); xmlSettings->popTag(); } if(xmlSettings->tagExists("texCoord", 2)){ xmlSettings->pushTag("texCoord", 2); - texCoords.push_back(ofVec2f(xmlSettings->getValue("x", 0.0f), + texCoords.push_back(Vec2(xmlSettings->getValue("x", 0.0f), xmlSettings->getValue("y", 1.0f))); xmlSettings->popTag(); } @@ -308,90 +322,98 @@ BaseSurface * SettingsLoader::getTriangleSurface(ofxXmlSettings * xmlSettings){ SurfaceType::TRIANGLE_SURFACE); triangleSurface->setVertices(vertices); triangleSurface->setTexCoords(texCoords); - + return triangleSurface; } BaseSurface * SettingsLoader::getQuadSurface(ofxXmlSettings * xmlSettings){ - vector vertices; - + std::vector vertices; + if(xmlSettings->tagExists("vertices")){ xmlSettings->pushTag("vertices"); - + if(xmlSettings->tagExists("vertex", 0)){ xmlSettings->pushTag("vertex", 0); - vertices.push_back(ofVec2f(xmlSettings->getValue("x", 0.0f), - xmlSettings->getValue("y", 0.0f))); + vertices.push_back(Vec3( + xmlSettings->getValue("x", 0.0f), + xmlSettings->getValue("y", 0.0f), + 0.0f)); xmlSettings->popTag(); } if(xmlSettings->tagExists("vertex", 1)){ xmlSettings->pushTag("vertex", 1); - vertices.push_back(ofVec2f(xmlSettings->getValue("x", 100.0f), - xmlSettings->getValue("y", 0.0f))); + vertices.push_back(Vec3( + xmlSettings->getValue("x", 100.0f), + xmlSettings->getValue("y", 0.0f), + 0.0f)); xmlSettings->popTag(); } if(xmlSettings->tagExists("vertex", 2)){ xmlSettings->pushTag("vertex", 2); - vertices.push_back(ofVec2f(xmlSettings->getValue("x", 100.0f), - xmlSettings->getValue("y", 100.0f))); + vertices.push_back(Vec3( + xmlSettings->getValue("x", 100.0f), + xmlSettings->getValue("y", 100.0f), + 0.0f)); xmlSettings->popTag(); } if(xmlSettings->tagExists("vertex", 3)){ xmlSettings->pushTag("vertex", 3); - vertices.push_back(ofVec2f(xmlSettings->getValue("x", 0.0f), - xmlSettings->getValue("y", 100.0f))); + vertices.push_back(Vec3( + xmlSettings->getValue("x", 0.0f), + xmlSettings->getValue("y", 100.0f), + 0.0f)); xmlSettings->popTag(); } xmlSettings->popTag(); // vertices } - - vector texCoords; + + std::vector texCoords; if(xmlSettings->tagExists("texCoords")){ xmlSettings->pushTag("texCoords"); if(xmlSettings->tagExists("texCoord", 0)){ xmlSettings->pushTag("texCoord", 0); - texCoords.push_back(ofVec2f(xmlSettings->getValue("x", 0.0f), + texCoords.push_back(Vec2(xmlSettings->getValue("x", 0.0f), xmlSettings->getValue("y", 0.0f))); xmlSettings->popTag(); } - + if(xmlSettings->tagExists("texCoord", 1)){ xmlSettings->pushTag("texCoord", 1); - texCoords.push_back(ofVec2f(xmlSettings->getValue("x", 1.0f), + texCoords.push_back(Vec2(xmlSettings->getValue("x", 1.0f), xmlSettings->getValue("y", 0.0f))); xmlSettings->popTag(); } if(xmlSettings->tagExists("texCoord", 2)){ xmlSettings->pushTag("texCoord", 2); - texCoords.push_back(ofVec2f(xmlSettings->getValue("x", 1.0f), + texCoords.push_back(Vec2(xmlSettings->getValue("x", 1.0f), xmlSettings->getValue("y", 1.0f))); xmlSettings->popTag(); } if(xmlSettings->tagExists("texCoord", 3)){ xmlSettings->pushTag("texCoord", 3); - texCoords.push_back(ofVec2f(xmlSettings->getValue("x", 0.0f), + texCoords.push_back(Vec2(xmlSettings->getValue("x", 0.0f), xmlSettings->getValue("y", 1.0f))); xmlSettings->popTag(); } xmlSettings->popTag(); // texCoords } - + // Create and add quad surface BaseSurface * quadSurface = SurfaceFactory::instance()->createSurface( SurfaceType::QUAD_SURFACE); quadSurface->setVertices(vertices); quadSurface->setTexCoords(texCoords); - + // Read properties // Only perspective warping for now bool perspectiveWarping = false; @@ -402,39 +424,41 @@ BaseSurface * SettingsLoader::getQuadSurface(ofxXmlSettings * xmlSettings){ } QuadSurface * qs = (QuadSurface *)quadSurface; qs->setPerspectiveWarping(perspectiveWarping); - + return quadSurface; } BaseSurface * SettingsLoader::getGridWarpSurface(ofxXmlSettings * xmlSettings){ - vector vertices; - + std::vector vertices; + if(xmlSettings->tagExists("vertices")){ xmlSettings->pushTag("vertices"); - + int iv = 0; - + while(xmlSettings->tagExists("vertex", iv)){ xmlSettings->pushTag("vertex", iv); - vertices.push_back(ofVec2f(xmlSettings->getValue("x", 0.0f), - xmlSettings->getValue("y", 0.0f))); + vertices.push_back(Vec3( + xmlSettings->getValue("x", 0.0f), + xmlSettings->getValue("y", 0.0f), + 0.0f)); xmlSettings->popTag(); ++iv; } xmlSettings->popTag(); // vertices } - - vector texCoords; + + std::vector texCoords; if(xmlSettings->tagExists("texCoords")){ xmlSettings->pushTag("texCoords"); int it = 0; - + while(xmlSettings->tagExists("texCoord", it)){ xmlSettings->pushTag("texCoord", it); - texCoords.push_back(ofVec2f(xmlSettings->getValue("x", 0.0f), + texCoords.push_back(Vec2(xmlSettings->getValue("x", 0.0f), xmlSettings->getValue("y", 0.0f))); xmlSettings->popTag(); ++it; @@ -442,7 +466,7 @@ BaseSurface * SettingsLoader::getGridWarpSurface(ofxXmlSettings * xmlSettings){ xmlSettings->popTag(); // texCoords } - + // Read properties // Only perspective warping for now int gridCols = 0; @@ -453,7 +477,7 @@ BaseSurface * SettingsLoader::getGridWarpSurface(ofxXmlSettings * xmlSettings){ gridRows = xmlSettings->getValue("gridRows", 0); xmlSettings->popTag(); // properties } - + // Create and add quad surface BaseSurface * gridWarpSurface = SurfaceFactory::instance()->createSurface( @@ -463,21 +487,23 @@ BaseSurface * SettingsLoader::getGridWarpSurface(ofxXmlSettings * xmlSettings){ ((GridWarpSurface *)gridWarpSurface)->createGridMesh(); gridWarpSurface->setVertices(vertices); gridWarpSurface->setTexCoords(texCoords); - + return gridWarpSurface; } BaseSurface * SettingsLoader::getHexagonSurface(ofxXmlSettings * xmlSettings){ - vector vertices; - + std::vector vertices; + if(xmlSettings->tagExists("vertices")){ xmlSettings->pushTag("vertices"); - + unsigned int v = 0; while(xmlSettings->tagExists("vertex", v)){ xmlSettings->pushTag("vertex", v); - vertices.push_back(ofVec2f(xmlSettings->getValue("x", 0.0f), - xmlSettings->getValue("y", 0.0f))); + vertices.push_back(Vec3( + xmlSettings->getValue("x", 0.0f), + xmlSettings->getValue("y", 0.0f), + 0.0f)); xmlSettings->popTag(); // vertex v += 1; } @@ -485,15 +511,15 @@ BaseSurface * SettingsLoader::getHexagonSurface(ofxXmlSettings * xmlSettings){ xmlSettings->popTag(); // vertices } - vector texCoords; + std::vector texCoords; if(xmlSettings->tagExists("texCoords")){ xmlSettings->pushTag("texCoords"); - + unsigned int t = 0; while(xmlSettings->tagExists("texCoord", t)){ xmlSettings->pushTag("texCoord", t); - texCoords.push_back(ofVec2f(xmlSettings->getValue("x", 0.0f), + texCoords.push_back(Vec2(xmlSettings->getValue("x", 0.0f), xmlSettings->getValue("y", 0.0f))); xmlSettings->popTag(); // texCoord t += 1; @@ -508,7 +534,7 @@ BaseSurface * SettingsLoader::getHexagonSurface(ofxXmlSettings * xmlSettings){ SurfaceType::HEXAGON_SURFACE); hexagonSurface->setVertices(vertices); hexagonSurface->setTexCoords(texCoords); - + return hexagonSurface; } diff --git a/src/Application/SettingsLoader.h b/src/Application/SettingsLoader.h index 060728a..3e1f2e6 100644 --- a/src/Application/SettingsLoader.h +++ b/src/Application/SettingsLoader.h @@ -8,6 +8,8 @@ #include "SurfaceFactory.h" #include "SurfaceType.h" #include "SourceTypeHelper.h" +#include "Vec2.h" +#include "Vec3.h" namespace ofx { namespace piMapper { @@ -18,11 +20,11 @@ class SettingsLoader { public: static SettingsLoader * instance(); - bool load(SurfaceManager & surfaceManager, MediaServer & mediaServer, string fileName); - bool save(SurfaceManager & surfaceManager, string fileName); - bool create(string fileName); + bool load(SurfaceManager & surfaceManager, MediaServer & mediaServer, std::string fileName); + bool save(SurfaceManager & surfaceManager, std::string fileName); + bool create(std::string fileName); - string getLastLoadedFilename(){ return _lastLoadedFilename; }; + std::string getLastLoadedFilename(){ return _lastLoadedFilename; }; private: static SettingsLoader * _instance; @@ -34,7 +36,7 @@ class SettingsLoader { BaseSurface * getGridWarpSurface(ofxXmlSettings * xmlSettings); BaseSurface * getHexagonSurface(ofxXmlSettings * xmlSettings); - string _lastLoadedFilename; + std::string _lastLoadedFilename; }; } // namespace piMapper diff --git a/src/Commands/AddGridColCmd.cpp b/src/Commands/AddGridColCmd.cpp index 7011b18..f6931d6 100644 --- a/src/Commands/AddGridColCmd.cpp +++ b/src/Commands/AddGridColCmd.cpp @@ -18,11 +18,7 @@ void AddGridColCmd::exec(){ void AddGridColCmd::undo(){ ofLogNotice("AddGridColCmd", "undo"); _surface->setGridCols(_surface->getGridCols() - 1); - vector v; - for(int i = 0; i < _vertices.size(); ++i){ - v.push_back( ofVec2f(_vertices[i].x, _vertices[i].y) ); - } - _surface->setVertices(v); + _surface->setVertices(_vertices); _surface->setTexCoords(_texCoords); } diff --git a/src/Commands/AddGridColCmd.h b/src/Commands/AddGridColCmd.h index 24b298b..f8a6b84 100644 --- a/src/Commands/AddGridColCmd.h +++ b/src/Commands/AddGridColCmd.h @@ -4,6 +4,8 @@ #include "BaseCmd.h" #include "GridWarpSurface.h" #include "ProjectionEditorWidget.h" +#include "Vec2.h" +#include "Vec3.h" class ofxPiMapper; @@ -18,8 +20,8 @@ class AddGridColCmd : public BaseUndoCmd { void undo(); private: - vector _vertices; - vector _texCoords; + std::vector _vertices; + std::vector _texCoords; GridWarpSurface * _surface; }; diff --git a/src/Commands/AddGridRowCmd.cpp b/src/Commands/AddGridRowCmd.cpp index ba35c8d..a54817a 100644 --- a/src/Commands/AddGridRowCmd.cpp +++ b/src/Commands/AddGridRowCmd.cpp @@ -18,11 +18,7 @@ void AddGridRowCmd::exec(){ void AddGridRowCmd::undo(){ ofLogNotice("AddGridRowCmd", "undo"); _surface->setGridRows(_surface->getGridRows() - 1); - vector v; - for(int i = 0; i < _vertices.size(); ++i){ - v.push_back( ofVec2f(_vertices[i].x, _vertices[i].y) ); - } - _surface->setVertices(v); + _surface->setVertices(_vertices); _surface->setTexCoords(_texCoords); } diff --git a/src/Commands/AddGridRowCmd.h b/src/Commands/AddGridRowCmd.h index cd4b31c..0cc3c10 100644 --- a/src/Commands/AddGridRowCmd.h +++ b/src/Commands/AddGridRowCmd.h @@ -4,6 +4,8 @@ #include "BaseCmd.h" #include "GridWarpSurface.h" #include "ProjectionEditorWidget.h" +#include "Vec2.h" +#include "Vec3.h" class ofxPiMapper; @@ -18,8 +20,8 @@ class AddGridRowCmd : public BaseUndoCmd { void undo(); private: - vector _vertices; - vector _texCoords; + std::vector _vertices; + std::vector _texCoords; GridWarpSurface * _surface; }; diff --git a/src/Commands/ClearSurfacesCmd.h b/src/Commands/ClearSurfacesCmd.h index c24f603..a29b119 100644 --- a/src/Commands/ClearSurfacesCmd.h +++ b/src/Commands/ClearSurfacesCmd.h @@ -22,7 +22,7 @@ class ClearSurfacesCmd : public BaseUndoCmd { private: // Here it would make sense to have another instance of SurfaceStack - vector _surfaces; + std::vector _surfaces; SurfaceManager * _surfaceManager; BaseSurface * _selectedSurface; diff --git a/src/Commands/CmdManager.h b/src/Commands/CmdManager.h index a09f7d3..9628c33 100644 --- a/src/Commands/CmdManager.h +++ b/src/Commands/CmdManager.h @@ -14,9 +14,9 @@ class CmdManager { void undo(); private: - vector cmdStack; + std::vector cmdStack; }; } // namespace piMapper -} // namespace ofx \ No newline at end of file +} // namespace ofx diff --git a/src/Commands/DeselectTexCoordCmd.cpp b/src/Commands/DeselectTexCoordCmd.cpp index 9e1c8ee..6a12984 100644 --- a/src/Commands/DeselectTexCoordCmd.cpp +++ b/src/Commands/DeselectTexCoordCmd.cpp @@ -11,7 +11,7 @@ void DeselectTexCoordCmd::exec(){ ofLogNotice("DeselectTexCoordCmd", "exec"); _selectedTexCoord = -1; - vector joints = _textureEditor->getJoints(); + std::vector joints = _textureEditor->getJoints(); for(unsigned int i = 0; i < joints.size(); ++i){ if(joints[i]->isSelected()){ _selectedTexCoord = i; diff --git a/src/Commands/DuplicateSurfaceCmd.cpp b/src/Commands/DuplicateSurfaceCmd.cpp index c907ac5..5e050c7 100644 --- a/src/Commands/DuplicateSurfaceCmd.cpp +++ b/src/Commands/DuplicateSurfaceCmd.cpp @@ -12,7 +12,7 @@ void DuplicateSurfaceCmd::exec(){ ofLogNotice("DuplicateSurfaceCmd", "exec"); _duplicate = _surface->clone(); _surfaceManager->addSurface(_duplicate); - _duplicate->moveBy(ofVec2f(10.0f, 10.0f)); + _duplicate->moveBy(Vec3(10.0f, 10.0f, 0.0f)); _surfaceManager->selectSurface(_duplicate); } diff --git a/src/Commands/DuplicateSurfaceCmd.h b/src/Commands/DuplicateSurfaceCmd.h index 9e5c927..801a1e1 100644 --- a/src/Commands/DuplicateSurfaceCmd.h +++ b/src/Commands/DuplicateSurfaceCmd.h @@ -7,6 +7,7 @@ #include "BaseCmd.h" #include "BaseSurface.h" #include "SurfaceManager.h" +#include "Vec3.h" namespace ofx { namespace piMapper { diff --git a/src/Commands/MvAllTexCoordsCmd.cpp b/src/Commands/MvAllTexCoordsCmd.cpp index cef0d19..121dbdb 100644 --- a/src/Commands/MvAllTexCoordsCmd.cpp +++ b/src/Commands/MvAllTexCoordsCmd.cpp @@ -15,7 +15,7 @@ void MvAllTexCoordsCmd::exec(){ void MvAllTexCoordsCmd::undo(){ ofLogNotice("MvAllTexCoordsCmd", "undo"); - ofVec2f dist = _texCoords[0] - _surface->getTexCoords()[0]; + Vec2 dist = _texCoords[0] - _surface->getTexCoords()[0]; dist.x = _surface->getSource()->getTexture()->getWidth() * dist.x; dist.y = _surface->getSource()->getTexture()->getHeight() * dist.y; _texEditor->moveTexCoords(dist); diff --git a/src/Commands/MvAllTexCoordsCmd.h b/src/Commands/MvAllTexCoordsCmd.h index f8d0ec2..b6601e5 100644 --- a/src/Commands/MvAllTexCoordsCmd.h +++ b/src/Commands/MvAllTexCoordsCmd.h @@ -7,6 +7,7 @@ #include "BaseCmd.h" #include "BaseSurface.h" #include "TextureEditorWidget.h" +#include "Vec2.h" namespace ofx { namespace piMapper { @@ -19,7 +20,7 @@ class MvAllTexCoordsCmd : public BaseUndoCmd { void undo(); private: - vector _texCoords; + std::vector _texCoords; BaseSurface * _surface; TextureEditorWidget * _texEditor; diff --git a/src/Commands/MvSelectionCmd.cpp b/src/Commands/MvSelectionCmd.cpp index c9624a1..ff346c8 100644 --- a/src/Commands/MvSelectionCmd.cpp +++ b/src/Commands/MvSelectionCmd.cpp @@ -3,7 +3,7 @@ namespace ofx { namespace piMapper { -MvSelectionCmd::MvSelectionCmd(SurfaceManager * sm, ofVec2f moveBy){ +MvSelectionCmd::MvSelectionCmd(SurfaceManager * sm, Vec3 moveBy){ _surfaceManager = sm; _movedBy = moveBy; } diff --git a/src/Commands/MvSelectionCmd.h b/src/Commands/MvSelectionCmd.h index 8772d58..0881429 100644 --- a/src/Commands/MvSelectionCmd.h +++ b/src/Commands/MvSelectionCmd.h @@ -2,6 +2,7 @@ #include "BaseCmd.h" #include "SurfaceManager.h" +#include "Vec3.h" namespace ofx { namespace piMapper { @@ -9,13 +10,13 @@ namespace piMapper { class MvSelectionCmd : public BaseUndoCmd { public: - MvSelectionCmd(SurfaceManager * sm, ofVec2f moveBy); + MvSelectionCmd(SurfaceManager * sm, Vec3 moveBy); void exec(); void undo(); private: SurfaceManager * _surfaceManager; - ofVec2f _movedBy; + Vec3 _movedBy; }; diff --git a/src/Commands/MvSurfaceVertCmd.h b/src/Commands/MvSurfaceVertCmd.h index 7695728..c3abd9f 100644 --- a/src/Commands/MvSurfaceVertCmd.h +++ b/src/Commands/MvSurfaceVertCmd.h @@ -8,6 +8,7 @@ #include "BaseSurface.h" #include "ProjectionEditorWidget.h" #include "BaseJoint.h" +#include "Vec3.h" namespace ofx { namespace piMapper { @@ -21,7 +22,7 @@ class MvSurfaceVertCmd : public BaseUndoCmd { private: int _vertIndex; - ofVec2f _prevVertPos; + Vec3 _prevVertPos; BaseSurface * _surface; }; diff --git a/src/Commands/MvTexCoordCmd.cpp b/src/Commands/MvTexCoordCmd.cpp index 762a09d..53b9450 100644 --- a/src/Commands/MvTexCoordCmd.cpp +++ b/src/Commands/MvTexCoordCmd.cpp @@ -3,7 +3,7 @@ namespace ofx { namespace piMapper { -MvTexCoordCmd::MvTexCoordCmd(int texCoordIndex, ofVec2f by){ +MvTexCoordCmd::MvTexCoordCmd(int texCoordIndex, Vec2 by){ _texCoordIndex = texCoordIndex; _moveBy = by; } diff --git a/src/Commands/MvTexCoordCmd.h b/src/Commands/MvTexCoordCmd.h index beb046f..950ebf0 100644 --- a/src/Commands/MvTexCoordCmd.h +++ b/src/Commands/MvTexCoordCmd.h @@ -7,6 +7,7 @@ #include "BaseCmd.h" #include "CircleJoint.h" #include "Gui.h" +#include "Vec2.h" namespace ofx { namespace piMapper { @@ -14,14 +15,14 @@ namespace piMapper { class MvTexCoordCmd : public BaseUndoCmd { public: - MvTexCoordCmd(int texCoordIndex, ofVec2f by); + MvTexCoordCmd(int texCoordIndex, Vec2 by); void exec(); void undo(); private: int _texCoordIndex; - ofVec2f _moveBy; - ofVec2f _positionBefore; + Vec2 _moveBy; + Vec2 _positionBefore; }; diff --git a/src/Commands/RmGridColCmd.cpp b/src/Commands/RmGridColCmd.cpp index a8af6fc..6f2e567 100644 --- a/src/Commands/RmGridColCmd.cpp +++ b/src/Commands/RmGridColCmd.cpp @@ -30,13 +30,7 @@ void RmGridColCmd::undo(){ } _surface->setGridCols(_surface->getGridCols() + 1); - vector v; - - for(int i = 0; i < _vertices.size(); ++i){ - v.push_back( ofVec2f(_vertices[i].x, _vertices[i].y) ); - } - - _surface->setVertices(v); + _surface->setVertices(_vertices); _surface->setTexCoords(_texCoords); } diff --git a/src/Commands/RmGridColCmd.h b/src/Commands/RmGridColCmd.h index 83b0871..ced88d6 100644 --- a/src/Commands/RmGridColCmd.h +++ b/src/Commands/RmGridColCmd.h @@ -4,6 +4,8 @@ #include "BaseCmd.h" #include "GridWarpSurface.h" #include "ProjectionEditorWidget.h" +#include "Vec2.h" +#include "Vec3.h" class ofxPiMapper; @@ -18,8 +20,8 @@ class RmGridColCmd : public BaseUndoCmd { void undo(); private: - vector _vertices; - vector _texCoords; + std::vector _vertices; + std::vector _texCoords; GridWarpSurface * _surface; bool _doNotUndo; diff --git a/src/Commands/RmGridRowCmd.cpp b/src/Commands/RmGridRowCmd.cpp index 3420d8b..36de4ee 100644 --- a/src/Commands/RmGridRowCmd.cpp +++ b/src/Commands/RmGridRowCmd.cpp @@ -30,13 +30,7 @@ void RmGridRowCmd::undo(){ } _surface->setGridRows(_surface->getGridRows() + 1); - vector v; - - for(int i = 0; i < _vertices.size(); ++i){ - v.push_back( ofVec2f(_vertices[i].x, _vertices[i].y) ); - } - - _surface->setVertices(v); + _surface->setVertices(_vertices); _surface->setTexCoords(_texCoords); } diff --git a/src/Commands/RmGridRowCmd.h b/src/Commands/RmGridRowCmd.h index 1abe401..32d2c3e 100644 --- a/src/Commands/RmGridRowCmd.h +++ b/src/Commands/RmGridRowCmd.h @@ -4,6 +4,8 @@ #include "BaseCmd.h" #include "GridWarpSurface.h" #include "ProjectionEditorWidget.h" +#include "Vec2.h" +#include "Vec3.h" class ofxPiMapper; @@ -18,8 +20,8 @@ class RmGridRowCmd : public BaseUndoCmd { void undo(); private: - vector _vertices; - vector _texCoords; + std::vector _vertices; + std::vector _texCoords; GridWarpSurface * _surface; bool _doNotUndo; diff --git a/src/Commands/SaveTexCoordPosCmd.cpp b/src/Commands/SaveTexCoordPosCmd.cpp index 0c255e6..323cc2e 100644 --- a/src/Commands/SaveTexCoordPosCmd.cpp +++ b/src/Commands/SaveTexCoordPosCmd.cpp @@ -3,7 +3,7 @@ namespace ofx { namespace piMapper { -SaveTexCoordPosCmd::SaveTexCoordPosCmd(int texCoordIndex, ofVec2f position){ +SaveTexCoordPosCmd::SaveTexCoordPosCmd(int texCoordIndex, Vec2 position){ _texCoordIndex = texCoordIndex; _position = position; } diff --git a/src/Commands/SaveTexCoordPosCmd.h b/src/Commands/SaveTexCoordPosCmd.h index 4b9ed5f..aec4af8 100644 --- a/src/Commands/SaveTexCoordPosCmd.h +++ b/src/Commands/SaveTexCoordPosCmd.h @@ -7,6 +7,7 @@ #include "BaseCmd.h" #include "CircleJoint.h" #include "Gui.h" +#include "Vec2.h" namespace ofx { namespace piMapper { @@ -14,13 +15,13 @@ namespace piMapper { class SaveTexCoordPosCmd : public BaseUndoCmd { public: - SaveTexCoordPosCmd(int texCoordIndex, ofVec2f position); + SaveTexCoordPosCmd(int texCoordIndex, Vec2 position); void exec(); void undo(); private: int _texCoordIndex; - ofVec2f _position; + Vec2 _position; }; diff --git a/src/Commands/SetNextSourceCmd.cpp b/src/Commands/SetNextSourceCmd.cpp index d55d5d7..775bcc3 100644 --- a/src/Commands/SetNextSourceCmd.cpp +++ b/src/Commands/SetNextSourceCmd.cpp @@ -15,7 +15,7 @@ void SetNextSourceCmd::exec(){ BaseSource * source = _surface->getSource(); int sourceType = source->getType(); - string sourceId; + std::string sourceId; if(source->isLoadable()){ sourceId = source->getPath(); }else{ diff --git a/src/Commands/SetNextSourceCmd.h b/src/Commands/SetNextSourceCmd.h index f31c028..b0dada9 100644 --- a/src/Commands/SetNextSourceCmd.h +++ b/src/Commands/SetNextSourceCmd.h @@ -11,7 +11,7 @@ namespace piMapper { struct SourceData { int type; - string id; + std::string id; }; class SourcesEditorWidget; @@ -26,7 +26,7 @@ class SetNextSourceCmd : public BaseUndoCmd { private: BaseSurface * _surface; SourcesEditorWidget * _sourcesEditor; - vector _sources; + std::vector _sources; int _sourceIndex; // Previous source index int _nextSourceIndex; diff --git a/src/Commands/SetSourceCmd.cpp b/src/Commands/SetSourceCmd.cpp index 984155b..9871a31 100644 --- a/src/Commands/SetSourceCmd.cpp +++ b/src/Commands/SetSourceCmd.cpp @@ -4,7 +4,7 @@ namespace ofx { namespace piMapper { SetSourceCmd::SetSourceCmd(int sourceType, - string sourceId, + std::string sourceId, BaseSurface * surface, SourcesEditorWidget * sourcesEditor){ diff --git a/src/Commands/SetSourceCmd.h b/src/Commands/SetSourceCmd.h index ac639c8..fb818fe 100644 --- a/src/Commands/SetSourceCmd.h +++ b/src/Commands/SetSourceCmd.h @@ -17,7 +17,7 @@ class SetSourceCmd : public BaseUndoCmd { public: SetSourceCmd(int sourceType, - string sourceId, + std::string sourceId, BaseSurface * surface, SourcesEditorWidget * sourcesEditor); void exec(); @@ -25,12 +25,12 @@ class SetSourceCmd : public BaseUndoCmd { private: int _sourceType; - string _sourceId; + std::string _sourceId; BaseSurface * _surface; SourcesEditorWidget * _sourcesEditor; int _oldSourceTypeHelper; - string _oldSourceId; + std::string _oldSourceId; }; diff --git a/src/Commands/StartDragSurfaceCmd.cpp b/src/Commands/StartDragSurfaceCmd.cpp index 8adb2ed..2f133eb 100644 --- a/src/Commands/StartDragSurfaceCmd.cpp +++ b/src/Commands/StartDragSurfaceCmd.cpp @@ -15,7 +15,8 @@ void StartDragSurfaceCmd::exec(){ void StartDragSurfaceCmd::undo(){ ofLogNotice("StartDragSurfaceCmd", "undo"); - _surface->moveBy(_previousVertices[0] - _surface->getVertices()[0]); + Vec3 step = _previousVertices[0] - _surface->getVertices()[0]; + _surface->moveBy(step); } } // namespace piMapper diff --git a/src/Commands/StartDragSurfaceCmd.h b/src/Commands/StartDragSurfaceCmd.h index 7bee80d..e46ddda 100644 --- a/src/Commands/StartDragSurfaceCmd.h +++ b/src/Commands/StartDragSurfaceCmd.h @@ -2,6 +2,7 @@ #include "BaseCmd.h" #include "BaseSurface.h" +#include "Vec3.h" namespace ofx { namespace piMapper { @@ -15,7 +16,7 @@ class StartDragSurfaceCmd : public BaseUndoCmd { private: BaseSurface * _surface; - vector _previousVertices; + std::vector _previousVertices; }; diff --git a/src/Gui/Widgets/LayerPanelWidget.cpp b/src/Gui/Widgets/LayerPanelWidget.cpp index f9cb2ec..bb59b78 100644 --- a/src/Gui/Widgets/LayerPanelWidget.cpp +++ b/src/Gui/Widgets/LayerPanelWidget.cpp @@ -35,7 +35,7 @@ void LayerPanelWidget::draw(){ int layerIconX = ofGetWidth() - offsetRight - layerIconWidth; int layerIconY = offsetTop + ((layerIconHeight + verticalSpacing) * (numSurfaces - i - 1)); - string label = "Layers"; + std::string label = "Layers"; ofDrawBitmapString(label, ofGetWidth() - 66, 30); ofRectangle layerIcon = ofRectangle( diff --git a/src/Gui/Widgets/ProjectionEditorWidget.cpp b/src/Gui/Widgets/ProjectionEditorWidget.cpp index 716018f..5693a9a 100644 --- a/src/Gui/Widgets/ProjectionEditorWidget.cpp +++ b/src/Gui/Widgets/ProjectionEditorWidget.cpp @@ -15,7 +15,10 @@ void ProjectionEditorWidget::update(){ if(joints[i]->isDragged() || joints[i]->isSelected()){ if(surfaceManager->getSelectedSurface() != 0){ // update vertex to new location - surfaceManager->getSelectedSurface()->setVertex(i, joints[i]->position); + surfaceManager->getSelectedSurface()->setVertex(i, Vec3( + joints[i]->position.x, + joints[i]->position.y, + 0.0f)); }else{ // clear joints if there is no surface selected // as the remove selected surface in the surface manager @@ -47,17 +50,19 @@ void ProjectionEditorWidget::mouseDragged(ofMouseEventArgs & args){ joints[i]->mouseDragged(args); } - ofVec2f mousePosition = ofVec2f(args.x, args.y); + Vec2 mousePosition = Vec2(args.x, args.y); // Collect all vertices of the projection surfaces - vector allVertices; + std::vector allVertices; for(int i = 0; i < surfaceManager->size(); i++){ BaseSurface * surface = surfaceManager->getSurface(i); + if(surface == surfaceManager->getSelectedSurface()){ - continue; // Don't add vertices of selected surface + continue; // Don't add vertices of the selected surface } + for(int j = 0; j < surface->getVertices().size(); j++){ - allVertices.push_back(&surface->getVertices()[j]); + allVertices.push_back(surface->getVertices()[j]); } } @@ -65,10 +70,12 @@ void ProjectionEditorWidget::mouseDragged(ofMouseEventArgs & args){ for(int i = 0; i < joints.size(); i++){ if(joints[i]->isDragged()){ for(int j = 0; j < allVertices.size(); j++){ - float distance = mousePosition.distance(*allVertices[j]); + Vec2 v(allVertices[j].x, allVertices[j].y); + float distance = mousePosition.distance(v); + if(distance < fSnapDistance){ - joints[i]->position = *allVertices[j]; - ofVec2f clickDistance = joints[i]->position - ofVec2f(args.x, args.y); + joints[i]->position = v; + Vec2 clickDistance = joints[i]->position - Vec2(args.x, args.y); joints[i]->setClickDistance(clickDistance); break; } @@ -130,21 +137,20 @@ void ProjectionEditorWidget::createJoints(){ return; } - vector & vertices = - surfaceManager->getSelectedSurface()->getVertices(); + std::vector vertices = surfaceManager->getSelectedSurface()->getVertices(); for(int i = 0; i < vertices.size(); i++){ joints.push_back(new CircleJoint()); - joints.back()->position = ofVec2f(vertices[i].x, vertices[i].y); + joints.back()->position = Vec2(vertices[i].x, vertices[i].y); } } void ProjectionEditorWidget::updateJoints(){ if(surfaceManager->getSelectedSurface()){ - vector & vertices = - surfaceManager->getSelectedSurface()->getVertices(); + std::vector vertices = surfaceManager->getSelectedSurface()->getVertices(); + for(int i = 0; i < vertices.size(); i++){ - joints[i]->position = ofVec2f(vertices[i].x, vertices[i].y); + joints[i]->position = Vec2(vertices[i].x, vertices[i].y); } } @@ -156,13 +162,15 @@ void ProjectionEditorWidget::unselectAllJoints(){ } } -void ProjectionEditorWidget::moveSelectedSurface(ofVec2f by){ +void ProjectionEditorWidget::moveSelectedSurface(Vec3 by){ if(surfaceManager == 0){ return; } + if(surfaceManager->getSelectedSurface() == 0){ return; } + surfaceManager->getSelectedSurface()->moveBy(by); updateJoints(); } @@ -177,7 +185,7 @@ void ProjectionEditorWidget::setSnapDistance(float newSnapDistance){ fSnapDistance = newSnapDistance; } -CircleJoint * ProjectionEditorWidget::hitTestJoints(ofVec2f pos){ +CircleJoint * ProjectionEditorWidget::hitTestJoints(Vec2 pos){ if(surfaceManager->getSelectedSurface() == 0){ return 0; } @@ -189,7 +197,7 @@ CircleJoint * ProjectionEditorWidget::hitTestJoints(ofVec2f pos){ return 0; } -vector * ProjectionEditorWidget::getJoints(){ +std::vector * ProjectionEditorWidget::getJoints(){ return &joints; } @@ -204,7 +212,7 @@ void ProjectionEditorWidget::onVertexChanged(int & i){ } } -void ProjectionEditorWidget::onVerticesChanged(vector & vertices){ +void ProjectionEditorWidget::onVerticesChanged(std::vector & vertices){ createJoints(); } @@ -236,4 +244,4 @@ void ProjectionEditorWidget::drawJoints(){ } } // namespace piMapper -} // namespace ofx \ No newline at end of file +} // namespace ofx diff --git a/src/Gui/Widgets/ProjectionEditorWidget.h b/src/Gui/Widgets/ProjectionEditorWidget.h index 28aed7e..58037e9 100644 --- a/src/Gui/Widgets/ProjectionEditorWidget.h +++ b/src/Gui/Widgets/ProjectionEditorWidget.h @@ -2,6 +2,8 @@ #include "SurfaceManager.h" #include "CircleJoint.h" +#include "Vec2.h" +#include "Vec3.h" namespace ofx { namespace piMapper { @@ -22,22 +24,22 @@ class ProjectionEditorWidget { void createJoints(); void updateJoints(); void unselectAllJoints(); - void moveSelectedSurface(ofVec2f by); + void moveSelectedSurface(Vec3 by); void stopDragJoints(); void updateVertices(); void setSnapDistance(float newSnapDistance); - CircleJoint * hitTestJoints(ofVec2f pos); - vector * getJoints(); + CircleJoint * hitTestJoints(Vec2 pos); + std::vector * getJoints(); void onVertexChanged(int & i); - void onVerticesChanged(vector & vertices); + void onVerticesChanged(std::vector & vertices); void onSurfaceSelected(int & surfaceIndex); void onVertexSelected(int & vertexIndex); void onVertexUnselected(int & vertexIndex); private: SurfaceManager * surfaceManager; - vector joints; + std::vector joints; bool bShiftKeyDown; float fSnapDistance; @@ -46,4 +48,4 @@ class ProjectionEditorWidget { }; } // namespace piMapper -} // namespace ofx \ No newline at end of file +} // namespace ofx diff --git a/src/Gui/Widgets/ScaleWidget.cpp b/src/Gui/Widgets/ScaleWidget.cpp index 2c1367e..57e0577 100644 --- a/src/Gui/Widgets/ScaleWidget.cpp +++ b/src/Gui/Widgets/ScaleWidget.cpp @@ -1,5 +1,9 @@ #include "ScaleWidget.h" +#if OF_VERSION_MAJOR == 0 && OF_VERSION_MINOR > 9 + #include "glm/geometric.hpp" +#endif + namespace ofx { namespace piMapper { @@ -57,7 +61,11 @@ void ScaleWidget::draw(){ _line[1].y -= dy; // Continue - float scale = lineLength / _line[0].distance(_line[1]); + #if OF_VERSION_MAJOR == 0 && OF_VERSION_MINOR <= 9 + float scale = lineLength / _line[0].distance(_line[1]); + #else + float scale = lineLength / glm::distance(_line[0], _line[1]); + #endif _line[1].x = _line[0].x + (_line[1].x - _line[0].x) * scale; _line[1].y = _line[0].y + (_line[1].y - _line[0].y) * scale; @@ -122,15 +130,19 @@ void ScaleWidget::onMouseDragged(ofMouseEventArgs & args){ } ofRectangle box = _surfaceManager->getSelectedSurface()->getBoundingBox(); - float boxAspect = box.width / box.height; - ofPolyline newLine = _line; newLine[1].x = args.x; newLine[1].y = args.y; - _scale = _surfaceManager->getSelectedSurface()->getScale() / - _line[0].distance(_line[1]) * - newLine[0].distance(newLine[1]); + #if OF_VERSION_MAJOR == 0 && OF_VERSION_MINOR <= 9 + _scale = _surfaceManager->getSelectedSurface()->getScale() / + _line[0].distance(_line[1]) * + newLine[0].distance(newLine[1]); + #else + _scale = _surfaceManager->getSelectedSurface()->getScale() / + glm::distance(_line[0], _line[1]) * + glm::distance(newLine[0], newLine[1]); + #endif _line = newLine; diff --git a/src/Gui/Widgets/SourcesEditorWidget.cpp b/src/Gui/Widgets/SourcesEditorWidget.cpp index 5dd7517..7af2134 100644 --- a/src/Gui/Widgets/SourcesEditorWidget.cpp +++ b/src/Gui/Widgets/SourcesEditorWidget.cpp @@ -23,17 +23,17 @@ void SourcesEditorWidget::createSelectors(){ // Depending on media count, decide what to load and initialize if(numImages){ // Get image names from media server - vector imageNames = mediaServer->getImageNames(); + std::vector imageNames = mediaServer->getImageNames(); imageSelector->setup("Images", imageNames, mediaServer->getImagePaths()); ofAddListener(imageSelector->onRadioSelected, this, &SourcesEditorWidget::handleImageSelected); } if(numVideos){ - vector videoNames = mediaServer->getVideoNames(); + std::vector videoNames = mediaServer->getVideoNames(); videoSelector->setup("Videos", videoNames, mediaServer->getVideoPaths()); ofAddListener(videoSelector->onRadioSelected, this, &SourcesEditorWidget::handleVideoSelected); } if(numFbos){ - vector fboNames = mediaServer->getFboSourceNames(); + std::vector fboNames = mediaServer->getFboSourceNames(); fboSelector->setup("FBOs", fboNames, fboNames); ofAddListener(fboSelector->onRadioSelected, this, &SourcesEditorWidget::handleFboSelected); } @@ -135,7 +135,7 @@ MediaServer * SourcesEditorWidget::getMediaServer(){ return mediaServer; } -void SourcesEditorWidget::selectSourceRadioButton(string & sourcePath){ +void SourcesEditorWidget::selectSourceRadioButton(std::string & sourcePath){ if(sourcePath == ""){ ofLogNotice("SourcesEditorWidget") << "Path is empty"; if(imageSelector->size()){ @@ -210,14 +210,14 @@ void SourcesEditorWidget::removeMediaServerListeners(){ ofRemoveListener(mediaServer->onFboSourceUnloaded, this, &SourcesEditorWidget::handleFboSourceUnloaded); } -void SourcesEditorWidget::handleImageSelected(string & imagePath){ +void SourcesEditorWidget::handleImageSelected(std::string & imagePath){ _cmdManager->exec(new SetSourceCmd(SourceType::SOURCE_TYPE_IMAGE, imagePath, surfaceManager->getSelectedSurface(), (SourcesEditorWidget *)this)); } -void SourcesEditorWidget::setImageSource(string & imagePath){ +void SourcesEditorWidget::setImageSource(std::string & imagePath){ // Unselect selected items videoSelector->unselectAll(); fboSelector->unselectAll(); @@ -240,14 +240,14 @@ void SourcesEditorWidget::setImageSource(string & imagePath){ surface->setSource(mediaServer->loadImage(imagePath)); } -void SourcesEditorWidget::handleVideoSelected(string & videoPath){ +void SourcesEditorWidget::handleVideoSelected(std::string & videoPath){ _cmdManager->exec(new SetSourceCmd(SourceType::SOURCE_TYPE_VIDEO, videoPath, surfaceManager->getSelectedSurface(), (SourcesEditorWidget *)this)); } -void SourcesEditorWidget::setVideoSource(string & videoPath){ +void SourcesEditorWidget::setVideoSource(std::string & videoPath){ // Unselect any selected items fboSelector->unselectAll(); imageSelector->unselectAll(); @@ -270,14 +270,14 @@ void SourcesEditorWidget::setVideoSource(string & videoPath){ surface->setSource(mediaServer->loadVideo(videoPath)); } -void SourcesEditorWidget::handleFboSelected(string & fboName){ +void SourcesEditorWidget::handleFboSelected(std::string & fboName){ _cmdManager->exec(new SetSourceCmd(SourceType::SOURCE_TYPE_FBO, fboName, surfaceManager->getSelectedSurface(), (SourcesEditorWidget *)this)); } -void SourcesEditorWidget::setFboSource(string & fboName){ +void SourcesEditorWidget::setFboSource(std::string & fboName){ videoSelector->unselectAll(); imageSelector->unselectAll(); @@ -325,21 +325,21 @@ void SourcesEditorWidget::clearMediaServer(){ } // TODO: There is no need for those at the moment. They add too much overhead. -void SourcesEditorWidget::handleImageAdded(string & path){ +void SourcesEditorWidget::handleImageAdded(std::string & path){ ofLogNotice("SourcesEditorWidget::handleImageAdded") << "Image path: " << path; } -void SourcesEditorWidget::handleImageRemoved(string & path){} -void SourcesEditorWidget::handleVideoAdded(string & path){} -void SourcesEditorWidget::handleVideoRemoved(string & path){} -void SourcesEditorWidget::handleImageLoaded(string & path){} -void SourcesEditorWidget::handleImageUnloaded(string & path){} -void SourcesEditorWidget::handleFboSourceAdded(string & name){} -void SourcesEditorWidget::handleFboSourceRemoved(string & name){} -void SourcesEditorWidget::handleFboSourceLoaded(string & name){} -void SourcesEditorWidget::handleFboSourceUnloaded(string & name){} +void SourcesEditorWidget::handleImageRemoved(std::string & path){} +void SourcesEditorWidget::handleVideoAdded(std::string & path){} +void SourcesEditorWidget::handleVideoRemoved(std::string & path){} +void SourcesEditorWidget::handleImageLoaded(std::string & path){} +void SourcesEditorWidget::handleImageUnloaded(std::string & path){} +void SourcesEditorWidget::handleFboSourceAdded(std::string & name){} +void SourcesEditorWidget::handleFboSourceRemoved(std::string & name){} +void SourcesEditorWidget::handleFboSourceLoaded(std::string & name){} +void SourcesEditorWidget::handleFboSourceUnloaded(std::string & name){} } // namespace piMapper } // namespace ofx \ No newline at end of file diff --git a/src/Gui/Widgets/SourcesEditorWidget.h b/src/Gui/Widgets/SourcesEditorWidget.h index b5dbaea..59c6278 100644 --- a/src/Gui/Widgets/SourcesEditorWidget.h +++ b/src/Gui/Widgets/SourcesEditorWidget.h @@ -17,7 +17,7 @@ class SourcesEditorWidget { void setup(); void draw(); - void loadImage(string name, string path); + void loadImage(std::string name, std::string path); void disable(); void enable(); void setSurfaceManager(SurfaceManager * newSurfaceManager); @@ -26,15 +26,15 @@ class SourcesEditorWidget { // Sets external MediaServer void setMediaServer(MediaServer * newMediaServer); MediaServer * getMediaServer(); - //void selectImageSourceRadioButton(string name); - void selectSourceRadioButton(string & sourcePath); + //void selectImageSourceRadioButton(std::string name); + void selectSourceRadioButton(std::string & sourcePath); int getLoadedTexCount(); ofTexture * getTexture(int index); - void setImageSource(string & imagePath); - void setVideoSource(string & videoPath); - void setFboSource(string & fboName); + void setImageSource(std::string & imagePath); + void setVideoSource(std::string & videoPath); + void setFboSource(std::string & fboName); void clearSource(); private: @@ -53,25 +53,25 @@ class SourcesEditorWidget { void removeMediaServerListeners(); // Handles GUI event, whenever someone has clicked on a radio button - void handleImageSelected(string & imagePath); - void handleVideoSelected(string & videoPath); - void handleFboSelected(string & fboName); + void handleImageSelected(std::string & imagePath); + void handleVideoSelected(std::string & videoPath); + void handleFboSelected(std::string & fboName); // Careful clearing of the media server, // clears only if the media server has been initialized locally void clearMediaServer(); // MediaServer event handlers - void handleImageAdded(string & path); - void handleImageRemoved(string & path); - void handleVideoAdded(string & path); - void handleVideoRemoved(string & path); - void handleImageLoaded(string & path); - void handleImageUnloaded(string & path); - void handleFboSourceAdded(string & name); - void handleFboSourceRemoved(string & name); - void handleFboSourceLoaded(string & name); - void handleFboSourceUnloaded(string & name); + void handleImageAdded(std::string & path); + void handleImageRemoved(std::string & path); + void handleVideoAdded(std::string & path); + void handleVideoRemoved(std::string & path); + void handleImageLoaded(std::string & path); + void handleImageUnloaded(std::string & path); + void handleFboSourceAdded(std::string & name); + void handleFboSourceRemoved(std::string & name); + void handleFboSourceLoaded(std::string & name); + void handleFboSourceUnloaded(std::string & name); }; diff --git a/src/Gui/Widgets/TextureEditorWidget.cpp b/src/Gui/Widgets/TextureEditorWidget.cpp index 6ce0a88..f94599a 100644 --- a/src/Gui/Widgets/TextureEditorWidget.cpp +++ b/src/Gui/Widgets/TextureEditorWidget.cpp @@ -23,7 +23,7 @@ void TextureEditorWidget::update(){ } // update surface if one of the joints is being dragged - ofVec2f textureSize = ofVec2f(surface->getSource()->getTexture()->getWidth(), + Vec2 textureSize = Vec2(surface->getSource()->getTexture()->getWidth(), surface->getSource()->getTexture()->getHeight()); // Get selected joint index @@ -44,9 +44,10 @@ void TextureEditorWidget::update(){ if(surface->getType() == SurfaceType::GRID_WARP_SURFACE){ GridWarpSurface * s = (GridWarpSurface *)surface; - vector & texCoords = surface->getTexCoords(); - ofVec2f textureSize = ofVec2f(surface->getSource()->getTexture()->getWidth(), - surface->getSource()->getTexture()->getHeight()); + std::vector texCoords = surface->getTexCoords(); + Vec2 textureSize = Vec2( + surface->getSource()->getTexture()->getWidth(), + surface->getSource()->getTexture()->getHeight()); int rows = s->getGridRows(); int cols = s->getGridCols(); @@ -65,7 +66,7 @@ void TextureEditorWidget::update(){ int i = 0; for(int iy = 0; iy <= rows; ++iy){ for(int ix = 0; ix <= cols; ++ix){ - ofVec2f t; + Vec2 t; t.x = sx + dx * ix; t.y = sy + dy * iy; surface->setTexCoord(i, t); @@ -131,8 +132,9 @@ void TextureEditorWidget::createJoints(){ if(surface == 0){ return; } + clearJoints(); - vector & texCoords = surface->getTexCoords(); + std::vector texCoords = surface->getTexCoords(); if(surface->getSource()->getTexture()->isAllocated()){ _pollCreateJoints = false; @@ -141,15 +143,17 @@ void TextureEditorWidget::createJoints(){ return; } - ofVec2f textureSize = ofVec2f(surface->getSource()->getTexture()->getWidth(), - surface->getSource()->getTexture()->getHeight()); + Vec2 textureSize = Vec2( + surface->getSource()->getTexture()->getWidth(), + surface->getSource()->getTexture()->getHeight()); // Select joints depending on the surface type - vector tc; + std::vector tc; if(surface->getType() == SurfaceType::TRIANGLE_SURFACE){ tc = texCoords; - }else if(surface->getType() == SurfaceType::QUAD_SURFACE){ + }else if(surface->getType() == SurfaceType::QUAD_SURFACE || + surface->getType() == SurfaceType::CIRCLE_SURFACE){ tc = texCoords; }else if(surface->getType() == SurfaceType::HEXAGON_SURFACE){ tc = texCoords; @@ -273,14 +277,15 @@ void TextureEditorWidget::selectPrevTexCoord(){ selectTexCoord(joints.size() - 1); } -void TextureEditorWidget::moveTexCoords(ofVec2f by){ +void TextureEditorWidget::moveTexCoords(Vec2 by){ if(surface == 0){ return; } - vector & texCoords = surface->getTexCoords(); - ofVec2f textureSize = ofVec2f(surface->getSource()->getTexture()->getWidth(), - surface->getSource()->getTexture()->getHeight()); + std::vector texCoords = surface->getTexCoords(); + Vec2 textureSize = Vec2( + surface->getSource()->getTexture()->getWidth(), + surface->getSource()->getTexture()->getHeight()); for(int i = 0; i < joints.size(); i++){ joints[i]->position += by; @@ -291,13 +296,6 @@ void TextureEditorWidget::moveTexCoords(ofVec2f by){ int rows = s->getGridRows(); int cols = s->getGridCols(); - int vertsPerRow = cols + 1; - int vertsPerCol = rows + 1; - - int a = 0; - int b = cols; - int c = (rows * vertsPerRow) + (vertsPerRow - 1); - int d = (rows * vertsPerRow); // Distance between horizontal tex coords float sx = joints[0]->position.x / textureSize.x; @@ -312,7 +310,7 @@ void TextureEditorWidget::moveTexCoords(ofVec2f by){ int i = 0; for(int iy = 0; iy <= rows; ++iy){ for(int ix = 0; ix <= cols; ++ix){ - ofVec2f t; + Vec2 t; t.x = sx + dx * ix; t.y = sy + dy * iy; surface->setTexCoord(i, t); @@ -326,7 +324,7 @@ void TextureEditorWidget::moveTexCoords(ofVec2f by){ } } -void TextureEditorWidget::moveTexCoordTo(int texCoordIndex, ofVec2f position){ +void TextureEditorWidget::moveTexCoordTo(int texCoordIndex, Vec2 position){ if(surface == 0){ return; } @@ -334,7 +332,7 @@ void TextureEditorWidget::moveTexCoordTo(int texCoordIndex, ofVec2f position){ ofLogNotice("TextureEditorWidget::moveTexCoordTo") << texCoordIndex << ", " << position.x << ", " << position.y; surface->setTexCoord(texCoordIndex, position); - ofVec2f textureSize = ofVec2f( + Vec2 textureSize = Vec2( surface->getSource()->getTexture()->getWidth(), surface->getSource()->getTexture()->getHeight()); joints[texCoordIndex]->position = position * textureSize; @@ -346,7 +344,7 @@ void TextureEditorWidget::stopDragJoints(){ } } -void TextureEditorWidget::moveSelection(ofVec2f by){ +void TextureEditorWidget::moveSelection(Vec2 by){ // check if joints selected bool bJointSelected = false; BaseJoint * selectedJoint; @@ -368,32 +366,32 @@ void TextureEditorWidget::moveSelection(ofVec2f by){ void TextureEditorWidget::constrainJointsToQuad(int selectedJointIndex){ switch(selectedJointIndex){ case 0: - joints[1]->position = ofVec2f(joints[1]->position.x, joints[0]->position.y); - joints[2]->position = ofVec2f(joints[1]->position.x, joints[3]->position.y); - joints[3]->position = ofVec2f(joints[0]->position.x, joints[3]->position.y); + joints[1]->position = Vec2(joints[1]->position.x, joints[0]->position.y); + joints[2]->position = Vec2(joints[1]->position.x, joints[3]->position.y); + joints[3]->position = Vec2(joints[0]->position.x, joints[3]->position.y); break; case 1: - joints[0]->position = ofVec2f(joints[0]->position.x, joints[1]->position.y); - joints[2]->position = ofVec2f(joints[1]->position.x, joints[2]->position.y); - joints[3]->position = ofVec2f(joints[0]->position.x, joints[2]->position.y); + joints[0]->position = Vec2(joints[0]->position.x, joints[1]->position.y); + joints[2]->position = Vec2(joints[1]->position.x, joints[2]->position.y); + joints[3]->position = Vec2(joints[0]->position.x, joints[2]->position.y); break; case 2: - joints[1]->position = ofVec2f(joints[2]->position.x, joints[1]->position.y); - joints[3]->position = ofVec2f(joints[3]->position.x, joints[2]->position.y); - joints[0]->position = ofVec2f(joints[3]->position.x, joints[1]->position.y); + joints[1]->position = Vec2(joints[2]->position.x, joints[1]->position.y); + joints[3]->position = Vec2(joints[3]->position.x, joints[2]->position.y); + joints[0]->position = Vec2(joints[3]->position.x, joints[1]->position.y); break; case 3: - joints[0]->position = ofVec2f(joints[3]->position.x, joints[0]->position.y); - joints[2]->position = ofVec2f(joints[2]->position.x, joints[3]->position.y); - joints[1]->position = ofVec2f(joints[2]->position.x, joints[0]->position.y); + joints[0]->position = Vec2(joints[3]->position.x, joints[0]->position.y); + joints[2]->position = Vec2(joints[2]->position.x, joints[3]->position.y); + joints[1]->position = Vec2(joints[2]->position.x, joints[0]->position.y); break; } // switch } -CircleJoint * TextureEditorWidget::hitTestJoints(ofVec2f pos){ +CircleJoint * TextureEditorWidget::hitTestJoints(Vec2 pos){ for(int i = 0; i < joints.size(); i++){ if(joints[i]->hitTest(pos)){ return joints[i]; @@ -402,9 +400,9 @@ CircleJoint * TextureEditorWidget::hitTestJoints(ofVec2f pos){ return 0; } -vector & TextureEditorWidget::getJoints(){ +std::vector & TextureEditorWidget::getJoints(){ return joints; } } // namespace piMapper -} // namespace ofx \ No newline at end of file +} // namespace ofx diff --git a/src/Gui/Widgets/TextureEditorWidget.h b/src/Gui/Widgets/TextureEditorWidget.h index ded19a8..6bd3ee5 100644 --- a/src/Gui/Widgets/TextureEditorWidget.h +++ b/src/Gui/Widgets/TextureEditorWidget.h @@ -7,6 +7,7 @@ #include "CircleJoint.h" #include "SurfaceType.h" #include "GuiBaseWidget.h" +#include "Vec2.h" namespace ofx { namespace piMapper { @@ -38,18 +39,18 @@ class TextureEditorWidget : public GuiBaseWidget { void selectNextTexCoord(); void selectPrevTexCoord(); - void moveTexCoords(ofVec2f by); - void moveTexCoordTo(int texCoordIndex, ofVec2f position); + void moveTexCoords(Vec2 by); + void moveTexCoordTo(int texCoordIndex, Vec2 position); void stopDragJoints(); - void moveSelection(ofVec2f by); + void moveSelection(Vec2 by); void constrainJointsToQuad(int selectedJointIndex); - CircleJoint * hitTestJoints(ofVec2f pos); - vector & getJoints(); + CircleJoint * hitTestJoints(Vec2 pos); + std::vector & getJoints(); private: BaseSurface * surface; - vector joints; + std::vector joints; bool bShiftKeyDown; bool _pollCreateJoints; @@ -57,4 +58,4 @@ class TextureEditorWidget : public GuiBaseWidget { }; } // namespace piMapper -} // namespace ofx \ No newline at end of file +} // namespace ofx diff --git a/src/Gui/Widgets/TextureHighlightWidget.h b/src/Gui/Widgets/TextureHighlightWidget.h index 9ea51ae..27353d9 100644 --- a/src/Gui/Widgets/TextureHighlightWidget.h +++ b/src/Gui/Widgets/TextureHighlightWidget.h @@ -27,7 +27,7 @@ class TextureHighlightWidget : public GuiBaseWidget { private: SurfaceManager * _sm; - vector _consumerSurfaces; + std::vector _consumerSurfaces; }; } // namespace piMapper diff --git a/src/Info/Info.cpp b/src/Info/Info.cpp index 9d9f489..82de484 100644 --- a/src/Info/Info.cpp +++ b/src/Info/Info.cpp @@ -13,15 +13,16 @@ Info::Info(){ " 3. Projection mapping mode\n" " - Press <,> and <.> to select previous or next surface\n" " - Press \"<\" and \">\" to select previous or next vertex\n" - " - Press to add new triangle surface\n" - " - Press to add new quad surface\n" - " - Press

to toggle perspective warping while quad surface selected\n" - " - Press to add new grid surface\n" + " - Press to add new Triangle surface\n" + " - Press to add new Quad surface\n" + " - Press to add a new ciRcle surface\n" + " - Press

to toggle Perspective warping while quad surface selected\n" + " - Press to add new Grid surface\n" " - Press <[> and <]> to remove or add columns to selected grid surface\n" " - Press <{> and <}> to remove or add rows to selected grid surface\n" " - Press <+> and <-> to scale surface up and down\n" " - Press <9> and <0> to move selected surface one layer up or down\n" - " - Press to hide/show layer panel\n" + " - Press to hide/show Layer panel\n" " - Press to delete selection\n" " - Press to play/pause the video\n" " - Type to clear composition\n" @@ -50,7 +51,7 @@ void Info::toggle(){ _visible = !_visible; } -void Info::setText(string text){ +void Info::setText(std::string text){ _text = text; } diff --git a/src/Info/Info.h b/src/Info/Info.h index 3fa0dde..adc4616 100644 --- a/src/Info/Info.h +++ b/src/Info/Info.h @@ -11,11 +11,11 @@ class Info { void draw(); void toggle(); - void setText(string text); + void setText(std::string text); private: bool _visible; - string _text; + std::string _text; }; } // namespace piMapper diff --git a/src/MediaServer/DirectoryWatcher.cpp b/src/MediaServer/DirectoryWatcher.cpp index 3c86543..9c55e21 100644 --- a/src/MediaServer/DirectoryWatcher.cpp +++ b/src/MediaServer/DirectoryWatcher.cpp @@ -3,9 +3,10 @@ namespace ofx { namespace piMapper { -DirectoryWatcher::DirectoryWatcher(string path, int watcherMediaType){ +DirectoryWatcher::DirectoryWatcher(std::string path, int watcherMediaType){ + directoryPath = path; _mediaType = watcherMediaType; - + if(_mediaType == SourceType::SOURCE_TYPE_VIDEO){ _directory.allowExt("mp4"); _directory.allowExt("h264"); @@ -21,23 +22,31 @@ DirectoryWatcher::DirectoryWatcher(string path, int watcherMediaType){ ofLogFatalError("DirectoryWatcher::DirectoryWatcher", "Unkonwn media type"); exit(EXIT_FAILURE); } - - _directory.listDir(path); + + _directory.listDir(directoryPath); _directory.sort(); - + for(int i = 0; i < _directory.size(); ++i){ - _filePaths.push_back(path + _directory.getName(i)); - - ofFile file(path + _directory.getName(i)); + _filePaths.push_back(directoryPath + _directory.getName(i)); + + ofFile file(directoryPath + _directory.getName(i)); if(_mediaType == SourceType::SOURCE_TYPE_VIDEO){ file.copyTo("sources/videos/" + _directory.getName(i)); }else if(_mediaType == SourceType::SOURCE_TYPE_IMAGE){ file.copyTo("sources/images/" + _directory.getName(i)); } } + + dirSize = _directory.size(); +} + +DirectoryWatcher::~DirectoryWatcher() { + if(isThreadRunning()){ + stopThread(); + } } -vector & DirectoryWatcher::getFilePaths(){ +std::vector & DirectoryWatcher::getFilePaths(){ return _filePaths; } @@ -45,5 +54,30 @@ int DirectoryWatcher::getMediaType(){ return _mediaType; } +void DirectoryWatcher::beginWatch(int intervalInMillis) { + watchInterval = intervalInMillis; + startThread(); +} + +void DirectoryWatcher::threadedFunction() { + + while (isThreadRunning()) { + + int newSize = _directory.listDir(); + if (newSize > dirSize) { + ofLogVerbose("DirectoryWatcher") << "Directory changed"; + dirSize = newSize; + ofNotifyEvent(directoryFileAddedEvent, this); + } else if (newSize < dirSize) { + dirSize = newSize; + ofNotifyEvent(directoryFileRemovedEvent, this); + } + + + + sleep(watchInterval); + } +} + } // namespace piMapper } // namespace ofx diff --git a/src/MediaServer/DirectoryWatcher.h b/src/MediaServer/DirectoryWatcher.h index 717bbde..35ae34b 100644 --- a/src/MediaServer/DirectoryWatcher.h +++ b/src/MediaServer/DirectoryWatcher.h @@ -6,17 +6,36 @@ namespace ofx { namespace piMapper { -class DirectoryWatcher { +class DirectoryWatcher : public ofThread { public: - DirectoryWatcher(string path, int watcherMediaType); - vector & getFilePaths(); + DirectoryWatcher(std::string path, int watcherMediaType); + virtual ~DirectoryWatcher(); + std::vector &getFilePaths(); int getMediaType(); + void beginWatch(int intervalInMillis = 5000); + void threadedFunction(); + + /** + * Notifies when files are added to this directory. + * Sender is a pointer to this DirectoryWatcher + */ + ofEvent directoryFileAddedEvent; + /** + * Notifies when files are removed from this directory. + * Sender is a pointer to this DirectoryWatcher + */ + ofEvent directoryFileRemovedEvent; + private: ofDirectory _directory; - vector _filePaths; + std::vector _filePaths; + std::string directoryPath; int _mediaType; + + int dirSize; + long watchInterval; // in millis. }; } // namespace piMapper -} // namespace ofx \ No newline at end of file +} // namespace ofx diff --git a/src/MediaServer/MediaServer.cpp b/src/MediaServer/MediaServer.cpp index b55489f..8b22544 100644 --- a/src/MediaServer/MediaServer.cpp +++ b/src/MediaServer/MediaServer.cpp @@ -19,14 +19,17 @@ MediaServer::MediaServer(): { // By initialising all above we also copy files from external media // to the ofxPiMapper storage. - - imageWatcher = DirectoryWatcher( - ofToDataPath(DEFAULT_IMAGES_DIR, true), - SourceType::SOURCE_TYPE_IMAGE); - - videoWatcher = DirectoryWatcher( - ofToDataPath(DEFAULT_VIDEOS_DIR, true), - SourceType::SOURCE_TYPE_VIDEO); + imageWatcher.beginWatch(); + + +// imageWatcher = DirectoryWatcher( +// ofToDataPath(DEFAULT_IMAGES_DIR, true), +// SourceType::SOURCE_TYPE_IMAGE); +// imageWatcher.beginWatch(); +// +// videoWatcher = DirectoryWatcher( +// ofToDataPath(DEFAULT_VIDEOS_DIR, true), +// SourceType::SOURCE_TYPE_VIDEO); } void MediaServer::setup(){ @@ -58,47 +61,47 @@ int MediaServer::getNumFboSources(){ return fboSources.size(); } -vector & MediaServer::getImagePaths(){ +std::vector & MediaServer::getImagePaths(){ return imageWatcher.getFilePaths(); } -vector MediaServer::getImageNames(){ - vector imageNames; +std::vector MediaServer::getImageNames(){ + std::vector imageNames; for(int i = 0; i < getNumImages(); i++){ // Split image path - vector pathParts = ofSplitString(getImagePaths()[i], "/"); + std::vector pathParts = ofSplitString(getImagePaths()[i], "/"); // And get only the last piece - string name = pathParts[pathParts.size() - 1]; + std::string name = pathParts[pathParts.size() - 1]; imageNames.push_back(name); } return imageNames; } -vector MediaServer::getFboSourceNames(){ - vector fboSourceNames; +std::vector MediaServer::getFboSourceNames(){ + std::vector fboSourceNames; for(int i = 0; i < fboSources.size(); i++){ fboSourceNames.push_back(fboSources[i]->getName()); } return fboSourceNames; } -vector & MediaServer::getVideoPaths(){ +std::vector & MediaServer::getVideoPaths(){ return videoWatcher.getFilePaths(); } -vector MediaServer::getVideoNames(){ - vector videoNames; +std::vector MediaServer::getVideoNames(){ + std::vector videoNames; for(int i = 0; i < getNumVideos(); i++){ // Split video path - vector pathParts = ofSplitString(getVideoPaths()[i], "/"); + std::vector pathParts = ofSplitString(getVideoPaths()[i], "/"); // And get only the last piece - string name = pathParts[pathParts.size() - 1]; + std::string name = pathParts[pathParts.size() - 1]; videoNames.push_back(name); } return videoNames; } -BaseSource * MediaServer::loadMedia(string & path, int mediaType){ +BaseSource * MediaServer::loadMedia(std::string & path, int mediaType){ // Chose load method depending on type if(mediaType == SourceType::SOURCE_TYPE_IMAGE){ return loadImage(path); @@ -107,7 +110,7 @@ BaseSource * MediaServer::loadMedia(string & path, int mediaType){ }else if(mediaType == SourceType::SOURCE_TYPE_FBO){ return loadFboSource(path); }else{ - stringstream ss; + std::stringstream ss; ss << "Can not load media of unknown type: " << mediaType; ofLogFatalError("MediaServer") << ss.str(); std::exit(EXIT_FAILURE); @@ -115,7 +118,7 @@ BaseSource * MediaServer::loadMedia(string & path, int mediaType){ return 0; } -BaseSource * MediaServer::loadImage(string & path){ +BaseSource * MediaServer::loadImage(std::string & path){ ImageSource * imageSource = 0; // Check if this image is already loaded bool isImageLoaded = false; @@ -128,11 +131,11 @@ BaseSource * MediaServer::loadImage(string & path){ // Increase reference count of this source //referenceCount[path]++; imageSource->referenceCount++; - stringstream refss; + std::stringstream refss; refss << "Current reference count for " << path << " = " << imageSource->referenceCount; ofLogNotice("MediaServer") << refss.str(); // Notify objects registered to onImageLoaded event - stringstream ss; + std::stringstream ss; ss << "Image " << path << " already loaded"; ofLogNotice("MediaServer") << ss.str(); ofNotifyEvent(onImageLoaded, path, this); @@ -144,7 +147,7 @@ BaseSource * MediaServer::loadImage(string & path){ loadedSources[path] = imageSource; // Set reference count of this image path to 1 //referenceCount[path] = 1; - stringstream refss; + std::stringstream refss; refss << "Initialized reference count of " << path << " to " << imageSource->referenceCount; ofLogNotice("MediaServer") << refss.str(); // Notify objects registered to onImageLoaded event @@ -152,7 +155,7 @@ BaseSource * MediaServer::loadImage(string & path){ return imageSource; } -void MediaServer::unloadImage(string & path){ +void MediaServer::unloadImage(std::string & path){ ImageSource * source = static_cast (getSourceByPath(path)); ofLogNotice("MediaServer") << "Unload image, current reference count: " << source->referenceCount; source->referenceCount--; @@ -163,28 +166,28 @@ void MediaServer::unloadImage(string & path){ return; } // Reference count 0 or less, unload image - stringstream ss; + std::stringstream ss; ss << "Removing image " << path; ofLogNotice("MediaServer") << ss.str(); // Destroy image source if(loadedSources.count(path)){ - ofLogNotice("MediaServer") << "Source count BEFORE image removal: " << loadedSources.size() << endl; + ofLogNotice("MediaServer") << "Source count BEFORE image removal: " << loadedSources.size() << std::endl; loadedSources[path]->clear(); - map ::iterator it = loadedSources.find(path); + map ::iterator it = loadedSources.find(path); delete it->second; loadedSources.erase(it); - ofLogNotice("MediaServer") << "Source count AFTER image removal: " << loadedSources.size() << endl; + ofLogNotice("MediaServer") << "Source count AFTER image removal: " << loadedSources.size() << std::endl; ofNotifyEvent(onImageUnloaded, path, this); return; } // Something wrong here, we should be out of the routine by now - stringstream failss; + std::stringstream failss; failss << "Failed to remove image source: " << path; ofLogFatalError("MediaServer") << failss.str(); std::exit(EXIT_FAILURE); } -BaseSource * MediaServer::loadVideo(string & path){ +BaseSource * MediaServer::loadVideo(std::string & path){ VideoSource * videoSource = 0; // Check if this video is already loaded bool isVideoLoaded = false; @@ -196,11 +199,11 @@ BaseSource * MediaServer::loadVideo(string & path){ if(isVideoLoaded){ // Increase reference count of this source videoSource->referenceCount++; - stringstream refss; + std::stringstream refss; refss << "Current reference count for " << path << " = " << videoSource->referenceCount; ofLogNotice("MediaServer") << refss.str(); // Notify objects registered to onImageLoaded event - stringstream ss; + std::stringstream ss; ss << "Video " << path << " already loaded"; ofLogNotice("MediaServer") << ss.str(); ofNotifyEvent(onVideoLoaded, path, this); @@ -212,14 +215,14 @@ BaseSource * MediaServer::loadVideo(string & path){ loadedSources[path] = videoSource; // Set reference count of this image path to 1 //referenceCount[path] = 1; - stringstream refss; + std::stringstream refss; refss << "Initialized reference count of " << path << " to " << videoSource->referenceCount; ofLogNotice("MediaServer") << refss.str(); ofNotifyEvent(onVideoLoaded, path, this); return videoSource; } -void MediaServer::unloadVideo(string & path){ +void MediaServer::unloadVideo(std::string & path){ VideoSource * videoSource = static_cast (getSourceByPath(path)); // Decrease reference count of the video //referenceCount[path]--; @@ -236,26 +239,26 @@ void MediaServer::unloadVideo(string & path){ if(loadedSources.count(path)){ ofLogNotice("MediaServer") << "Source count before video removal: " - << loadedSources.size() << endl; + << loadedSources.size() << std::endl; videoSource->clear(); - map ::iterator it = loadedSources.find(path); + map ::iterator it = loadedSources.find(path); delete it->second; loadedSources.erase(it); ofLogNotice("MediaServer") << "Source count after video removal: " - << loadedSources.size() << endl; + << loadedSources.size() << std::endl; ofNotifyEvent(onVideoUnloaded, path, this); return; } // Something wrong here, we should be out of the routine by now - stringstream failss; + std::stringstream failss; failss << "Failed to remove video source: " << path; ofLogFatalError("MediaServer") << failss.str(); std::exit(EXIT_FAILURE); } -void MediaServer::unloadMedia(string & path){ +void MediaServer::unloadMedia(std::string & path){ if(loadedSources.count(path)){ BaseSource * mediaSource = getSourceByPath(path); if(mediaSource->getType() == SourceType::SOURCE_TYPE_IMAGE){ @@ -276,7 +279,7 @@ void MediaServer::unloadMedia(string & path){ // Clear all loaded media void MediaServer::clear(){ - typedef map ::iterator it_type; + typedef map ::iterator it_type; for(it_type i = loadedSources.begin(); i != loadedSources.end(); i++){ // Do not delete FBO source pointers as they are (and should be) initialized elsewhere if(i->second->getType() != SourceType::SOURCE_TYPE_FBO){ @@ -287,32 +290,32 @@ void MediaServer::clear(){ } // TODO: getLoadedSourceByPath -BaseSource * MediaServer::getSourceByPath(string & mediaPath){ +BaseSource * MediaServer::getSourceByPath(std::string & mediaPath){ if(loadedSources.count(mediaPath)){ return loadedSources[mediaPath]; } // Source not found, exit with error - stringstream ss; + std::stringstream ss; ss << "Could not find source by path: " << mediaPath; ofLogFatalError("MediaServer") << ss.str(); std::exit(EXIT_FAILURE); } -string MediaServer::getDefaultImageDir(){ +std::string MediaServer::getDefaultImageDir(){ return DEFAULT_IMAGES_DIR; } -string MediaServer::getDefaultVideoDir(){ +std::string MediaServer::getDefaultVideoDir(){ return DEFAULT_VIDEOS_DIR; } -string MediaServer::getDefaultMediaDir(int sourceType){ +std::string MediaServer::getDefaultMediaDir(int sourceType){ if(sourceType == SourceType::SOURCE_TYPE_IMAGE){ return getDefaultImageDir(); }else if(sourceType == SourceType::SOURCE_TYPE_VIDEO){ return getDefaultVideoDir(); }else{ - stringstream ss; + std::stringstream ss; ss << "Could not get default media dir. Unknown source type: " << sourceType; ofLogFatalError("MediaServer") << ss.str(); std::exit(EXIT_FAILURE); @@ -343,7 +346,7 @@ void MediaServer::addFboSource(FboSource * fboSource){ fboSource->setup(); } -BaseSource * MediaServer::loadFboSource(string & fboSourceName){ +BaseSource * MediaServer::loadFboSource(std::string & fboSourceName){ ofLogNotice("MediaServer") << "Attempting to load FBO source with name " << fboSourceName; // Search for FBO source name in our storage FboSource * source = 0; @@ -377,7 +380,7 @@ BaseSource * MediaServer::loadFboSource(string & fboSourceName){ return loadedSources[fboSourceName]; } // loadFboSource -void MediaServer::unloadFboSource(string & fboSourceName){ +void MediaServer::unloadFboSource(std::string & fboSourceName){ ofLogNotice("MediaServer") << "Attempt to unload FBO source " << fboSourceName; // Check if loaded at all if(!loadedSources.count(fboSourceName)){ @@ -396,9 +399,9 @@ void MediaServer::unloadFboSource(string & fboSourceName){ source->referenceCount = 0; source->setActive(false); //source->removeAppListeners(); - map ::iterator it = loadedSources.find(fboSourceName); + map ::iterator it = loadedSources.find(fboSourceName); loadedSources.erase(it); - ofLogNotice("MediaServer") << "Source count after FBO source removal: " << loadedSources.size() << endl; + ofLogNotice("MediaServer") << "Source count after FBO source removal: " << loadedSources.size() << std::endl; ofNotifyEvent(onFboSourceUnloaded, fboSourceName, this); } } // unloadFboSource diff --git a/src/MediaServer/MediaServer.h b/src/MediaServer/MediaServer.h index 3f780f4..51bf721 100644 --- a/src/MediaServer/MediaServer.h +++ b/src/MediaServer/MediaServer.h @@ -55,45 +55,45 @@ class MediaServer { int getNumVideos(); int getNumImages(); int getNumFboSources(); // new - vector & getVideoPaths(); - vector getVideoNames(); - vector & getImagePaths(); - vector getImageNames(); - vector getFboSourceNames(); // new - - BaseSource * loadMedia(string & path, int mediaType); - BaseSource * loadImage(string & path); - void unloadImage(string & path); - BaseSource * loadVideo(string & path); - void unloadVideo(string & path); - void unloadMedia(string & path); + std::vector & getVideoPaths(); + std::vector getVideoNames(); + std::vector & getImagePaths(); + std::vector getImageNames(); + std::vector getFboSourceNames(); // new + + BaseSource * loadMedia(std::string & path, int mediaType); + BaseSource * loadImage(std::string & path); + void unloadImage(std::string & path); + BaseSource * loadVideo(std::string & path); + void unloadVideo(std::string & path); + void unloadMedia(std::string & path); void clear(); // Force all loaded source unload - BaseSource * getSourceByPath(string & mediaPath); - string getDefaultImageDir(); - string getDefaultVideoDir(); - string getDefaultMediaDir(int sourceType); + BaseSource * getSourceByPath(std::string & mediaPath); + std::string getDefaultImageDir(); + std::string getDefaultVideoDir(); + std::string getDefaultMediaDir(int sourceType); // Do things with FBO sources void addFboSource(FboSource & fboSource); // could be called also as register FBO source void addFboSource(FboSource * fboSource); - BaseSource * loadFboSource(string & fboSourceName); - void unloadFboSource(string & fboSourceName); + BaseSource * loadFboSource(std::string & fboSourceName); + void unloadFboSource(std::string & fboSourceName); // Custom events, add/remove - ofEvent onImageAdded; - ofEvent onImageRemoved; - ofEvent onVideoAdded; - ofEvent onVideoRemoved; - ofEvent onFboSourceAdded; - ofEvent onFboSourceRemoved; + ofEvent onImageAdded; + ofEvent onImageRemoved; + ofEvent onVideoAdded; + ofEvent onVideoRemoved; + ofEvent onFboSourceAdded; + ofEvent onFboSourceRemoved; // load/unload - ofEvent onImageLoaded; - ofEvent onImageUnloaded; - ofEvent onVideoLoaded; - ofEvent onVideoUnloaded; - ofEvent onFboSourceLoaded; - ofEvent onFboSourceUnloaded; + ofEvent onImageLoaded; + ofEvent onImageUnloaded; + ofEvent onVideoLoaded; + ofEvent onVideoUnloaded; + ofEvent onFboSourceLoaded; + ofEvent onFboSourceUnloaded; private: // Directory Watchers @@ -111,13 +111,13 @@ class MediaServer { DirectoryWatcher usb2ImageWatcher; DirectoryWatcher usb3ImageWatcher; - vector _tempImagePaths; - vector _tempVideoPaths; + std::vector _tempImagePaths; + std::vector _tempVideoPaths; - map loadedSources; + map loadedSources; // FBO source storage before they go to loadedSources - vector fboSources; // FBO source storage + std::vector fboSources; // FBO source storage }; } // namespace piMapper diff --git a/src/Sources/BaseSource.cpp b/src/Sources/BaseSource.cpp index 77f9c7f..fdba7f4 100644 --- a/src/Sources/BaseSource.cpp +++ b/src/Sources/BaseSource.cpp @@ -4,7 +4,7 @@ namespace ofx { namespace piMapper { BaseSource::BaseSource(){ - //cout << "BaseSource" << endl; + //std::cout << "BaseSource" << std::endl; init(); runInBackground = false; displayed = false; @@ -21,7 +21,7 @@ ofTexture * BaseSource::getTexture(){ return texture; } -string & BaseSource::getName(){ +std::string & BaseSource::getName(){ return name; } @@ -37,7 +37,7 @@ SourceType BaseSource::getType(){ return type; } -string & BaseSource::getPath(){ +std::string & BaseSource::getPath(){ return path; } @@ -63,11 +63,12 @@ bool BaseSource::runsInBackground(){ return runInBackground; } -void BaseSource::setNameFromPath(string & fullPath){ - vector pathParts; - //cout << "fullPath: " << fullPath << endl; +void BaseSource::setNameFromPath(std::string & fullPath){ + std::vector pathParts; + //std::cout << "fullPath: " << fullPath << std::endl; + pathParts = ofSplitString(fullPath, "/"); // Maybe on win "/" is "\", have to test - //cout << "lastPathPart: " << pathParts[pathParts.size() - 1] << endl; + //std::cout << "lastPathPart: " << pathParts[pathParts.size() - 1] << std::endl; name = pathParts[pathParts.size() - 1]; } diff --git a/src/Sources/BaseSource.h b/src/Sources/BaseSource.h index b2b2176..e637251 100644 --- a/src/Sources/BaseSource.h +++ b/src/Sources/BaseSource.h @@ -13,11 +13,11 @@ class BaseSource { BaseSource(ofTexture * newTexture); // Only one clean way of passing the texture ~BaseSource(); ofTexture * getTexture(); - string & getName(); + std::string & getName(); bool isLoadable(); // Maybe the loading features shoud go to a derrived class bool isLoaded(); // as BaseSourceLoadable SourceType getType(); - string & getPath(); + std::string & getPath(); virtual void clear(){} virtual void togglePause(){} bool isActive(); @@ -34,10 +34,10 @@ class BaseSource { void init(); protected: - void setNameFromPath(string & fullPath); + void setNameFromPath(std::string & fullPath); ofTexture * texture; - string name; - string path; // This is set only if loadable is true + std::string name; + std::string path; // This is set only if loadable is true bool loadable; // If the source can be loaded from disk like image and video bool loaded; // Is the source loaded? SourceType type; diff --git a/src/Sources/ImageSource.cpp b/src/Sources/ImageSource.cpp index 75ded43..08db4b6 100644 --- a/src/Sources/ImageSource.cpp +++ b/src/Sources/ImageSource.cpp @@ -11,7 +11,7 @@ ImageSource::ImageSource(){ ImageSource::~ImageSource(){} -void ImageSource::loadImage(string & filePath){ +void ImageSource::loadImage(std::string & filePath){ path = filePath; setNameFromPath(filePath); image = new ofImage(); diff --git a/src/Sources/ImageSource.h b/src/Sources/ImageSource.h index b22dba6..2d34270 100644 --- a/src/Sources/ImageSource.h +++ b/src/Sources/ImageSource.h @@ -10,8 +10,8 @@ class ImageSource : public BaseSource { public: ImageSource(); ~ImageSource(); - string & getPath(); - void loadImage(string & filePath); + std::string & getPath(); + void loadImage(std::string & filePath); void clear(); private: ofImage * image; diff --git a/src/Sources/OMXPlayerCache.cpp b/src/Sources/OMXPlayerCache.cpp index b051f9e..df98ac9 100644 --- a/src/Sources/OMXPlayerCache.cpp +++ b/src/Sources/OMXPlayerCache.cpp @@ -14,7 +14,7 @@ OMXPlayerCache * OMXPlayerCache::instance(){ return _instance; } -ofxOMXPlayer * OMXPlayerCache::load(string moviePath){ +ofxOMXPlayer * OMXPlayerCache::load(std::string moviePath){ if(_players.find(moviePath) == _players.end()){ ofxOMXPlayerSettings settings; settings.videoPath = moviePath; @@ -34,7 +34,7 @@ ofxOMXPlayer * OMXPlayerCache::load(string moviePath){ return _players[moviePath]; } -void OMXPlayerCache::unload(string moviePath){ +void OMXPlayerCache::unload(std::string moviePath){ if(_players.find(moviePath) != _players.end()){ _players[moviePath]->setPaused(true); } diff --git a/src/Sources/OMXPlayerCache.h b/src/Sources/OMXPlayerCache.h index ae427a0..26925a7 100644 --- a/src/Sources/OMXPlayerCache.h +++ b/src/Sources/OMXPlayerCache.h @@ -14,12 +14,12 @@ class OMXPlayerCache { public: static OMXPlayerCache * instance(); - ofxOMXPlayer * load(string moviePath); - void unload(string moviePath); + ofxOMXPlayer * load(std::string moviePath); + void unload(std::string moviePath); private: static OMXPlayerCache * _instance; - map _players; + map _players; }; diff --git a/src/Sources/SourceTypeHelper.h b/src/Sources/SourceTypeHelper.h index 6f6acae..b6e3b77 100644 --- a/src/Sources/SourceTypeHelper.h +++ b/src/Sources/SourceTypeHelper.h @@ -13,7 +13,7 @@ namespace piMapper { class SourceTypeHelper { public: - static string GetSourceTypeHelperName(SourceType sourceTypeEnum){ + static std::string GetSourceTypeHelperName(SourceType sourceTypeEnum){ if(sourceTypeEnum == SOURCE_TYPE_IMAGE){ return SOURCE_TYPE_NAME_IMAGE; }else if(sourceTypeEnum == SOURCE_TYPE_VIDEO){ @@ -23,14 +23,14 @@ class SourceTypeHelper { }else if(sourceTypeEnum == SOURCE_TYPE_FBO){ return SOURCE_TYPE_NAME_FBO; }else{ - stringstream ss; + std::stringstream ss; ss << "Invalid source type: " << sourceTypeEnum; ofLogFatalError("SourceTypeHelper") << ss.str(); exit(EXIT_FAILURE); } } - static SourceType GetSourceTypeHelperEnum(string sourceTypeName){ + static SourceType GetSourceTypeHelperEnum(std::string sourceTypeName){ if(sourceTypeName == SOURCE_TYPE_NAME_IMAGE){ return SOURCE_TYPE_IMAGE; }else if(sourceTypeName == SOURCE_TYPE_NAME_VIDEO){ @@ -40,7 +40,7 @@ class SourceTypeHelper { }else if(sourceTypeName == SOURCE_TYPE_NAME_FBO){ return SOURCE_TYPE_FBO; }else{ - stringstream ss; + std::stringstream ss; ss << "Invalid source type name: " << sourceTypeName; ofLogFatalError("SourceTypeHelper") << ss.str(); exit(EXIT_FAILURE); diff --git a/src/Sources/VideoSource.cpp b/src/Sources/VideoSource.cpp index 022c370..9c70e1e 100644 --- a/src/Sources/VideoSource.cpp +++ b/src/Sources/VideoSource.cpp @@ -18,7 +18,7 @@ VideoSource::VideoSource(){ #endif } -void VideoSource::loadVideo(string & filePath){ +void VideoSource::loadVideo(std::string & filePath){ path = filePath; setNameFromPath(filePath); #ifdef TARGET_RASPBERRY_PI diff --git a/src/Sources/VideoSource.h b/src/Sources/VideoSource.h index 18726c9..6fe8638 100644 --- a/src/Sources/VideoSource.h +++ b/src/Sources/VideoSource.h @@ -22,8 +22,8 @@ class VideoSource : public BaseSource { VideoSource(); - string & getPath(); - void loadVideo(string & path); + std::string & getPath(); + void loadVideo(std::string & path); void clear(); void togglePause(); diff --git a/src/Sources/magSlide.cpp b/src/Sources/magSlide.cpp new file mode 100644 index 0000000..206a86c --- /dev/null +++ b/src/Sources/magSlide.cpp @@ -0,0 +1,202 @@ +// +// magSlide.cpp +// Copyright (c) 2017 Cristobal Mendoza +// http://cuppetellimendoza.com +// + +#include "magSlide.h" +#include "magSlideTransition.h" + +#pragma mark magSlide + +int magSlide::idCount = 0; + +magSlide::magSlide(std::string type) +{ + this->type = type; + position = ofPoint(0, 0); + id = magSlide::idCount; + magSlide::idCount++; +} + +void magSlide::update(u_int64_t deltaTime) +{ + transition->update(deltaTime); + runningTime += deltaTime; + + switch (slideState){ +// case SlideState::BuildIn: +// if (runningTime >= buildInDuration) +// { +// setState(Normal); +// activeTransition = nullptr; +// } +// break; + + case SlideState::Normal: + if (runningTime >= buildOutStartTime){ + setState(BuildOut); + } + break; + + case SlideState::BuildOut: + if (runningTime >= endTime){ + setState(Complete); + } + break; + default: + break; + } +} + +void magSlide::setSize(float w, float h) +{ + width = w; + height = h; +} + +void magSlide::setResizeOption(magSlide::ResizeOptions resizeOption) +{ + this->resizeOption = resizeOption; +} + +magSlide::ResizeOptions magSlide::getResizeOption() const +{ + return resizeOption; +} + +void magSlide::setDuration(u_int64_t duration) +{ + this->duration = duration; +} + +void magSlide::setState(SlideState state) +{ + // Don't do anything if the new state is the same + // as the current one: + if (slideState == state) return; + + slideState = state; + ofEventArgs args; + ofNotifyEvent(slideStateChangedEvent, args, this); + + if (slideState == Complete) + { + ofNotifyEvent(slideCompleteEvent, args, this); + } +} + +void magSlide::setTransitionDuration(u_int64_t tDuration) +{ + buildOutDuration = tDuration; +} + +const std::string magSlide::getSlideStateName() +{ + switch (slideState) + { +// case SlideState::BuildIn: +// return "BuildIn"; + case SlideState::BuildOut: + return "BuildOut"; + case Normal: + return "Normal"; + case SlideState::Complete: + return "Complete"; + case SlideState::Off: + return "Off"; + } + + return "unknown"; +} + +void magSlide::start(u_int64_t startTime) +{ + this->startTime = startTime; + runningTime = 0; + endTime = duration + (buildOutDuration*2); // *2 because we take into account transition in and out + buildOutStartTime = duration + buildOutDuration; + slideState = magSlide::SlideState::Normal; + position.set(0, 0); + opacity = 255; + isComplete = false; +} + +void magSlide::draw() +{ + ofSetColor(255, opacity); + if(transition->isActive()) + { + transition->draw(); + } +} + + +//////////////////////////////////////////////////////// +#pragma mark MAG_IMAGE_SLIDE +//////////////////////////////////////////////////////// + +magImageSlide::magImageSlide() : magSlide("magImageSlide") {} + +magImageSlide::~magImageSlide() {} + +void magImageSlide::setup(ofImage &image) +{ + // Make a copy of the image: + this->image = ofImage(image); + image.setAnchorPercent(0.5, 0.5); + width = image.getWidth(); + height = image.getHeight(); +} + +void magImageSlide::draw() +{ + magSlide::draw(); + image.draw(position, width, height); +} + +//////////////////////////////////////////////////////// +#pragma mark MAG_VIDEO_SLIDE +//////////////////////////////////////////////////////// + +magVideoSlide::magVideoSlide() : magSlide("magVideoSlide") +{} + +magVideoSlide::~magVideoSlide() +{ + videoPlayer.stop(); +} + +bool magVideoSlide::setup(ofFile &file, bool useVideoDuration) +{ + + bool success = videoPlayer.load(file.getAbsolutePath()); + + if (success) + { + videoPlayer.setAnchorPercent(0.5, 0.5); + if (useVideoDuration) + { + useVideoForDuration(); + } + } + + return success; +} + +void magVideoSlide::update() +{ + videoPlayer.update(); +} + +void magVideoSlide::draw() +{ + magSlide::draw(); + videoPlayer.draw(position.x, position.y, width, height); +} + +void magVideoSlide::useVideoForDuration() +{ + duration = u_int64_t((videoPlayer.getDuration()*1000)) - buildOutDuration; +} + diff --git a/src/Sources/magSlide.h b/src/Sources/magSlide.h new file mode 100644 index 0000000..74e1b2c --- /dev/null +++ b/src/Sources/magSlide.h @@ -0,0 +1,263 @@ +// +// Created by Cristobal Mendoza on 11/9/17. +// + +#ifndef MAGSLIDE_H +#define MAGSLIDE_H + +#include "ofMain.h" + +class magSlideTransition; + +class magSlide +{ +public: + magSlide(std::string type); +// ~magSlide(); + virtual void update(u_int64_t deltaTime); + virtual void draw(); + + /** + * Sets the slide up for playback. This method must be + * called before displaying the slide. + * @param startTime + */ + void start(u_int64_t startTime); + + enum ResizeOptions : short + { + /** + * No resizing applied, displays the slide in its native pixel dimensions. + * This is the default behavior. + */ + NoResize = 0, + /** + * Explicitly set a slide to display in its native dimension. + * None and NoResize result in the same output, but if you specify + * a default resizing option in your slideshow and you want a particular + * slide not to resize, you must specify this option. Otherwise the + * slide show option will apply. + */ + Native, + + /** + * Sets width and height to match the source's. + * This will distort the slide if the aspect ratios + * don't match. + */ + Fit, + + /** + * Resizes the largest dimension to the source's max, + * the other dimension is resized proportionally. + */ + FitProportionally, + + /** + * Resizes the shortest dimensions to the source's max, + */ + FillProportionally, + }; + + enum SlideState : short + { + Off = 0, +// BuildIn, + Normal, + BuildOut, + Complete + }; + + const std::string &getType() + { return type; } + + float getWidth() + { return width; } + + float getHeight() + { return height; } + + float getOpacity() const + { + return opacity; + } + + void setOpacity(float opacity) + { + magSlide::opacity = opacity; + } + + /** + * Change the display size of a slide. This will implicitly + * set resizeOptions to ResizeOption.NoResize. + * This method does not resize the pixel source of the slide. + * @param w The new width + * @param h The new height + */ + virtual void setSize(float w, float h); + + u_int64_t getDuration() + { + return duration; + } + + /** + * Sets the display time of the slide, excluding + * builds (in or out) + * @param duration in milliseconds. + */ + void setDuration(u_int64_t duration); + + /** + * Sets the duration of the buildIn and buildOut + * transitions. Transition times are added to the + * duration of the slide. + * @param tDuration in milliseconds. + */ + void setTransitionDuration(u_int64_t tDuration); + + ResizeOptions getResizeOption() const; + void setResizeOption(ResizeOptions resizeOption); + + SlideState getSlideState() const + { + return slideState; + } + + bool isSlideComplete() + { return isComplete; } + + int getId() + { return id; } + + const std::string getSlideStateName(); + + ////////////////////////////// + /// Events + ////////////////////////////// + ofEvent slideCompleteEvent; + ofEvent slideStateChangedEvent; + + friend class magSlideShowSource; + +protected: + int id; + std::string type; + float width; + float height; + ofPoint position; +public: + const ofPoint &getPosition() const + { + return position; + } + + void setPosition(const ofPoint &position) + { + magSlide::position = position; + } + + void setPosition(float x, float y) + { + position.set(x, y); + } + + +protected: + float opacity = 255; + ResizeOptions resizeOption = NoResize; + SlideState slideState = Off; + bool isComplete = false; + +// std::shared_ptr buildIn = nullptr; +// std::shared_ptr buildOut = nullptr; + std::shared_ptr transition = nullptr; +public: + const shared_ptr &getTransition() const + { + return transition; + } + +protected: + /** + * The duration of the slide in millis, not counting builds + */ + u_int64_t duration; + + /** + * The start time of the slide in milliseconds, in "local time". + * In practice, this means that the start time is always 0. + */ + u_int64_t startTime; + + /** + * The end time of the slide in milliseconds, in "local time". + * The endTime is startTime + buildInDuration + duration + buildOutDuration. + */ + u_int64_t endTime; + + /** + * The duration of the build in transition or effect, in milliseconds. + */ +// u_int64_t buildInDuration; + + /** + * The duration of the build out transition or effect, in milliseconds. + */ + u_int64_t buildOutDuration; + + /** + * The "local time" start of the build out transition. This time should also + * signal the enqueuing of the next slide, if applicable. + */ + u_int64_t buildOutStartTime; + + /** + * The amount of time the slide has been displayed, in milliseconds. + * This constitutes the "local time" of the slide. + */ + u_int64_t runningTime; + + void setState(SlideState state); + + static int idCount; +}; + +class magImageSlide : public magSlide +{ +public: + magImageSlide(); + ~ magImageSlide(); + /** + * Sets up an image slide. + * @param image is copied into the member magImageSlide::image and is + * not modified in any way. + */ + void setup(ofImage &image); + + void draw(); + +protected: + ofImage image; +}; + +class magVideoSlide : public magSlide +{ +public: + magVideoSlide(); + ~magVideoSlide(); + bool setup(ofFile &file, bool useVideoDuration = false); + void update(); + void draw(); + + /** + * Sets the slide duration to the duration of the video. + * magSlide::duration will be changed by this call, so if you later + * change your mind you'll have to use magSlide::setDuration. + */ + void useVideoForDuration(); +protected: + ofVideoPlayer videoPlayer; +}; + +#endif diff --git a/src/Sources/magSlideShowSource.cpp b/src/Sources/magSlideShowSource.cpp new file mode 100644 index 0000000..48b9359 --- /dev/null +++ b/src/Sources/magSlideShowSource.cpp @@ -0,0 +1,531 @@ +// +// magSlideShowSource.cpp +// Copyright (c) 2017 Cristobal Mendoza +// http://cuppetellimendoza.com +// + + +#include "magSlideShowSource.h" +#include "magSlideTransition.h" +#include "SettingsLoader.h" +#include "magSlideTransitionFactory.h" + +const std::string magSlideShowSource::SettingsFileName = "magslideshow_settings.xml"; + +magSlideShowSource::magSlideShowSource() { + name = "Slide Show Source"; + currentSlideIndex = 0; + isPlaying = false; + directoryWatcher = 0; + doInit = false; + if (!loadFromXml(SettingsFileName)) + { + ofLogError("magSlideShowSource") << "Could not find slide show settings file " << SettingsFileName; + Settings sets; + initialize(sets); + } +} + +magSlideShowSource::~magSlideShowSource(){ + if(directoryWatcher != 0){ + delete directoryWatcher; + } +} + +bool magSlideShowSource::initialize(magSlideShowSource::Settings settings) { + this->settings = settings; + bool success = true; + + if (settings.width <= 0 || settings.height <= 0) + { + ofLogError("magSlideShowSource::initialize") << "Invalid value for width or height. Width and height " + "must be assigned in your Settings struct!"; + return false; + } + + // Allocate the FBO: + allocate(settings.width, settings.height); + + // If there is a path in slidesFolderPath, attempt + // to load the folder and any files in it: + if (!settings.slidesFolderPath.empty()) + { +// ofDirectory dir = ofDirectory(settings.slidesFolderPath); + success = createFromFolderContents(settings.slidesFolderPath); + + if (!success) + { + ofLogError("magSlideShowSource::initialize") << "Failed to create slide show from folder " + << settings.slidesFolderPath; + return success; + } + { + if (directoryWatcher == 0) + { + + using namespace ofx::piMapper; + directoryWatcher = new DirectoryWatcher(settings.slidesFolderPath, + SourceTypeHelper::GetSourceTypeHelperEnum( + SOURCE_TYPE_NAME_IMAGE)); + ofAddListener(directoryWatcher->directoryFileAddedEvent, this, &magSlideShowSource::fileAddedListener); + ofAddListener(directoryWatcher->directoryFileRemovedEvent, this, + &magSlideShowSource::fileRemovedListener); + directoryWatcher->beginWatch(); + } + } + + } + else if (!settings.slideshowFilePath.empty()) + { + success = false; + } + + return success; +} + +void magSlideShowSource::setup() { + ofx::piMapper::FboSource::setup(); +} + +void magSlideShowSource::update() { + + // Perform re-initialization if the DirectoryWatcher + // detects file changes: + if (doInit) + { + initialize(settings); + doInit = false; + } + + if (!isPlaying) return; + + auto nowTime = ofGetElapsedTimeMillis(); + deltaTime = nowTime-lastTime; + runningTime += deltaTime; + lastTime = nowTime; + + for (auto &slide : activeSlides) + { + slide->update(deltaTime); + } + + // Queue the next slide if it is time + if (doPlayNextSlide) + { + playNextSlide(); + if (activeSlides.size() > 1) + { + activeSlides[1]->transition->start(activeSlides[0]); + } + doPlayNextSlide = false; + } + + // Erase any complete slides: + auto iter = activeSlides.begin(); + for (; iter < activeSlides.end(); iter++) + { + if ((*iter)->isSlideComplete()) + { +// ofLogVerbose() << "Removing from active slides id: " << (*iter)->getId(); + activeSlides.erase(iter); + --iter; + } + } + + if (activeSlides.size() == 0 && isPlaying) + { + ofEventArgs args; + isPlaying = false; + ofNotifyEvent(slideshowCompleteEvent, args, this); + } +} + +void magSlideShowSource::draw() { + ofBackground(0, 0); + ofPushMatrix(); + ofPushStyle(); + ofTranslate(getWidth()/2.0f, getHeight()/2.0f); + ofEnableAlphaBlending(); + ofSetRectMode(OF_RECTMODE_CENTER); + ofFill(); + ofSetColor(255, 255); + for (auto &slide : activeSlides) + { + slide->draw(); + } + ofPopStyle(); + ofPopMatrix(); + ofDisableAlphaBlending(); +} + +bool magSlideShowSource::createFromFolderContents(std::string path) { + ofDirectory dir = ofDirectory(path); + slides.clear(); + + if (!dir.isDirectory()) + { + ofLogError("magSlideShowSource::createFromFolderContents") << "Folder path " << dir.getAbsolutePath() + << " is not a directory"; + return false; + } + + ofDirectory sortedDir = dir.getSorted(); + std::vector files = sortedDir.getFiles(); + + if (files.size() < 1){ + ofLogError("magSlideShowSource::createFromFolderContents") << "Folder " << dir.getAbsolutePath() << " is empty"; + return false; + } + + ofImage tempImage; + for(ofFile &file : files){ + if (tempImage.load(file.getFileName())){ + + // make a new image slide + auto slide = std::make_shared(); + slide->setup(tempImage); + slide->setDuration(static_cast(settings.slideDuration*1000)); + slide->setTransitionDuration(static_cast(settings.transitionDuration*1000)); +// if (settings.transitionName == "") + addSlide(slide); + }else{ + auto ext = ofToLower(file.getExtension()); + + static std::vector movieExtensions = { + "mov", "qt", // Mac + "mp4", "m4p", "m4v", // MPEG + "mpg", "mp2", "mpeg", "mpe", "mpv", "m2v", // MPEG + "3gp", // Phones + "avi", "wmv", "asf", // Windows + "webm", "mkv", "flv", "vob", // Other containers + "ogv", "ogg", + "drc", "mxf" + }; + + // Check if the extension matches known movie formats: + if (ofContains(movieExtensions, ext)) + { + // Make a new video slide + auto slide = std::make_shared(); + if (slide->setup(file)) + { + slide->setDuration(settings.slideDuration*1000.0); + slide->setTransitionDuration(settings.transitionDuration*1000.0); + addSlide(slide); + } + else + { + ofLogError("magSlideShowSource") << "Failed loading video: " << file.getAbsolutePath(); + } + } + + } + } + + if (slides.size() > 0) + { + return true; + } + else + { + return false; + } +} + +bool magSlideShowSource::loadFromXml(std::string path) { + auto xml = ofxXmlSettings(); + Settings settings; + + if (!xml.load(path)) + { + ofLogError("magSlideShowSource") << "Could not load settings file " << path; + return false; + } + +// xml.pushTag("surfaces"); + if (!xml.pushTag("magSlideShow")) + { + ofLogError("magSlideShowSource") << "Slide show settings not found in " << path; + return false; + } + + settings.width = xml.getValue("Width", settings.width); + settings.height = xml.getValue("Height", settings.height); + + // Default slide duration: + settings.slideDuration = xml.getValue("SlideDuration", settings.slideDuration); + + // Default loop: + if (xml.pushTag("Loop")) + { + auto type = xml.getValue("Type", ""); + if (type == "NONE") + { + settings.loopType = LoopType::NONE; + } + else if (type == "NORMAL") + { + settings.loopType = LoopType::NORMAL; + } + else if (type == "PING-PONG") + { + settings.loopType = LoopType::PING_PONG; + } + + settings.numLoops = xml.getValue("Count", settings.numLoops); + xml.popTag(); + } + + if (xml.pushTag("Transition")) + { + settings.transitionName = xml.getValue("Type", settings.transitionName); + settings.transitionDuration = xml.getValue("Duration", settings.transitionDuration); + xml.popTag(); + } + + // Default resize options: + auto ropts = xml.getValue("ResizeOption", ""); + if (ropts == "NoResize") + { + settings.resizeOption = magSlide::NoResize; + } + else if (ropts == "Native") + { + settings.resizeOption = magSlide::Native; + } + else if (ropts == "Fit") + { + settings.resizeOption = magSlide::Fit; + } + else if (ropts == "FitProportionally") + { + settings.resizeOption = magSlide::FitProportionally; + } + else if (ropts == "FillProportionally") + { + settings.resizeOption = magSlide::FillProportionally; + } + + initialize(settings); + return true; +} + +void magSlideShowSource::addSlide(std::shared_ptr slide) { +// ofLogVerbose("addSlide") << slide->getId(); + slides.insert(slides.begin(), slide); + auto rOption = slide->getResizeOption(); + + // If the slide does not have a resize option assign + // the slide show's option + if (rOption == magSlide::ResizeOptions::NoResize) + { + rOption = settings.resizeOption; + } + + // Resize the slide according to the resize option: + switch (rOption){ + float sw, sh, ratio; + + case magSlide::ResizeOptions::FitProportionally: + sw = slide->getWidth(); + sh = slide->getHeight(); + + if (sw > sh) + { + ratio = (float) getWidth()/sw; + } + else + { + ratio = (float) getHeight()/sh; + } + + slide->setSize(sw*ratio, sh*ratio); + break; + + case magSlide::ResizeOptions::FillProportionally: + sw = slide->getWidth(); + sh = slide->getHeight(); + + if (sw > sh) + { + ratio = (float) getHeight()/sh; + } + else + { + ratio = (float) getWidth()/sw; + } + + slide->setSize(sw*ratio, sh*ratio); + break; + + case magSlide::Fit: + slide->setSize(getWidth(), getHeight()); + break; + + default: + break; + } + + // Add transitions: + + static ofParameterGroup bogusParamGroup; // This is temporary so that things compile + + auto tf = magSlideTransitionFactory::instance(); +// slide->buildIn = tf->createTransition(settings.transitionName, +// slide, +// bogusParamGroup, +// slide->buildInDuration); + slide->transition = tf->createTransition(settings.transitionName, + slide, + bogusParamGroup, + slide->buildOutDuration); + + //// void method(const void * sender, ArgumentsType &args) + ofAddListener(slide->slideStateChangedEvent, this, &magSlideShowSource::slideStateChanged); + ofAddListener(slide->slideCompleteEvent, this, &magSlideShowSource::slideComplete); + +} + +void magSlideShowSource::play() { + if (!isPlaying && slides.size()){ + runningTime = 0; + lastTime = ofGetElapsedTimeMillis(); + isPlaying = true; + auto currentSlide = slides[currentSlideIndex]; + enqueueSlide(currentSlide, ofGetElapsedTimeMillis()); + } +} + +void magSlideShowSource::pause() { + isPlaying = false; +} + +void magSlideShowSource::playNextSlide() { + //TODO + // I should check here to see if there are less than two slides. + // If so, we should probably return + + currentSlideIndex += direction; + ofEventArgs args; + + // This makes sure that we are doing a signed integer comparison, + // otherwise things get weird + int num = slides.size(); + switch (settings.loopType) + { + case LoopType::NONE: + if (currentSlideIndex >= slides.size() || currentSlideIndex < 0) + { + // If we are not looping and we are out of bounds, return + // without enqueueing a slide. This will cause the slide show + // to end once the last slide builds out. + return; + } + break; + case LoopType::NORMAL: + if (currentSlideIndex >= num) + { + loopCount++; + if (loopCount == settings.numLoops) + { + // Return without enqueueing a new slide if we have + // reached the max number of loops. + return; + } + currentSlideIndex = 0; + ofNotifyEvent(slideshowWillLoopEvent, args, this); + } + else if (currentSlideIndex < 0) + { + loopCount++; + if (loopCount == settings.numLoops) + { + // Return without enqueueing a new slide if we have + // reached the max number of loops. + return; + } + currentSlideIndex = slides.size()-1; + ofNotifyEvent(slideshowWillLoopEvent, args, this); + } + break; + case LoopType::PING_PONG: + + int num = slides.size(); + if (currentSlideIndex >= num) + { + loopCount++; + if (loopCount == settings.numLoops) + { + // Return without enqueueing a new slide if we have + // reached the max number of loops. + return; + } + + direction = -1; + currentSlideIndex = slides.size()-2; + ofNotifyEvent(slideshowWillLoopEvent, args, this); + } + else if (currentSlideIndex < 0) + { + loopCount++; + if (loopCount == settings.numLoops) + { + // Return without enqueueing a new slide if we have + // reached the max number of loops. + return; + } + + direction = 1; + currentSlideIndex = 1; + ofNotifyEvent(slideshowWillLoopEvent, args, this); + } + break; + } + + enqueueSlide(slides[currentSlideIndex], ofGetElapsedTimeMillis()); +} + +void magSlideShowSource::playPrevSlide() { + currentSlideIndex -= (direction*2); + playNextSlide(); +} + +void magSlideShowSource::playSlide(int slideIndex) { + currentSlideIndex = slideIndex-direction; + playNextSlide(); +} + +void magSlideShowSource::enqueueSlide(std::shared_ptr slide, u_int64_t startTime) { +// ofLogVerbose() << "Enqueuing slide " << currentSlideIndex << " slide id: " << slide->getId(); + slide->start(startTime); + activeSlides.insert(activeSlides.begin(), slide); +} + +void magSlideShowSource::slideStateChanged(const void *sender, ofEventArgs &args) { + magSlide *slide = (magSlide *) sender; + +// ofLogVerbose("slideStateChanged") << "Slide id: " << slide->getId() << " Slide state: " +// << slide->getSlideStateName(); + if (slide->getSlideState() == magSlide::SlideState::BuildOut) + { + // Flag that we need to load the next slide: + doPlayNextSlide = true; + } + +} + +void magSlideShowSource::slideComplete(const void *sender, ofEventArgs &args) { + magSlide *slide = (magSlide *) sender; +// ofLogVerbose() << "Slide Complete. id: " << slide->getId(); + slide->isComplete = true; +} + +void magSlideShowSource::fileAddedListener(const void *sender) { + doInit = true; +} + +void magSlideShowSource::fileRemovedListener(const void *sender) { + doInit = true; +} + + diff --git a/src/Sources/magSlideShowSource.h b/src/Sources/magSlideShowSource.h new file mode 100644 index 0000000..6573370 --- /dev/null +++ b/src/Sources/magSlideShowSource.h @@ -0,0 +1,167 @@ +// +// magSlideShowSource.h +// Copyright (c) 2017 Cristobal Mendoza +// http://cuppetellimendoza.com +// + +#ifndef MAGSLIDESHOWSOURCE_H +#define MAGSLIDESHOWSOURCE_H + +#include "FboSource.h" +#include "magSlide.h" +#include "DirectoryWatcher.h" + +class magSlide; + +class magSlideShowSource : public ofx::piMapper::FboSource { + public: + magSlideShowSource(); + + /** + * Default settings file name. + */ + static const std::string SettingsFileName; + struct Settings; // forward declaration + bool initialize(magSlideShowSource::Settings settings); + void setup() override; + void update() override; + void draw() override; + + /** + * Removes all slides and then attempts to create a new slide show + * based on the contents of the ofDirectory specified. The files may + * be images or videos, which will be transformed into the appropriate slide type. + * Any other file type in the directory is ignored (including other directories). + * The slide order is alphabetical according to filename. + * + * @param dir The ofDirectory to use as a source for a slide show. + * @return true if at least one slide was created. false is returned + * otherwise. Check the console for the specific error. + */ + bool createFromFolderContents(std::string path); + bool loadFromXml(std::string path); + void addSlide(std::shared_ptr slide); + void play(); + void pause(); + void playNextSlide(); + void playPrevSlide(); + void playSlide(int slideIndex); + + enum LoopType : int { + NONE = 0, + NORMAL, + PING_PONG + }; + + struct Settings { + /** + * The pixel width of the FBO. + */ + float width = 1280; + + /** + * The pixel height of the FBO. + */ + float height = 720; + /** + * An optional default slide duration, in seconds. + * If a slide specifies a duration this value is ignored. + */ + float slideDuration = 5; + + /** + * The default transition for the slide show. + */ + std::string transitionName = "Dissolve"; + + /** + * Default transition duration. + */ + float transitionDuration = 1; + + /** + * If specified, all applicable files in the folder will + * be used as slides in the slide show. They will be ordered + * alphabetically according to their file names. + * + * If path is relative, the root will likely be the Data folder. + */ + std::string slidesFolderPath = "sources/images"; + + /** + * If specified, + */ + std::string slideshowFilePath; + + + /** + * Loop type for the slide show. See @code LoopType for options. + * The default is @code LoopType:None. + */ + LoopType loopType = LoopType::NONE; + + /** + * The number of loops to perform, if the loopType is not NONE. + * If the value is 0 or less than 0, the slide show loops forever. + */ + int numLoops = 0; + + /** + * The resizing option for the slide show. The default is FitProportionally. + * If a slide already has a resizing option applied, that option will be + * respected and this resizeOption will not be used. + */ + magSlide::ResizeOptions resizeOption = magSlide::ResizeOptions::FitProportionally; + }; + + //////////////////////////////////////////// + //// Event Listeners + //////////////////////////////////////////// + void slideStateChanged(const void *sender, ofEventArgs &args); + void slideComplete(const void *sender, ofEventArgs &args); + virtual ~magSlideShowSource(); + + + /** + * Fires when the slide show is done, which happens when + * the loop count is equal to Settings::numLoops, or when + * the last slide is played when @code LoopType::NONE is specified. + * Sender is this slide show. + */ + ofEvent slideshowCompleteEvent; + + + /** + * Fires when the slide show reaches the last slide + * and will perform a loop in the next call. + * Sender is this slide show. + */ + ofEvent slideshowWillLoopEvent; + + protected: + Settings settings; + std::vector> slides; + + private: +// std::shared_ptr currentSlide; + std::vector> activeSlides; + void enqueueSlide(std::shared_ptr slide, u_int64_t startTime); + + u_int64_t lastTime; + u_int64_t deltaTime; + u_int64_t runningTime; + + bool isInitialized = false; + bool isPlaying = false; + int currentSlideIndex = 0; + int direction = 1; + int loopCount = 0; + ofx::piMapper::DirectoryWatcher * directoryWatcher; + void fileAddedListener(const void * sender); + void fileRemovedListener(const void * sender); + bool doInit; + bool doPlayNextSlide = false; +}; + + +#endif diff --git a/src/Sources/magSlideTransition.cpp b/src/Sources/magSlideTransition.cpp new file mode 100644 index 0000000..6c4c9ac --- /dev/null +++ b/src/Sources/magSlideTransition.cpp @@ -0,0 +1,60 @@ +// +// magSlideTransition.cpp +// Copyright (c) 2017 Cristobal Mendoza +// http://cuppetellimendoza.com +// + +#include "magSlideTransition.h" + +void magSlideTransition::start(std::shared_ptr nextSlide) +{ + runningTime = 0; + active = true; + this->nextSlide = nextSlide; +} + +void magSlideTransition::update(u_int64_t timeDelta) +{ + if (!active) return; + + runningTime += timeDelta; + if (runningTime >= duration) + { + ofEventArgs arghh; // arghhhh... + nextSlide->setOpacity(255); + nextSlide->setPosition(0, 0); + end(); + transitionCompleteEvent.notify(this, arghh); + active = false; + } + +} + +u_int64_t magSlideTransition::getRunningTime() +{ + return runningTime; +} + +float magSlideTransition::getNormalizedTime() +{ + return (double)runningTime / (double)duration; +} + + +void magDissolveTransition::draw() +{ + slide->setOpacity(255 - (getNormalizedTime() * 255)); + nextSlide->setOpacity(getNormalizedTime()*255); +} + +void magDissolveTransition::start(std::shared_ptr nextSlide) +{ + magSlideTransition::start(nextSlide); + nextSlide->setOpacity(0); +} + +void magDissolveTransition::end() +{ + nextSlide->setOpacity(255); + slide->setOpacity(0); +} diff --git a/src/Sources/magSlideTransition.h b/src/Sources/magSlideTransition.h new file mode 100644 index 0000000..8574f79 --- /dev/null +++ b/src/Sources/magSlideTransition.h @@ -0,0 +1,129 @@ +// +// magSlideTransition.h +// Copyright (c) 2017 Cristobal Mendoza +// http://cuppetellimendoza.com +// + +#ifndef MAGSLIDETRANSITION_H +#define MAGSLIDETRANSITION_H + +#include "magSlide.h" + +class magSlideTransitionFactory; + +class magSlideTransition +{ +public: + /** + * Subclassing notes: Make sure to provide a value for name in your + * magSlideTransition subclass. + */ + magSlideTransition() { name = "Void"; } + /** + * Begins the transition. This needs to be called in order for the + * transition to do anything. + * @param nextSlide The subsequent slide in the slide show needs to be + * passed here. + * + * You can override this call to set any initial conditions to the transition, + * but make sure to call this method in your override. + */ + virtual void start(std::shared_ptr nextSlide); + + /** + * Called automatically when the transition is complete. Useful to set + * end states for the parameters of the slide and nextSlide. Default implementation + * does nothing. + */ + virtual void end(){} + + /** + * NOTE: The transition settings system is not yet implemented. + * Called when the transition is created. Loads settings for magSlideTransition + * subclasses. The default implementation does nothing. + * @param settings ofParameterGroup with settings for your custom magSlideTransition + * subclass. + */ + virtual void loadSettings(ofParameterGroup &settings){} + + /** + * Updates the transition. + * @param timeDelta The elapsed time (in ms.) between the last call to update() and + * this one (i.e. the frame time). + * + * If you need to override update, make sure to call this implementation + * in your subclass. + */ + virtual void update(u_int64_t timeDelta); + + /** + * Draws the transition. Default implementation does nothing. + */ + virtual void draw(){ + ofLogNotice("magSlideTransition") << "transition draw - this should be overriden " << getNormalizedTime(); + } + + /** + * Current running time in milliseconds. + * @return u_int64_t + */ + u_int64_t getRunningTime(); + + /** + * Returns the current time in normalized form. + * 0 = start, 1 = end. + * @return Float between 0 and 1. + */ + float getNormalizedTime(); + + std::string const &getName() const + { + return name; + } + + const shared_ptr &getNextSlide() const + { + return nextSlide; + } + + bool isActive() const + { + return active; + } + + /** + * Sender is a raw pointer to this magSlideTransition + */ + ofEvent transitionCompleteEvent; + +protected: + std::string name; + std::shared_ptr slide; + std::shared_ptr nextSlide; + + u_int64_t runningTime; + u_int64_t duration; + u_int64_t endTime; + bool active = false; + + +protected: + + friend class magSlideTransitionFactory; +}; + +class magDissolveTransition : public magSlideTransition +{ +public: + magDissolveTransition() + { + name = "Dissolve"; + } + + void start(std::shared_ptr nextSlide) override; + + void draw() override; + void end() override; +}; + +#endif diff --git a/src/Sources/magSlideTransitionFactory.cpp b/src/Sources/magSlideTransitionFactory.cpp new file mode 100644 index 0000000..1c03a57 --- /dev/null +++ b/src/Sources/magSlideTransitionFactory.cpp @@ -0,0 +1,76 @@ +// +// Created by Cristobal Mendoza on 12/3/17. +// + +#include "magSlideTransitionFactory.h" + +/* + * + * + * +class Base {}; + +class DerivedA : public Base {}; +class DerivedB : public Base {}; +class DerivedC : public Base {}; + +Base* create(const std::string& type) +{ + static std::map> type_creator_map = + { + {"DerivedA", [](){return new DerivedA();}}, + {"DerivedB", [](){return new DerivedB();}}, + {"DerivedC", [](){return new DerivedC();}} + }; + + auto it = type_creator_map.find(type); + if(it != type_creator_map.end()) + { + return it->second(); + } + + return nullptr; +} + */ + +magSlideTransitionFactory* magSlideTransitionFactory::_instance = 0; + +magSlideTransitionFactory::magSlideTransitionFactory() +{ + magSlideTransition voidTransition; + magDissolveTransition dissolve; + + registerTransition(voidTransition); + registerTransition(dissolve); +} + +magSlideTransitionFactory* magSlideTransitionFactory::instance() +{ + if (_instance == 0) + { + _instance = new magSlideTransitionFactory(); + } + + return _instance; +} + +std::shared_ptr +magSlideTransitionFactory::createTransition(std::string transitionName, std::shared_ptr slide, + ofParameterGroup &settings, u_int64_t duration) +{ + std::shared_ptr transition; + + if (transitionsMap.count(transitionName) > 0) + { + transition = transitionsMap[transitionName](); + } + else + { + transition = transitionsMap[transition->getName()](); + } + + transition->slide = slide; + transition->duration = duration; + transition->loadSettings(settings); + return transition; +} diff --git a/src/Sources/magSlideTransitionFactory.h b/src/Sources/magSlideTransitionFactory.h new file mode 100644 index 0000000..1a3bd32 --- /dev/null +++ b/src/Sources/magSlideTransitionFactory.h @@ -0,0 +1,41 @@ +// +// Created by Cristobal Mendoza on 12/3/17. +// + +#ifndef MAGSLIDETRANSITIONFACTORY_H +#define MAGSLIDETRANSITIONFACTORY_H + +#include "magSlide.h" +#include "magSlideTransition.h" + +/** + * Factory class to register and instantiate transitions. + */ +class magSlideTransitionFactory +{ +public: + static magSlideTransitionFactory* instance(); + + std::shared_ptr createTransition(std::string transitionName, + std::shared_ptr slide, + ofParameterGroup &group, + u_int64_t duration); + template + void registerTransition(T transition) + { + if (transitionsMap.count(transition.getName()) == 0) + { + transitionsMap[transition.getName()] = [](){ + return std::make_shared(); + }; + } + } + +protected: + std::unordered_map()>> transitionsMap; +private: + static magSlideTransitionFactory* _instance; + magSlideTransitionFactory(); +}; + +#endif //MAGSLIDETRANSITIONFACTORY_H diff --git a/src/Surfaces/BaseSurface.cpp b/src/Surfaces/BaseSurface.cpp index 5e84657..952742b 100644 --- a/src/Surfaces/BaseSurface.cpp +++ b/src/Surfaces/BaseSurface.cpp @@ -21,7 +21,10 @@ void BaseSurface::createDefaultTexture(){ for(int i = 0; i < pixels.size(); i++){ pixels[i] = 255; } - int squareSize = 10; // size of each test pattern square + + // size of each test pattern square + int squareSize = 10; + bool sy = false; for(int y = 0; y < pixels.getWidth(); y += squareSize){ bool sx = false; @@ -46,45 +49,54 @@ void BaseSurface::createDefaultTexture(){ // load pixels into texture defaultTexture.loadData(pixels); + // Create new source to be the default defaultSource = new BaseSource(&defaultTexture); source = defaultSource; } -void BaseSurface::drawTexture(ofVec2f position){ +void BaseSurface::drawTexture(Vec3 position){ if(source->getTexture() == 0){ ofLogWarning("BaseSurface") << "Source texture empty. Not drawing."; return; } + // TODO: Do not recreate this in each draw loop ofMesh texMesh; - texMesh.addVertex(position); - texMesh.addVertex(position + ofVec2f(source->getTexture()->getWidth(), 0.0f)); - texMesh.addVertex(position - + ofVec2f(source->getTexture()->getWidth(), source->getTexture()->getHeight())); - texMesh.addVertex(position + ofVec2f(0.0f, source->getTexture()->getHeight())); + + // Add vertices to the mesh + texMesh.addVertex(position.toOf()); + Vec3 topRight(source->getTexture()->getWidth(), 0.0f, 0.0f); + texMesh.addVertex((position + topRight).toOf()); + Vec3 bottomRight(source->getTexture()->getWidth(), source->getTexture()->getHeight(), 0.0f); + texMesh.addVertex((position + bottomRight).toOf()); + Vec3 bottomLeft(0.0f, source->getTexture()->getHeight(), 0.0f); + texMesh.addVertex((position + bottomLeft).toOf()); + + // Make triangles out of added vertices texMesh.addTriangle(0, 2, 3); texMesh.addTriangle(0, 1, 2); - texMesh.addTexCoord(ofVec2f(0.0f, 0.0f)); - texMesh.addTexCoord(ofVec2f(1.0f, 0.0f)); - texMesh.addTexCoord(ofVec2f(1.0f, 1.0f)); - texMesh.addTexCoord(ofVec2f(0.0f, 1.0f)); + + // Add texture coordinates for the added vertices + texMesh.addTexCoord(Vec2(0.0f, 0.0f).toOf()); + texMesh.addTexCoord(Vec2(1.0f, 0.0f).toOf()); + texMesh.addTexCoord(Vec2(1.0f, 1.0f).toOf()); + texMesh.addTexCoord(Vec2(0.0f, 1.0f).toOf()); + + // Draw mesh source->getTexture()->bind(); texMesh.draw(); source->getTexture()->unbind(); } -//void BaseSurface::setTexture(ofTexture* texturePtr) { texture = texturePtr; } void BaseSurface::setSource(BaseSource * newSource){ source = newSource; } -//ofTexture* BaseSurface::getTexture() { return texture; } BaseSource * BaseSurface::getSource(){ return source; } -//ofTexture* BaseSurface::getDefaultTexture() { return &defaultTexture; } BaseSource * BaseSurface::getDefaultSource(){ return defaultSource; } @@ -94,16 +106,20 @@ void BaseSurface::setMoved(bool moved){ } void BaseSurface::scaleTo(float scale){ - ofPoint centroid = getBoundingBox().getCenter(); + Vec3 centroid( + getBoundingBox().getCenter().x, + getBoundingBox().getCenter().y, + getBoundingBox().getCenter().z); for(unsigned int i = 0; i < mesh.getVertices().size(); ++i){ - ofVec3f d = (mesh.getVertices()[i] - centroid) / _scale; + Vec3 d = (Vec3(mesh.getVertices()[i]) - centroid) / _scale; d *= scale; - mesh.getVertices()[i] = centroid + d; + mesh.getVertices()[i] = (centroid + d).toOf(); } _scale = scale; - ofNotifyEvent(verticesChangedEvent, mesh.getVertices(), this); + std::vector vertices = Vec3::fromOf(mesh.getVertices()); + ofNotifyEvent(verticesChangedEvent, vertices, this); } bool BaseSurface::getMoved(){ @@ -150,4 +166,4 @@ ofRectangle & BaseSurface::getBoundingBox(){ } } // namespace piMapper -} // namespace ofx \ No newline at end of file +} // namespace ofx diff --git a/src/Surfaces/BaseSurface.h b/src/Surfaces/BaseSurface.h index c8c680d..bca4ab3 100644 --- a/src/Surfaces/BaseSurface.h +++ b/src/Surfaces/BaseSurface.h @@ -3,6 +3,8 @@ #include "ofMain.h" #include #include "BaseSource.h" +#include "Vec2.h" +#include "Vec3.h" using namespace std; @@ -13,29 +15,24 @@ class BaseSurface { public: BaseSurface(); - ~BaseSurface(); + virtual ~BaseSurface(); virtual void setup() = 0; virtual void draw() = 0; - virtual void setVertex(int index, ofVec2f p) = 0; - virtual void setVertices(vector v) = 0; - virtual void setTexCoord(int index, ofVec2f t) = 0; - virtual void setTexCoords(vector t) = 0; - virtual void moveBy(ofVec2f v) = 0; - + virtual void setVertex(int index, Vec3 p) = 0; + virtual void setVertices(std::vector v) = 0; + virtual void setTexCoord(int index, Vec2 t) = 0; + virtual void setTexCoords(std::vector t) = 0; + virtual void moveBy(Vec3 v) = 0; virtual int getType() = 0; - - virtual bool hitTest(ofVec2f p) = 0; - + virtual bool hitTest(Vec2 p) = 0; virtual ofPolyline getHitArea() = 0; virtual ofPolyline getTextureHitArea() = 0; - - virtual vector & getVertices() = 0; - virtual vector & getTexCoords() = 0; - + virtual std::vector getVertices() = 0; + virtual std::vector getTexCoords() = 0; virtual BaseSurface * clone() = 0; - void drawTexture(ofVec2f position); + void drawTexture(Vec3 position); void setSource(BaseSource * newSource); void setMoved(bool moved); void scaleTo(float scale); @@ -49,25 +46,20 @@ class BaseSurface { ofMesh & getMesh(); ofRectangle & getBoundingBox(); - ofEvent > verticesChangedEvent; - ofEvent vertexChangedEvent; + ofEvent> verticesChangedEvent; + ofEvent vertexChangedEvent; protected: ofMesh mesh; - ofRectangle _boundingBox; - ofTexture defaultTexture; - BaseSource * source; BaseSource * defaultSource; void createDefaultTexture(); - bool _moved; - float _scale; }; } // namespace piMapper -} // namespace ofx \ No newline at end of file +} // namespace ofx diff --git a/src/Surfaces/CircleSurface.cpp b/src/Surfaces/CircleSurface.cpp new file mode 100644 index 0000000..b0801fb --- /dev/null +++ b/src/Surfaces/CircleSurface.cpp @@ -0,0 +1,304 @@ +// +// CircleSurface.cpp +// Copyright (c) 2017 Cristobal Mendoza +// With modifications by Krisjanis Rijnieks (c) 2017 +// http://cuppetellimendoza.com + +#include "CircleSurface.h" + +namespace ofx { +namespace piMapper { + +CircleSurface::CircleSurface() : QuadSurface() { + setup(); +} + +CircleSurface::CircleSurface(QuadSurface &surface) { + setup(); + setVertices(surface.getVertices()); + setTexCoords(surface.getTexCoords()); + setPerspectiveWarping(surface.getPerspectiveWarping()); +} + +void CircleSurface::setup() { + + QuadSurface::setup(); + setPerspectiveWarping(true); + + lastSourceTextureId = UINT_MAX; + updateMask = true; +// maskIsReady = false; + +// glESVertexShader = CIRCLE_SURFACE_STRINGIFY( +// attribute vec4 position; +// attribute vec4 color; +// attribute vec4 normal; +// attribute vec2 texcoord; +// +// uniform mat4 modelViewMatrix; +// uniform mat4 projectionMatrix; +// uniform sampler2D maskTex; +// +// varying vec4 colorVarying; +// varying vec2 texCoordVarying; +// +// void main() { +// +// //get our current vertex position so we can modify it +// vec4 pos = projectionMatrix*modelViewMatrix*position; +// +// gl_Position = pos; +// colorVarying = color; +// texCoordVarying = texcoord; +// } +// ); +// +// glESFragmentShader = CIRCLE_SURFACE_STRINGIFY( +////#ifdef GL_ES +//// define default precision for float, vec, mat. +// precision highp float; +////#endif +// +// uniform sampler2D tex0; +// uniform sampler2D maskTex; +// uniform vec4 globalColor; +// +// varying vec2 texCoordVarying; +// +// void main (void) +// { +// vec2 pos = texCoordVarying; +// vec3 src = texture2D(tex0, pos).rgb; +// float mask = texture2D(maskTex, pos).r; +// gl_FragColor = vec4( src , mask); +// } +// ); +// +// gl2FragmentShader = "#version 120\n #extension GL_ARB_texture_rectangle : enable\n"; +// gl2FragmentShader += CIRCLE_SURFACE_STRINGIFY( +// uniform sampler2DRect tex0; +// uniform sampler2DRect maskTex; +// +// void main (void) { +// vec2 pos = gl_TexCoord[0].st; +// +// vec3 src = texture2DRect(tex0, pos).rgb; +// float mask = texture2DRect(maskTex, pos).r; +// +// gl_FragColor = vec4(src, mask); +// } +// ); +// +//#ifdef TARGET_OPENGLES +// maskShader.setupShaderFromSource(GL_VERTEX_SHADER, glESVertexShader); +// maskShader.setupShaderFromSource(GL_FRAGMENT_SHADER, glESFragmentShader); +// maskShader.bindDefaults(); +// maskShader.linkProgram(); +//#else +// if (ofIsGLProgrammableRenderer()) { +// +// } else { +// maskShader.setupShaderFromSource(GL_FRAGMENT_SHADER, gl2FragmentShader); +// maskShader.linkProgram(); +// } +//#endif + + Vec2 t1 = Vec2(0.0f, 0.0f); + Vec2 t2 = Vec2(1.0f, 0.0f); + Vec2 t3 = Vec2(1.0f, 1.0f); + Vec2 t4 = Vec2(0.0f, 1.0f); + + defaultTexCoords.push_back(t1); + defaultTexCoords.push_back(t2); + defaultTexCoords.push_back(t3); + defaultTexCoords.push_back(t4); +} + +void CircleSurface::draw() { + + ofEnableAlphaBlending(); + if (source->getTexture() == 0) + { + return; + } + if (!source->getTexture()->isAllocated()){ + return; + } + + if (source != currentSource) { // Pointer comparison + // Create the mask here + setupTextures(); + lastSourceTextureId = UINT_MAX; + currentSource = source; + } + + + // Save Normie state: + auto isNorm = ofGetUsingNormalizedTexCoords(); + + // If we get to this part of the function, the mask fbo + // should already be allocated and the mask texture created. + + ofEnableNormalizedTexCoords(); + // Get the texture from the source an store a copy + // of the source texture's id: + auto sourceTex = ofTexture(*(source->getTexture())); + auto sourceTexId = sourceTex.getTextureData().textureID; + + // Draw the mask only if the sources are FBO's, videos, + // or if the last texture id was UINT_MAX (which means that + // the mask has not yet been draw). +// if (source->getType() == SOURCE_TYPE_FBO || +// source->getType() == SOURCE_TYPE_VIDEO || +// lastSourceTextureId == UINT_MAX) { + if (true) { + lastSourceTextureId = sourceTexId; + drawMaskForSource(sourceTex); + } + + // Swap the texture id of the source with the one of our + // newly drawn outputFbo: + source->getTexture()->getTextureData().textureID = outputFbo.getTexture().getTextureData().textureID; + auto texCoords = getMesh().getTexCoords(); + getMesh().clearTexCoords(); + getMesh().addTexCoords(Vec2::toOf(defaultTexCoords)); + // Draw the Quad: + QuadSurface::draw(); + + // Reset the texture id of the source + source->getTexture()->getTextureData().textureID = lastSourceTextureId; + + // Reset the texture coords of the QuadSurface mesh: + getMesh().clearTexCoords(); + getMesh().addTexCoords(texCoords); + + if (!isNorm) ofDisableNormalizedTexCoords(); +} + +void CircleSurface::setFeathering(float f) { + feathering = f; + updateMask = true; +} + + +void CircleSurface::drawMaskForSource(ofTexture &sourceTex) { + auto quadTexCoords = getMesh().getTexCoords(); + + maskMesh.clearTexCoords(); + + // Set the mesh's texture coords to the quads. + // This gets us the coordinates set in the TextureEditor + maskMesh.addTexCoords(quadTexCoords); + outputFbo.begin(true); + { + ofClear(0, 0, 0, 0); + ofEnableNormalizedTexCoords(); + ofSetColor(255); + ofFill(); + ofSetRectMode(OF_RECTMODE_CORNER); +//#ifdef TARGET_RASPBERRY_PI + sourceTex.bind(); + maskMesh.draw(); + sourceTex.unbind(); + // Masking without shaders... + ofPushStyle(); + ofEnableBlendMode(OF_BLENDMODE_MULTIPLY); + ofSetColor(255); + ofFill(); + ofDisableNormalizedTexCoords(); + maskFbo.draw(0, 0); + ofPopStyle(); +//#else +// maskShader.begin(); +// maskShader.setUniformTexture("maskTex", maskFbo.getTexture(), 1); +// ofSetColor(255); +// ofFill(); +// ofSetRectMode(OF_RECTMODE_CORNER); +// scaledSourceFbo.getTexture().bind(); +// maskMesh.draw(); +// scaledSourceFbo.getTexture().unbind(); +// maskShader.end(); +//#endif + + } + outputFbo.end(); + +} + +void CircleSurface::setupTextures() { + float w = source->getTexture()->getWidth(); + float h = source->getTexture()->getHeight(); + float dia = 0; + if (w > h) { + dia = h; + } else { + dia = w; + } + + float padding = 10; + + maskFbo.allocate(w, h); + maskFbo.begin(false); + ofPushStyle(); + ofSetupScreenOrtho(w, h, -1, 1); + ofClear(0, 0, 0, 255); + ofFill(); + ofSetColor(255); + ofSetCircleResolution(300); + ofDrawEllipse(w/2, h/2, w-padding, h-padding); + ofPopStyle(); + maskFbo.end(); + + outputFbo.allocate(w, h); + outputFbo.begin(); + ofClear(0, 0, 0, 255); + outputFbo.end(); + +// scaledSourceFbo.allocate(w, h); +// scaledSourceFbo.begin(); +// ofClear(0, 0, 0, 255); +// scaledSourceFbo.end(); + + // This is lifted from QuadSurface::setup to ensure that the two + // meshes are similar: + + // Create 4 points for the 2 triangles + Vec3 p1 = Vec3(0.0f, 0.0f, 0.0f); + Vec3 p2 = Vec3(0.0f, h, 0.0f); + Vec3 p3 = Vec3(w, h, 0.0f); + Vec3 p4 = Vec3(w, 0.0f, 0.0f); + + // Create 4 point for the texture coordinates + Vec2 t1 = Vec2(Vec2(0.0f, 1.0f)); + Vec2 t2 = Vec2(Vec2(1.0f, 1.0f)); + Vec2 t3 = Vec2(Vec2(1.0f, 0.0f)); + Vec2 t4 = Vec2(Vec2(0.0f, 0.0f)); + + // Clear maskMesh + maskMesh.clear(); + + // Create a surface with the points + maskMesh.addVertex(p1.toOf()); + maskMesh.addVertex(p2.toOf()); + maskMesh.addVertex(p3.toOf()); + maskMesh.addVertex(p4.toOf()); + + // Add 2 triangles + maskMesh.addTriangle(0, 2, 3); + maskMesh.addTriangle(0, 1, 2); + + // Add texture coordinates + maskMesh.addTexCoord(t1.toOf()); + maskMesh.addTexCoord(t2.toOf()); + maskMesh.addTexCoord(t3.toOf()); + maskMesh.addTexCoord(t4.toOf()); +} + + + +int CircleSurface::getType() { + return SurfaceType::CIRCLE_SURFACE; +} + +} +} diff --git a/src/Surfaces/CircleSurface.h b/src/Surfaces/CircleSurface.h new file mode 100644 index 0000000..831f42f --- /dev/null +++ b/src/Surfaces/CircleSurface.h @@ -0,0 +1,66 @@ +// +// CircleSurface.h +// Copyright (c) 2017 Cristobal Mendoza +// With modifications by Krisjanis Rijnieks (c) 2017 +// http://cuppetellimendoza.com + +#ifndef OFXPIMAPPER_CIRCLESURFACE_H +#define OFXPIMAPPER_CIRCLESURFACE_H + +#include "QuadSurface.h" +#include "Vec2.h" +#include "Vec3.h" + +#define CIRCLE_SURFACE_STRINGIFY(A) #A + +namespace ofx { +namespace piMapper { + +class CircleSurface : public QuadSurface { + public: + CircleSurface(); + CircleSurface(QuadSurface &surface); + int getType() override; + void draw() override; + void setup() override; + + // TODO: Feathering + void setFeathering(float f); + + protected: + void setupTextures(); + void drawMaskForSource(ofTexture &sourceTexture); + ofFbo maskFbo; +// ofFbo scaledSourceFbo; + ofFbo outputFbo; +// ofShader maskShader; + float feathering = 0.0f; + bool updateMask; + bool maskIsReady; + +// std::string glESFragmentShader; +// std::string glESVertexShader; +// +// std::string gl2FragmentShader; +// std::string gl2VertexShader; + + ofMesh maskMesh; + + // TODO: gl3 Shaders +// std::string gl3VertexShader; +// std::string gl3FragmentShader; + + private: + std::vector defaultTexCoords; + // We will use this pointer to determine if the source has changed. + // This is a total kludge, but it keeps me from messing with the + // upstream source. + BaseSource* currentSource = 0; + unsigned int lastSourceTextureId; +}; + +} +} + + +#endif //OFXPIMAPPER_CIRCLESURFACE_H diff --git a/src/Surfaces/GridWarpSurface.cpp b/src/Surfaces/GridWarpSurface.cpp index b43f0de..1b98c0e 100644 --- a/src/Surfaces/GridWarpSurface.cpp +++ b/src/Surfaces/GridWarpSurface.cpp @@ -9,10 +9,6 @@ GridWarpSurface::GridWarpSurface(){ createGridMesh(); } -void GridWarpSurface::setup(){ - // Nothing here yet -} - void GridWarpSurface::draw(){ if(source->getTexture() == 0){ return; @@ -34,15 +30,14 @@ void GridWarpSurface::draw(){ } } -void GridWarpSurface::moveBy(ofVec2f v){ - vector & vertices = getVertices(); - - for(int i = 0; i < vertices.size(); i++){ - vertices[i] += v; +void GridWarpSurface::moveBy(Vec3 v){ + for(int i = 0; i < mesh.getVertices().size(); i++){ + mesh.getVertices()[i] += v.toOf(); } setMoved(true); - ofNotifyEvent(verticesChangedEvent, mesh.getVertices(), this); + std::vector vertices = Vec3::fromOf(mesh.getVertices()); + ofNotifyEvent(verticesChangedEvent, vertices, this); } int GridWarpSurface::getType(){ @@ -60,14 +55,16 @@ int GridWarpSurface::getGridCols(){ int GridWarpSurface::setGridRows(int r){ _gridRows = r; createGridMesh(); + return r; } int GridWarpSurface::setGridCols(int c){ _gridCols = c; createGridMesh(); + return c; } -bool GridWarpSurface::hitTest(ofVec2f p){ +bool GridWarpSurface::hitTest(Vec2 p){ ofPolyline pl; int vertsPerRow = _gridCols + 1; @@ -85,7 +82,7 @@ bool GridWarpSurface::hitTest(ofVec2f p){ pl.addVertex(mesh.getVertex(d)); pl.close(); - if(pl.inside(p)){ + if(pl.inside(p.x, p.y)){ return true; } } @@ -127,8 +124,7 @@ ofPolyline GridWarpSurface::getHitArea(){ ofPolyline GridWarpSurface::getTextureHitArea(){ ofPolyline line; - vector & texCoords = mesh.getTexCoords(); - ofVec2f textureSize = ofVec2f(source->getTexture()->getWidth(), source->getTexture()->getHeight()); + Vec2 textureSize = Vec2(source->getTexture()->getWidth(), source->getTexture()->getHeight()); int vertsPerRow = _gridCols + 1; int vertsPerCol = _gridRows + 1; @@ -138,72 +134,60 @@ ofPolyline GridWarpSurface::getTextureHitArea(){ int c = (_gridRows * vertsPerRow) + (vertsPerRow - 1); int d = (_gridRows * vertsPerRow); - line.addVertex(ofPoint(texCoords[a] * textureSize)); - line.addVertex(ofPoint(texCoords[b] * textureSize)); - line.addVertex(ofPoint(texCoords[c] * textureSize)); - line.addVertex(ofPoint(texCoords[d] * textureSize)); + line.addVertex(ofPoint(mesh.getTexCoords()[a] * textureSize.toOf())); + line.addVertex(ofPoint(mesh.getTexCoords()[b] * textureSize.toOf())); + line.addVertex(ofPoint(mesh.getTexCoords()[c] * textureSize.toOf())); + line.addVertex(ofPoint(mesh.getTexCoords()[d] * textureSize.toOf())); line.close(); return line; } -void GridWarpSurface::setVertex(int index, ofVec2f p){ +void GridWarpSurface::setVertex(int index, Vec3 vert){ if(index >= mesh.getVertices().size()){ throw runtime_error("Vertex with provided index does not exist"); } - mesh.setVertex(index, p); - ofVec3f v = mesh.getVertex(index); + mesh.setVertex(index, vert.toOf()); ofNotifyEvent(vertexChangedEvent, index, this); } -void GridWarpSurface::setVertices(vector v){ - if(v.size() != mesh.getVertices().size()){ - throw runtime_error("Wrong number of vertices"); - } - - for(int i = 0; i < v.size(); ++i){ - mesh.setVertex(i, v[i]); - } - - ofNotifyEvent(verticesChangedEvent, mesh.getVertices(), this); -} - -void GridWarpSurface::setVertices(vector v){ +void GridWarpSurface::setVertices(std::vector v){ if(v.size() != mesh.getVertices().size()){ throw runtime_error("Wrong number of vertices"); } for(int i = 0; i < v.size(); ++i){ - mesh.setVertex(i, v[i]); + mesh.setVertex(i, v[i].toOf()); } - ofNotifyEvent(verticesChangedEvent, mesh.getVertices(), this); + std::vector vertices = Vec3::fromOf(mesh.getVertices()); + ofNotifyEvent(verticesChangedEvent, vertices, this); } -void GridWarpSurface::setTexCoord(int index, ofVec2f t){ +void GridWarpSurface::setTexCoord(int index, Vec2 t){ if(index >= mesh.getVertices().size()){ throw runtime_error("Texture coordinate with provided index does not exist"); } - mesh.setTexCoord(index, t); + mesh.setTexCoord(index, t.toOf()); } -void GridWarpSurface::setTexCoords(vector t){ +void GridWarpSurface::setTexCoords(std::vector t){ if(t.size() != mesh.getVertices().size()){ throw runtime_error("Wrong number of texture coordinates"); } for(int i = 0; i < t.size(); ++i){ - mesh.setTexCoord(i, t[i]); + mesh.setTexCoord(i, t[i].toOf()); } } -vector & GridWarpSurface::getVertices(){ - return mesh.getVertices(); +std::vector GridWarpSurface::getVertices(){ + return Vec3::fromOf(mesh.getVertices()); } -vector & GridWarpSurface::getTexCoords(){ - return mesh.getTexCoords(); +std::vector GridWarpSurface::getTexCoords(){ + return Vec2::fromOf(mesh.getTexCoords()); } void GridWarpSurface::createGridMesh(){ @@ -218,10 +202,10 @@ void GridWarpSurface::createGridMesh(){ // Add vertices for each col and row for(int iy = 0; iy <= _gridRows; ++iy){ for(int ix = 0; ix <= _gridCols; ++ix){ - mesh.addVertex( - ofVec2f( - margin + (vertexDistanceX * (float)ix), - margin + (vertexDistanceY * (float)iy) )); + mesh.addVertex(Vec3( + margin + (vertexDistanceX * (float)ix), + margin + (vertexDistanceY * (float)iy), + 0.0f).toOf()); } } @@ -245,11 +229,12 @@ void GridWarpSurface::createGridMesh(){ for(int ix = 0; ix <= _gridCols; ++ix){ float xc = (ix == 0) ? 0.0f : (float)ix / (float)_gridCols; float yc = (iy == 0) ? 0.0f : (float)iy / (float)_gridRows; - mesh.addTexCoord(ofVec2f(xc, yc)); + mesh.addTexCoord(Vec2(xc, yc).toOf()); } } - ofNotifyEvent(verticesChangedEvent, mesh.getVertices(), this); + std::vector vertices = Vec3::fromOf(mesh.getVertices()); + ofNotifyEvent(verticesChangedEvent, vertices, this); } BaseSurface * GridWarpSurface::clone(){ @@ -263,4 +248,4 @@ BaseSurface * GridWarpSurface::clone(){ } } // namespace piMapper -} // namespace ofx \ No newline at end of file +} // namespace ofx diff --git a/src/Surfaces/GridWarpSurface.h b/src/Surfaces/GridWarpSurface.h index 122405c..4a7baf8 100644 --- a/src/Surfaces/GridWarpSurface.h +++ b/src/Surfaces/GridWarpSurface.h @@ -4,6 +4,8 @@ #include "BaseSurface.h" #include "SurfaceType.h" #include "HomographyHelper.h" +#include "Vec2.h" +#include "Vec3.h" namespace ofx { namespace piMapper { @@ -12,9 +14,9 @@ class GridWarpSurface : public BaseSurface { public: GridWarpSurface(); - void setup(); + void setup(){}; void draw(); - void moveBy(ofVec2f v); + void moveBy(Vec3 v); int getType(); int getGridRows(); @@ -22,18 +24,17 @@ class GridWarpSurface : public BaseSurface { int setGridRows(int r); int setGridCols(int c); - bool hitTest(ofVec2f p); + bool hitTest(Vec2 p); ofPolyline getHitArea(); ofPolyline getTextureHitArea(); - void setVertex(int index, ofVec2f p); - void setVertices(vector v); - void setVertices(vector v); - void setTexCoord(int index, ofVec2f t); - void setTexCoords(vector t); - vector & getVertices(); - vector & getTexCoords(); + void setVertex(int index, Vec3 p); + void setVertices(std::vector v); + void setTexCoord(int index, Vec2 t); + void setTexCoords(std::vector t); + std::vector getVertices(); + std::vector getTexCoords(); void createGridMesh(); @@ -45,4 +46,4 @@ class GridWarpSurface : public BaseSurface { }; } // namespace piMapper -} // namespace ofx \ No newline at end of file +} // namespace ofx diff --git a/src/Surfaces/HexagonSurface.cpp b/src/Surfaces/HexagonSurface.cpp index b02123c..ee62775 100644 --- a/src/Surfaces/HexagonSurface.cpp +++ b/src/Surfaces/HexagonSurface.cpp @@ -11,42 +11,42 @@ void HexagonSurface::setup(){ // Create 6 + 1 points for the hexagon surface. - vector verts; + std::vector verts; verts.resize(7); // Start with the center. - verts[0] = ofVec2f((float)ofGetWidth() / 2.0f, (float)ofGetHeight() / 2.0f); + verts[0] = Vec3((float)ofGetWidth() / 2.0f, (float)ofGetHeight() / 2.0f, 0.0f); // Then from top left clockwise. - verts[1] = ofVec2f((float)ofGetWidth() / 3.0f, 0); - verts[2] = ofVec2f((float)ofGetWidth() / 3.0f * 2.0f, 0); - verts[3] = ofVec2f(ofGetWidth(), (float)ofGetHeight() / 2.0f); - verts[4] = ofVec2f((float)ofGetWidth() / 3.0f * 2.0f, ofGetHeight()); - verts[5] = ofVec2f((float)ofGetWidth() / 3.0f, ofGetHeight()); - verts[6] = ofVec2f(0, (float)ofGetHeight() / 2.0f); + verts[1] = Vec3((float)ofGetWidth() / 3.0f, 0.0f, 0.0f); + verts[2] = Vec3((float)ofGetWidth() / 3.0f * 2.0f, 0.0f, 0.0f); + verts[3] = Vec3(ofGetWidth(), (float)ofGetHeight() / 2.0f, 0.0f); + verts[4] = Vec3((float)ofGetWidth() / 3.0f * 2.0f, ofGetHeight(), 0.0f); + verts[5] = Vec3((float)ofGetWidth() / 3.0f, ofGetHeight(), 0.0f); + verts[6] = Vec3(0, (float)ofGetHeight() / 2.0f, 0.0f); // No create the texture coordinates. - vector coords; + std::vector coords; coords.resize(7); // Start with center. - coords[0] = ofVec2f(0.5f, 0.5f); + coords[0] = Vec2(0.5f, 0.5f); // Then from top left and go clockwise. - coords[1] = ofVec2f(1.0f / 3.0f, 0.0f); - coords[2] = ofVec2f(1.0f / 3.0f * 2.0f, 0.0f); - coords[3] = ofVec2f(1.0f, 0.5f); - coords[4] = ofVec2f(1.0f / 3.0f * 2.0f, 1.0f); - coords[5] = ofVec2f(1.0f / 3.0f, 1.0f); - coords[6] = ofVec2f(0.0f, 0.5f); + coords[1] = Vec2(1.0f / 3.0f, 0.0f); + coords[2] = Vec2(1.0f / 3.0f * 2.0f, 0.0f); + coords[3] = Vec2(1.0f, 0.5f); + coords[4] = Vec2(1.0f / 3.0f * 2.0f, 1.0f); + coords[5] = Vec2(1.0f / 3.0f, 1.0f); + coords[6] = Vec2(0.0f, 0.5f); // And finally setup setup(verts, coords, source); } void HexagonSurface::setup( - vector & verts, - vector & coords, + std::vector & verts, + std::vector & coords, BaseSource * newSource){ // Assign texture @@ -57,7 +57,7 @@ void HexagonSurface::setup( // Add vertices to the mesh for(unsigned int i = 0; i < verts.size(); ++i){ - mesh.addVertex(verts[i]); + mesh.addVertex(verts[i].toOf()); } // Form triangles @@ -78,7 +78,7 @@ void HexagonSurface::setup( // Add texture coords for(unsigned int i = 0; i < coords.size(); ++i){ - mesh.addTexCoord(coords[i]); + mesh.addTexCoord(coords[i].toOf()); } } @@ -103,77 +103,64 @@ void HexagonSurface::draw(){ } } -void HexagonSurface::setVertex(int index, ofVec2f p){ +void HexagonSurface::setVertex(int index, Vec3 p){ if(index >= mesh.getVertices().size()){ - ofLog() << "Vertex with this index does not exist: " << index << endl; + ofLog() << "Vertex with this index does not exist: " << index << std::endl; return; } - mesh.setVertex(index, p); - ofVec3f v = mesh.getVertex(index); + mesh.setVertex(index, p.toOf()); ofNotifyEvent(vertexChangedEvent, index, this); } -void HexagonSurface::setVertices(vector v){ +void HexagonSurface::setVertices(std::vector v){ if(v.size() != mesh.getVertices().size()){ throw runtime_error("Wrong number of vertices"); } for(int i = 0; i < v.size(); ++i){ - mesh.setVertex(i, v[i]); + mesh.setVertex(i, v[i].toOf()); } - ofNotifyEvent(verticesChangedEvent, mesh.getVertices(), this); + std::vector vertices = Vec3::fromOf(mesh.getVertices()); + ofNotifyEvent(verticesChangedEvent, vertices, this); } -void HexagonSurface::setVertices(vector v){ - if(v.size() != mesh.getVertices().size()){ - throw runtime_error("Wrong number of vertices"); - } - - for(int i = 0; i < v.size(); ++i){ - mesh.setVertex(i, v[i]); - } - - ofNotifyEvent(verticesChangedEvent, mesh.getVertices(), this); -} - -void HexagonSurface::setTexCoord(int index, ofVec2f t){ +void HexagonSurface::setTexCoord(int index, Vec2 t){ if(index >= mesh.getTexCoords().size()){ ofLog() << "Texture coordinate with this index does not exist: " << index - << endl; + << std::endl; return; } - mesh.setTexCoord(index, t); + mesh.setTexCoord(index, t.toOf()); } -void HexagonSurface::setTexCoords(vector t){ +void HexagonSurface::setTexCoords(std::vector t){ if(t.size() != mesh.getTexCoords().size()){ throw runtime_error("Wrong number of texture coordinates"); } + for(int i = 0; i < t.size(); ++i){ - mesh.setTexCoord(i, t[i]); + mesh.setTexCoord(i, t[i].toOf()); } } -void HexagonSurface::moveBy(ofVec2f v){ - vector & vertices = getVertices(); - - for(int i = 0; i < vertices.size(); i++){ - vertices[i] += v; +void HexagonSurface::moveBy(Vec3 v){ + for(int i = 0; i < mesh.getVertices().size(); i++){ + mesh.getVertices()[i] += v.toOf(); } setMoved(true); - ofNotifyEvent(verticesChangedEvent, mesh.getVertices(), this); + std::vector vertices = Vec3::fromOf(mesh.getVertices()); + ofNotifyEvent(verticesChangedEvent, vertices, this); } int HexagonSurface::getType(){ return SurfaceType::HEXAGON_SURFACE; } -bool HexagonSurface::hitTest(ofVec2f p){ - // Construct ofPolyline from vertices +bool HexagonSurface::hitTest(Vec2 p){ ofPolyline line = getHitArea(); if(line.inside(p.x, p.y)){ @@ -183,22 +170,26 @@ bool HexagonSurface::hitTest(ofVec2f p){ } } -ofVec2f HexagonSurface::getVertex(int index){ +Vec3 HexagonSurface::getVertex(int index){ if(index > 2){ - ofLog() << "Vertex with this index does not exist: " << index << endl; + ofLog() << "Vertex with this index does not exist: " << index << std::endl; throw runtime_error("Vertex index out of bounds."); } - ofVec3f vert = mesh.getVertex(index); - return ofVec2f(vert.x, vert.y); + return Vec3( + mesh.getVertex(index).x, + mesh.getVertex(index).y, + mesh.getVertex(index).z); } -ofVec2f HexagonSurface::getTexCoord(int index){ - if(index > 2){ +Vec2 HexagonSurface::getTexCoord(int index){ + if(index > 1){ throw runtime_error("Texture coordinate index out of bounds."); } - - return mesh.getTexCoord(index); + + return Vec2( + mesh.getTexCoord(index).x, + mesh.getTexCoord(index).y); } ofPolyline HexagonSurface::getHitArea(){ @@ -209,33 +200,29 @@ ofPolyline HexagonSurface::getHitArea(){ } line.close(); - return line; } ofPolyline HexagonSurface::getTextureHitArea(){ ofPolyline line; - vector & texCoords = mesh.getTexCoords(); - ofVec2f textureSize = ofVec2f( + Vec2 textureSize = Vec2( source->getTexture()->getWidth(), source->getTexture()->getHeight()); - for(int i = 1; i < texCoords.size(); i++){ - line.addVertex(ofPoint(texCoords[i] * textureSize)); + for(int i = 1; i < mesh.getTexCoords().size(); i++){ + line.addVertex(ofPoint(mesh.getTexCoords()[i] * textureSize.toOf())); } line.close(); - return line; } -vector & HexagonSurface::getVertices(){ - // return only joint vertices - return mesh.getVertices(); +std::vector HexagonSurface::getVertices(){ + return Vec3::fromOf(mesh.getVertices()); } -vector & HexagonSurface::getTexCoords(){ - return mesh.getTexCoords(); +std::vector HexagonSurface::getTexCoords(){ + return Vec2::fromOf(mesh.getTexCoords()); } BaseSurface * HexagonSurface::clone(){ @@ -249,4 +236,4 @@ BaseSurface * HexagonSurface::clone(){ } } // namespace piMapper -} // namespace ofx \ No newline at end of file +} // namespace ofx diff --git a/src/Surfaces/HexagonSurface.h b/src/Surfaces/HexagonSurface.h index a22896f..9ba762c 100644 --- a/src/Surfaces/HexagonSurface.h +++ b/src/Surfaces/HexagonSurface.h @@ -3,6 +3,8 @@ #include "ofMain.h" #include "BaseSurface.h" #include "SurfaceType.h" +#include "Vec2.h" +#include "Vec3.h" namespace ofx { namespace piMapper { @@ -15,31 +17,27 @@ class HexagonSurface : public BaseSurface { void setup(); void setup( - vector & verts, - vector & coords, + std::vector & verts, + std::vector & coords, BaseSource * newSource); void draw(); - - void setVertex(int index, ofVec2f p); - void setVertices(vector v); - void setVertices(vector v); - - void setTexCoord(int index, ofVec2f t); - void setTexCoords(vector t); - - void moveBy(ofVec2f v); + void setVertex(int index, Vec3 p); + void setVertices(std::vector v); + void setTexCoord(int index, Vec2 t); + void setTexCoords(std::vector t); + void moveBy(Vec3 v); int getType(); - bool hitTest(ofVec2f p); - ofVec2f getVertex(int index); - ofVec2f getTexCoord(int index); + bool hitTest(Vec2 p); + Vec3 getVertex(int index); + Vec2 getTexCoord(int index); ofPolyline getHitArea(); ofPolyline getTextureHitArea(); - vector & getVertices(); - vector & getTexCoords(); + std::vector getVertices(); + std::vector getTexCoords(); BaseSurface * clone(); }; } // namespace piMapper -} // namespace ofx \ No newline at end of file +} // namespace ofx diff --git a/src/Surfaces/QuadSurface.cpp b/src/Surfaces/QuadSurface.cpp index 92db8cb..3936d0c 100644 --- a/src/Surfaces/QuadSurface.cpp +++ b/src/Surfaces/QuadSurface.cpp @@ -1,323 +1,314 @@ -#include "QuadSurface.h" - -namespace ofx { -namespace piMapper { - -QuadSurface::QuadSurface(){ - _perspectiveWarping = false; - setup(); -} - -QuadSurface::~QuadSurface(){ - cout << "QuadSurface destructor." << endl; -} - -void QuadSurface::setup(){ - // Create 4 points for the 2 triangles - ofVec2f p1 = ofVec2f(0, 0); - ofVec2f p2 = ofVec2f(0, ofGetHeight()); - ofVec2f p3 = ofVec2f(ofGetWidth(), ofGetHeight()); - ofVec2f p4 = ofVec2f(ofGetWidth(), 0); - - // Create 4 point for the texture coordinates - ofVec2f t1 = ofVec2f(ofVec2f(0.0f, 0.0f)); - ofVec2f t2 = ofVec2f(ofVec2f(1.0f, 0.0f)); - ofVec2f t3 = ofVec2f(ofVec2f(1.0f, 1.0f)); - ofVec2f t4 = ofVec2f(ofVec2f(0.0f, 1.0f)); - - setup(p1, p2, p3, p4, t1, t2, t3, t4, source); -} - -void QuadSurface::setup(ofVec2f p1, ofVec2f p2, ofVec2f p3, ofVec2f p4, - ofVec2f t1, ofVec2f t2, ofVec2f t3, ofVec2f t4, - BaseSource * newSource){ - // Assign texture - source = newSource; - - // Clear mesh - mesh.clear(); - - // Create a surface with the points - mesh.addVertex(p1); - mesh.addVertex(p2); - mesh.addVertex(p3); - mesh.addVertex(p4); - - // Add 2 triangles - mesh.addTriangle(0, 2, 3); - mesh.addTriangle(0, 1, 2); - - // Add texture coordinates - mesh.addTexCoord(t1); - mesh.addTexCoord(t2); - mesh.addTexCoord(t3); - mesh.addTexCoord(t4); -} - -void QuadSurface::draw(){ - if(source->getTexture() == 0){ - return; - } - - if(!source->getTexture()->isAllocated()){ - return; - } - - if(_perspectiveWarping){ - if(mesh.haveVertsChanged() || mesh.haveTexCoordsChanged()){ - calculateHomography(); - } - - ofRectangle box = getMeshBoundingBox(); - ofMesh m = mesh; - - m.setVertex(0, ofVec3f(0, 0, 0)); - m.setVertex(1, ofVec3f(box.width, 0, 0)); - m.setVertex(2, ofVec3f(box.width, box.height, 0)); - m.setVertex(3, ofVec3f(0, box.height, 0)); - - ofPushMatrix(); - if(true){ - bool normalizedTexCoords = ofGetUsingNormalizedTexCoords(); - ofEnableNormalizedTexCoords(); - - glMultMatrixf(_matrix); - source->getTexture()->bind(); - m.draw(); - source->getTexture()->unbind(); - - if(!normalizedTexCoords){ - ofDisableNormalizedTexCoords(); - } - } - ofPopMatrix(); - }else{ - bool normalizedTexCoords = ofGetUsingNormalizedTexCoords(); - ofEnableNormalizedTexCoords(); - - ofPushStyle(); - ofSetColor(255, 255, 255); - - source->getTexture()->bind(); - mesh.draw(); - source->getTexture()->unbind(); - - ofPopStyle(); - - if(!normalizedTexCoords){ - ofDisableNormalizedTexCoords(); - } - } -} - -void QuadSurface::setVertex(int index, ofVec2f p){ - if(index > 3){ - ofLog() << "Vertex with this index does not exist: " << index << endl; - return; - } - - mesh.setVertex(index, p); - ofVec3f v = mesh.getVertex(index); - ofNotifyEvent(vertexChangedEvent, index, this); -} - -void QuadSurface::setVertices(vector v){ - if(v.size() != 4){ - throw runtime_error("Wrong number of vertices"); - } - - for(int i = 0; i < 4; ++i){ - mesh.setVertex(i, v[i]); - } - - ofNotifyEvent(verticesChangedEvent, mesh.getVertices(), this); -} - -void QuadSurface::setVertices(vector v){ - if(v.size() != 4){ - throw runtime_error("Wrong number of vertices"); - } - - for(int i = 0; i < 4; ++i){ - mesh.setVertex(i, v[i]); - } - - ofNotifyEvent(verticesChangedEvent, mesh.getVertices(), this); -} - -void QuadSurface::setTexCoord(int index, ofVec2f t){ - if(index > 3){ - ofLog() << "Texture coordinate with this index does not exist: " << index - << endl; - return; - } - - mesh.setTexCoord(index, t); -} - -void QuadSurface::setTexCoords(vector t){ - if(t.size() != 4){ - throw runtime_error("Wrong number of vertices"); - } - for(int i = 0; i < 4; ++i){ - mesh.setTexCoord(i, t[i]); - } -} - -void QuadSurface::moveBy(ofVec2f v){ - vector & vertices = getVertices(); - - for(int i = 0; i < vertices.size(); i++){ - vertices[i] += v; - } - - setMoved(true); - ofNotifyEvent(verticesChangedEvent, mesh.getVertices(), this); -} - -int QuadSurface::getType(){ - return SurfaceType::QUAD_SURFACE; -} - -bool QuadSurface::hitTest(ofVec2f p){ - // Construct ofPolyline from vertices - ofPolyline line = getHitArea(); - - if(line.inside(p.x, p.y)){ - return true; - }else{ - return false; - } -} - -ofVec2f QuadSurface::getVertex(int index){ - if(index > 3){ - ofLog() << "Vertex with this index does not exist: " << index << endl; - throw runtime_error("Vertex index out of bounds."); - } - - ofVec3f vert = mesh.getVertex(index); - return ofVec2f(vert.x, vert.y); -} - -ofVec2f QuadSurface::getTexCoord(int index){ - if(index > 3){ - throw runtime_error("Texture coordinate index out of bounds."); - } - - return mesh.getTexCoord(index); -} - -ofPolyline QuadSurface::getHitArea(){ - ofPolyline line; - line.addVertex(ofPoint(mesh.getVertex(0).x, mesh.getVertex(0).y)); - line.addVertex(ofPoint(mesh.getVertex(1).x, mesh.getVertex(1).y)); - line.addVertex(ofPoint(mesh.getVertex(2).x, mesh.getVertex(2).y)); - line.addVertex(ofPoint(mesh.getVertex(3).x, mesh.getVertex(3).y)); - line.close(); - - return line; -} - -ofPolyline QuadSurface::getTextureHitArea(){ - ofPolyline line; - vector & texCoords = mesh.getTexCoords(); - ofVec2f textureSize = ofVec2f(source->getTexture()->getWidth(), source->getTexture()->getHeight()); - for(int i = 0; i < texCoords.size(); i++){ - line.addVertex(ofPoint(texCoords[i] * textureSize)); - } - line.close(); - - return line; -} - -vector & QuadSurface::getVertices(){ - // return only joint vertices - return mesh.getVertices(); -} - -vector & QuadSurface::getTexCoords(){ - return mesh.getTexCoords(); -} - -void QuadSurface::calculateHomography(){ - float src[4][2]; - float dst[4][2]; - - ofRectangle box = getMeshBoundingBox(); - - src[0][0] = 0; - src[0][1] = 0; - src[1][0] = box.width; - src[1][1] = 0; - src[2][0] = box.width; - src[2][1] = box.height; - src[3][0] = 0; - src[3][1] = box.height; - - ofVec3f p0 = mesh.getVertex(0); - ofVec3f p1 = mesh.getVertex(1); - ofVec3f p2 = mesh.getVertex(2); - ofVec3f p3 = mesh.getVertex(3); - - dst[0][0] = p0.x; - dst[0][1] = p0.y; - dst[1][0] = p1.x; - dst[1][1] = p1.y; - dst[2][0] = p2.x; - dst[2][1] = p2.y; - dst[3][0] = p3.x; - dst[3][1] = p3.y; - - HomographyHelper::findHomography(src, dst, _matrix); -} - -void QuadSurface::setPerspectiveWarping(bool b){ - _perspectiveWarping = b; -} - -bool QuadSurface::getPerspectiveWarping(){ - return _perspectiveWarping; -} - -ofRectangle QuadSurface::getMeshBoundingBox(){ - float minX = 10000.0f; - float minY = 10000.0f; - float maxX = 0.0f; - float maxY = 0.0f; - - for(int i = 0; i < mesh.getVertices().size(); ++i){ - if(mesh.getVertices()[i].x < minX){ - minX = mesh.getVertices()[i].x; - } - - if(mesh.getVertices()[i].y < minY){ - minY = mesh.getVertices()[i].y; - } - - if(mesh.getVertices()[i].x > maxX){ - maxX = mesh.getVertices()[i].x; - } - - if(mesh.getVertices()[i].y > maxY){ - maxY = mesh.getVertices()[i].y; - } - } - - ofRectangle boundingBox = ofRectangle(ofPoint(minX, minY), ofPoint(maxX, maxY)); - return boundingBox; -} - -BaseSurface * QuadSurface::clone(){ - QuadSurface * s = new QuadSurface(); - s->setVertices(getVertices()); - s->setTexCoords(getTexCoords()); - s->setPerspectiveWarping(getPerspectiveWarping()); - BaseSource * src = getSource(); - src->referenceCount++; - s->setSource(src); - return s; -} - -} // namespace piMapper -} // namespace ofx \ No newline at end of file +#include "QuadSurface.h" + +namespace ofx { +namespace piMapper { + +QuadSurface::QuadSurface(){ + _perspectiveWarping = false; + setup(); +} + +QuadSurface::~QuadSurface(){ + std::cout << "QuadSurface destructor." << std::endl; +} + +void QuadSurface::setup(){ + // Create 4 points for the 2 triangles + Vec3 p1 = Vec3(0.0f, 0.0f, 0.0f); + Vec3 p2 = Vec3(0.0f, ofGetHeight(), 0.0f); + Vec3 p3 = Vec3(ofGetWidth(), ofGetHeight(), 0.0f); + Vec3 p4 = Vec3(ofGetWidth(), 0.0f, 0.0f); + + // Create 4 point for the texture coordinates + Vec2 t1 = Vec2(0.0f, 0.0f); + Vec2 t2 = Vec2(1.0f, 0.0f); + Vec2 t3 = Vec2(1.0f, 1.0f); + Vec2 t4 = Vec2(0.0f, 1.0f); + + setup(p1, p2, p3, p4, t1, t2, t3, t4, source); +} + +void QuadSurface::setup(Vec3 p1, Vec3 p2, Vec3 p3, Vec3 p4, + Vec2 t1, Vec2 t2, Vec2 t3, Vec2 t4, + BaseSource * newSource){ + // Assign texture + source = newSource; + + // Clear mesh + mesh.clear(); + + // Create a surface with the points + mesh.addVertex(p1.toOf()); + mesh.addVertex(p2.toOf()); + mesh.addVertex(p3.toOf()); + mesh.addVertex(p4.toOf()); + + // Add 2 triangles + mesh.addTriangle(0, 2, 3); + mesh.addTriangle(0, 1, 2); + + // Add texture coordinates + mesh.addTexCoord(t1.toOf()); + mesh.addTexCoord(t2.toOf()); + mesh.addTexCoord(t3.toOf()); + mesh.addTexCoord(t4.toOf()); +} + +void QuadSurface::draw(){ + if(source->getTexture() == 0){ + return; + } + + if(!source->getTexture()->isAllocated()){ + return; + } + + if(_perspectiveWarping){ + if(mesh.haveVertsChanged() || mesh.haveTexCoordsChanged()){ + calculateHomography(); + } + + ofRectangle box = getMeshBoundingBox(); + ofMesh m = mesh; + + m.setVertex(0, Vec3(0, 0, 0).toOf()); + m.setVertex(1, Vec3(box.width, 0, 0).toOf()); + m.setVertex(2, Vec3(box.width, box.height, 0).toOf()); + m.setVertex(3, Vec3(0, box.height, 0).toOf()); + + ofPushMatrix(); + if(true){ + bool normalizedTexCoords = ofGetUsingNormalizedTexCoords(); + ofEnableNormalizedTexCoords(); + + glMultMatrixf(_matrix); + source->getTexture()->bind(); + m.draw(); + source->getTexture()->unbind(); + + if(!normalizedTexCoords){ + ofDisableNormalizedTexCoords(); + } + } + ofPopMatrix(); + }else{ + bool normalizedTexCoords = ofGetUsingNormalizedTexCoords(); + ofEnableNormalizedTexCoords(); + + ofPushStyle(); + ofSetColor(255, 255, 255); + + source->getTexture()->bind(); + mesh.draw(); + source->getTexture()->unbind(); + + ofPopStyle(); + + if(!normalizedTexCoords){ + ofDisableNormalizedTexCoords(); + } + } +} + +void QuadSurface::setVertex(int index, Vec3 p){ + if(index > 3){ + ofLog() << "Vertex with this index does not exist: " << index << std::endl; + return; + } + + mesh.setVertex(index, p.toOf()); + ofNotifyEvent(vertexChangedEvent, index, this); +} + +void QuadSurface::setVertices(std::vector v){ + if(v.size() != 4){ + throw runtime_error("Wrong number of vertices"); + } + + for(int i = 0; i < 4; ++i){ + mesh.setVertex(i, v[i].toOf()); + } + + std::vector vertices = Vec3::fromOf(mesh.getVertices()); + ofNotifyEvent(verticesChangedEvent, vertices, this); +} + +void QuadSurface::setTexCoord(int index, Vec2 t){ + if(index > 3){ + ofLog() << "Texture coordinate with this index does not exist: " << index + << std::endl; + return; + } + + mesh.setTexCoord(index, t.toOf()); +} + +void QuadSurface::setTexCoords(std::vector t){ + if(t.size() != 4){ + throw runtime_error("Wrong number of vertices"); + } + for(int i = 0; i < 4; ++i){ + mesh.setTexCoord(i, t[i].toOf()); + } +} + +void QuadSurface::moveBy(Vec3 v){ + for(int i = 0; i < mesh.getVertices().size(); i++){ + mesh.getVertices()[i] += v.toOf(); + } + + setMoved(true); + std::vector vertices = Vec3::fromOf(mesh.getVertices()); + ofNotifyEvent(verticesChangedEvent, vertices, this); +} + +int QuadSurface::getType(){ + return SurfaceType::QUAD_SURFACE; +} + +bool QuadSurface::hitTest(Vec2 p){ + ofPolyline line = getHitArea(); + + if(line.inside(p.x, p.y)){ + return true; + }else{ + return false; + } +} + +Vec3 QuadSurface::getVertex(int index){ + if(index > 3){ + ofLog() << "Vertex with this index does not exist: " << index << std::endl; + throw runtime_error("Vertex index out of bounds."); + } + + return Vec3( + mesh.getVertex(index).x, + mesh.getVertex(index).y, + mesh.getVertex(index).z); +} + +Vec2 QuadSurface::getTexCoord(int index){ + if(index > 3){ + throw runtime_error("Texture coordinate index out of bounds."); + } + + return Vec2( + mesh.getTexCoord(index).x, + mesh.getTexCoord(index).y); +} + +ofPolyline QuadSurface::getHitArea(){ + ofPolyline line; + + line.addVertex(ofPoint(mesh.getVertex(0).x, mesh.getVertex(0).y)); + line.addVertex(ofPoint(mesh.getVertex(1).x, mesh.getVertex(1).y)); + line.addVertex(ofPoint(mesh.getVertex(2).x, mesh.getVertex(2).y)); + line.addVertex(ofPoint(mesh.getVertex(3).x, mesh.getVertex(3).y)); + line.close(); + + return line; +} + +ofPolyline QuadSurface::getTextureHitArea(){ + ofPolyline line; + Vec2 textureSize = + Vec2(source->getTexture()->getWidth(), + source->getTexture()->getHeight()); + for(int i = 0; i < mesh.getTexCoords().size(); i++){ + line.addVertex(ofPoint(mesh.getTexCoords()[i] * textureSize.toOf())); + } + line.close(); + + return line; +} + +std::vector QuadSurface::getVertices(){ + return Vec3::fromOf(mesh.getVertices()); +} + +std::vector QuadSurface::getTexCoords(){ + return Vec2::fromOf(mesh.getTexCoords()); +} + +void QuadSurface::calculateHomography(){ + float src[4][2]; + float dst[4][2]; + + ofRectangle box = getMeshBoundingBox(); + + src[0][0] = 0; + src[0][1] = 0; + src[1][0] = box.width; + src[1][1] = 0; + src[2][0] = box.width; + src[2][1] = box.height; + src[3][0] = 0; + src[3][1] = box.height; + + Vec3 p0(mesh.getVertex(0).x, mesh.getVertex(0).y, mesh.getVertex(0).z); + Vec3 p1(mesh.getVertex(1).x, mesh.getVertex(1).y, mesh.getVertex(1).z); + Vec3 p2(mesh.getVertex(2).x, mesh.getVertex(2).y, mesh.getVertex(2).z); + Vec3 p3(mesh.getVertex(3).x, mesh.getVertex(3).y, mesh.getVertex(3).z); + + dst[0][0] = p0.x; + dst[0][1] = p0.y; + dst[1][0] = p1.x; + dst[1][1] = p1.y; + dst[2][0] = p2.x; + dst[2][1] = p2.y; + dst[3][0] = p3.x; + dst[3][1] = p3.y; + + HomographyHelper::findHomography(src, dst, _matrix); +} + +void QuadSurface::setPerspectiveWarping(bool b){ + _perspectiveWarping = b; +} + +bool QuadSurface::getPerspectiveWarping(){ + return _perspectiveWarping; +} + +ofRectangle QuadSurface::getMeshBoundingBox(){ + float minX = 10000.0f; + float minY = 10000.0f; + float maxX = 0.0f; + float maxY = 0.0f; + + for(int i = 0; i < mesh.getVertices().size(); ++i){ + if(mesh.getVertices()[i].x < minX){ + minX = mesh.getVertices()[i].x; + } + + if(mesh.getVertices()[i].y < minY){ + minY = mesh.getVertices()[i].y; + } + + if(mesh.getVertices()[i].x > maxX){ + maxX = mesh.getVertices()[i].x; + } + + if(mesh.getVertices()[i].y > maxY){ + maxY = mesh.getVertices()[i].y; + } + } + + ofRectangle boundingBox = ofRectangle(ofPoint(minX, minY), ofPoint(maxX, maxY)); + return boundingBox; +} + +BaseSurface * QuadSurface::clone(){ + QuadSurface * s = new QuadSurface(); + s->setVertices(getVertices()); + s->setTexCoords(getTexCoords()); + s->setPerspectiveWarping(getPerspectiveWarping()); + BaseSource * src = getSource(); + src->referenceCount++; + s->setSource(src); + return s; +} + +} // namespace piMapper +} // namespace ofx diff --git a/src/Surfaces/QuadSurface.h b/src/Surfaces/QuadSurface.h index 4c6642b..738dd8c 100644 --- a/src/Surfaces/QuadSurface.h +++ b/src/Surfaces/QuadSurface.h @@ -1,55 +1,52 @@ -#pragma once - -#include "ofMain.h" -#include "BaseSurface.h" -#include "SurfaceType.h" -#include "HomographyHelper.h" - -namespace ofx { -namespace piMapper { - -class QuadSurface : public BaseSurface { - public: - QuadSurface(); - ~QuadSurface(); - - void setup(); - void setup(ofVec2f p1, ofVec2f p2, ofVec2f p3, ofVec2f p4, ofVec2f t1, - ofVec2f t2, ofVec2f t3, ofVec2f t4, BaseSource * newSource); - - void draw(); - - void setVertex(int index, ofVec2f p); - void setVertices(vector v); - void setVertices(vector v); - - void setTexCoord(int index, ofVec2f t); - void setTexCoords(vector t); - - void moveBy(ofVec2f v); - - int getType(); - bool hitTest(ofVec2f p); - ofVec2f getVertex(int index); - ofVec2f getTexCoord(int index); - ofPolyline getHitArea(); - ofPolyline getTextureHitArea(); - vector & getVertices(); - vector & getTexCoords(); - - void setPerspectiveWarping(bool b); - bool getPerspectiveWarping(); - - ofRectangle getMeshBoundingBox(); - - BaseSurface * clone(); - - private: - void calculateHomography(); - - float _matrix[16]; - bool _perspectiveWarping; -}; - -} // namespace piMapper -} // namespace ofx \ No newline at end of file +#pragma once + +#include "ofMain.h" +#include "BaseSurface.h" +#include "SurfaceType.h" +#include "HomographyHelper.h" +#include "Vec2.h" +#include "Vec3.h" + +namespace ofx { +namespace piMapper { + +class QuadSurface : public BaseSurface { + public: + QuadSurface(); + ~QuadSurface(); + + void setup(); + void setup( + Vec3 p1, Vec3 p2, Vec3 p3, Vec3 p4, + Vec2 t1, Vec2 t2, Vec2 t3, Vec2 t4, + BaseSource * newSource); + void draw(); + void setVertex(int index, Vec3 p); + void setVertices(std::vector v); + void setTexCoord(int index, Vec2 t); + void setTexCoords(std::vector t); + void moveBy(Vec3 v); + + int getType(); + bool hitTest(Vec2 p); + Vec3 getVertex(int index); + Vec2 getTexCoord(int index); + ofPolyline getHitArea(); + ofPolyline getTextureHitArea(); + std::vector getVertices(); + std::vector getTexCoords(); + + void setPerspectiveWarping(bool b); + bool getPerspectiveWarping(); + + ofRectangle getMeshBoundingBox(); + BaseSurface * clone(); + + private: + void calculateHomography(); + float _matrix[16]; + bool _perspectiveWarping; +}; + +} // namespace piMapper +} // namespace ofx diff --git a/src/Surfaces/SurfaceFactory.cpp b/src/Surfaces/SurfaceFactory.cpp index 1adbba2..847f13c 100644 --- a/src/Surfaces/SurfaceFactory.cpp +++ b/src/Surfaces/SurfaceFactory.cpp @@ -21,22 +21,24 @@ BaseSurface * SurfaceFactory::createSurface(SurfaceType type){ return createGridWarpSurface(); }else if(type == SurfaceType::HEXAGON_SURFACE){ return createHexagonSurface(); + }else if(type == SurfaceType::CIRCLE_SURFACE){ + return createCircleSurface(); }else{ throw runtime_error("Undefined surface type"); } } TriangleSurface * SurfaceFactory::createTriangleSurface(){ - vector vertices; + std::vector vertices; float margin = 50.0f; - vertices.push_back(ofVec2f((float)ofGetWidth() / 2.0f, margin)); - vertices.push_back(ofVec2f((float)ofGetWidth() - margin, (float)ofGetHeight() - margin)); - vertices.push_back(ofVec2f(margin, (float)ofGetHeight() - margin)); + vertices.push_back(Vec3((float)ofGetWidth() / 2.0f, margin, 0.0f)); + vertices.push_back(Vec3((float)ofGetWidth() - margin, (float)ofGetHeight() - margin, 0.0f)); + vertices.push_back(Vec3(margin, (float)ofGetHeight() - margin, 0.0f)); - vector texCoords; - texCoords.push_back(ofVec2f(0.5f, 0.0f)); - texCoords.push_back(ofVec2f(1.0f, 1.0f)); - texCoords.push_back(ofVec2f(0.0f, 1.0f)); + std::vector texCoords; + texCoords.push_back(Vec2(0.5f, 0.0f)); + texCoords.push_back(Vec2(1.0f, 1.0f)); + texCoords.push_back(Vec2(0.0f, 1.0f)); TriangleSurface * triangleSurface = new TriangleSurface(); @@ -49,18 +51,18 @@ TriangleSurface * SurfaceFactory::createTriangleSurface(){ } QuadSurface * SurfaceFactory::createQuadSurface(){ - vector vertices; + std::vector vertices; float margin = 50.0f; - vertices.push_back(ofVec2f(margin, margin)); - vertices.push_back(ofVec2f((float)ofGetWidth() - margin, margin)); - vertices.push_back(ofVec2f((float)ofGetWidth() - margin, (float)ofGetHeight() - margin)); - vertices.push_back(ofVec2f(margin, (float)ofGetHeight() - margin)); + vertices.push_back(Vec3(margin, margin, 0.0f)); + vertices.push_back(Vec3((float)ofGetWidth() - margin, margin, 0.0f)); + vertices.push_back(Vec3((float)ofGetWidth() - margin, (float)ofGetHeight() - margin, 0.0f)); + vertices.push_back(Vec3(margin, (float)ofGetHeight() - margin, 0.0f)); - vector texCoords; - texCoords.push_back(ofVec2f(ofVec2f(0.0f, 0.0f))); - texCoords.push_back(ofVec2f(ofVec2f(1.0f, 0.0f))); - texCoords.push_back(ofVec2f(ofVec2f(1.0f, 1.0f))); - texCoords.push_back(ofVec2f(ofVec2f(0.0f, 1.0f))); + std::vector texCoords; + texCoords.push_back(Vec2(Vec2(0.0f, 0.0f))); + texCoords.push_back(Vec2(Vec2(1.0f, 0.0f))); + texCoords.push_back(Vec2(Vec2(1.0f, 1.0f))); + texCoords.push_back(Vec2(Vec2(0.0f, 1.0f))); QuadSurface * quadSurface = new QuadSurface(); quadSurface->setPerspectiveWarping(true); @@ -83,5 +85,10 @@ HexagonSurface * SurfaceFactory::createHexagonSurface(){ return hexagonSurface; } +CircleSurface * SurfaceFactory::createCircleSurface() { + CircleSurface * circleSurface = new CircleSurface(); + return circleSurface; +} + } // namespace piMapper } // namespace ofx diff --git a/src/Surfaces/SurfaceFactory.h b/src/Surfaces/SurfaceFactory.h index 90b2827..14cd012 100644 --- a/src/Surfaces/SurfaceFactory.h +++ b/src/Surfaces/SurfaceFactory.h @@ -7,6 +7,7 @@ #include "QuadSurface.h" #include "GridWarpSurface.h" #include "HexagonSurface.h" +#include "CircleSurface.h" namespace ofx { namespace piMapper { @@ -26,6 +27,7 @@ class SurfaceFactory { QuadSurface * createQuadSurface(); GridWarpSurface * createGridWarpSurface(); HexagonSurface * createHexagonSurface(); + CircleSurface* createCircleSurface(); }; } // namespace piMapper diff --git a/src/Surfaces/SurfaceManager.cpp b/src/Surfaces/SurfaceManager.cpp index 939e4b0..f05815f 100644 --- a/src/Surfaces/SurfaceManager.cpp +++ b/src/Surfaces/SurfaceManager.cpp @@ -111,7 +111,7 @@ void SurfaceManager::clearPresets(){ } // TODO: Do serious adjustment here. We need to save all presets. Not just the active one. -void SurfaceManager::saveXmlSettings(string fileName){ +void SurfaceManager::saveXmlSettings(std::string fileName){ if(_presets.size() <= 0){ ofLogWarning( "SurfaceManager::saveXmlSettings", @@ -128,7 +128,7 @@ void SurfaceManager::saveXmlSettings(string fileName){ } // TODO: We need to load all presets. Not just the active one. -bool SurfaceManager::loadXmlSettings(string fileName){ +bool SurfaceManager::loadXmlSettings(std::string fileName){ if(mediaServer == 0){ ofLogFatalError("SurfaceManager") << "Media server not set"; exit(EXIT_FAILURE); @@ -298,7 +298,7 @@ void SurfaceManager::selectVertex(int i){ } if(i > selectedSurface->getVertices().size() - 1){ - ofLogError("SurfaceManager::selectVertex") << "index (" << i << ") out of bounds" << endl; + ofLogError("SurfaceManager::selectVertex") << "index (" << i << ") out of bounds" << std::endl; int prevVertIndex = _selectedVertexIndex; ofNotifyEvent(vertexUnselectedEvent, prevVertIndex, this); _selectedVertexIndex = -1; @@ -309,14 +309,14 @@ void SurfaceManager::selectVertex(int i){ ofNotifyEvent(vertexSelectedEvent, _selectedVertexIndex, this); } -void SurfaceManager::moveSelectionBy(ofVec2f v){ +void SurfaceManager::moveSelectionBy(Vec3 v){ if(selectedSurface == 0){ moveAllSurfacesBy(v); return; } if(_selectedVertexIndex != -1){ - selectedSurface->getVertices()[_selectedVertexIndex] += v; + selectedSurface->getMesh().getVertices()[_selectedVertexIndex] += v.toOf(); ofNotifyEvent(vertexChangedEvent, _selectedVertexIndex, this); }else{ selectedSurface->moveBy(v); @@ -327,7 +327,7 @@ void SurfaceManager::moveSelectionBy(ofVec2f v){ // it could be implemented as vector here. } -void SurfaceManager::moveAllSurfacesBy(ofVec2f v){ +void SurfaceManager::moveAllSurfacesBy(Vec3 v){ if(_activePresetIndex < 0){ ofLogWarning( "SurfaceManager::moveAllSurfacesBy", @@ -399,7 +399,7 @@ void SurfaceManager::onVertexChanged(int & i){ ofNotifyEvent(vertexChangedEvent, i, this); } -void SurfaceManager::onVerticesChanged(vector & vertices){ +void SurfaceManager::onVerticesChanged(std::vector & vertices){ ofNotifyEvent(verticesChangedEvent, vertices, this); } diff --git a/src/Surfaces/SurfaceManager.h b/src/Surfaces/SurfaceManager.h index 58a0da8..1150e17 100644 --- a/src/Surfaces/SurfaceManager.h +++ b/src/Surfaces/SurfaceManager.h @@ -9,6 +9,7 @@ #include "SourceType.h" #include "SurfaceStack.h" #include "SurfaceFactory.h" +#include "Vec2.h" #include "ofEvents.h" #include "ofxXmlSettings.h" @@ -32,11 +33,11 @@ class SurfaceManager { void removeSurface(int i); void deleteSurface(BaseSurface * surface); void deselectSurface(); - void saveXmlSettings(string fileName); + void saveXmlSettings(std::string fileName); void setMediaServer(MediaServer * newMediaServer); void clearPresets(); - bool loadXmlSettings(string fileName); + bool loadXmlSettings(std::string fileName); BaseSurface * getSurface(int index); BaseSurface * selectSurface(int index); @@ -50,8 +51,8 @@ class SurfaceManager { void selectPrevVertex(); void selectVertex(int i); - void moveSelectionBy(ofVec2f v); - void moveAllSurfacesBy(ofVec2f v); + void moveSelectionBy(Vec3 v); + void moveAllSurfacesBy(Vec3 v); int size(); int getSelectedVertexIndex(); @@ -60,13 +61,13 @@ class SurfaceManager { unsigned int getNumPresets(); ofEvent vertexChangedEvent; - ofEvent > verticesChangedEvent; + ofEvent > verticesChangedEvent; ofEvent surfaceSelectedEvent; ofEvent vertexSelectedEvent; ofEvent vertexUnselectedEvent; void onVertexChanged(int & i); - void onVerticesChanged(vector & vertices); + void onVerticesChanged(std::vector & vertices); SurfaceStack * getActivePreset(); SurfaceStack * createPreset(); @@ -86,7 +87,7 @@ class SurfaceManager { int _selectedVertexIndex; int _activePresetIndex; - vector _presets; + std::vector _presets; }; diff --git a/src/Surfaces/SurfaceStack.cpp b/src/Surfaces/SurfaceStack.cpp index 89651a6..c11a7c9 100644 --- a/src/Surfaces/SurfaceStack.cpp +++ b/src/Surfaces/SurfaceStack.cpp @@ -65,7 +65,7 @@ BaseSurface * SurfaceStack::back(){ return _surfaces.back(); } -void SurfaceStack::onVerticesChanged(vector & vertices){ +void SurfaceStack::onVerticesChanged(std::vector & vertices){ ofNotifyEvent(verticesChangedEvent, vertices, this); } diff --git a/src/Surfaces/SurfaceStack.h b/src/Surfaces/SurfaceStack.h index 843dbcc..98d19b6 100644 --- a/src/Surfaces/SurfaceStack.h +++ b/src/Surfaces/SurfaceStack.h @@ -21,18 +21,18 @@ class SurfaceStack { BaseSurface * at(int i); BaseSurface * back(); - ofEvent > verticesChangedEvent; + ofEvent > verticesChangedEvent; ofEvent vertexChangedEvent; - void onVerticesChanged(vector & vertices); + void onVerticesChanged(std::vector & vertices); void onVertexChanged(int & i); - vector & getSurfaces(){ return _surfaces; }; + std::vector & getSurfaces(){ return _surfaces; }; SurfaceStack * clone(); private: - vector _surfaces; + std::vector _surfaces; }; } // namespace piMapper diff --git a/src/Surfaces/SurfaceType.h b/src/Surfaces/SurfaceType.h index ae52270..b039427 100644 --- a/src/Surfaces/SurfaceType.h +++ b/src/Surfaces/SurfaceType.h @@ -8,7 +8,8 @@ enum SurfaceType{ QUAD_SURFACE, GRID_WARP_SURFACE, HEXAGON_SURFACE, - NONE + NONE, + CIRCLE_SURFACE }; } // namespace piMapper diff --git a/src/Surfaces/TriangleSurface.cpp b/src/Surfaces/TriangleSurface.cpp index ca6b03c..3296e45 100644 --- a/src/Surfaces/TriangleSurface.cpp +++ b/src/Surfaces/TriangleSurface.cpp @@ -7,24 +7,23 @@ TriangleSurface::TriangleSurface(){ setup(); } -TriangleSurface::~TriangleSurface(){} - void TriangleSurface::setup(){ + // Create 3 points for the triangle - ofVec2f p1 = ofVec2f(ofGetWidth() / 2.0f, 0); - ofVec2f p2 = ofVec2f(ofVec2f(0, ofGetHeight())); - ofVec2f p3 = ofVec2f(ofGetWidth(), ofGetHeight()); + Vec3 p1 = Vec3((float)ofGetWidth() / 2.0f, 0.0f, 0.0f); + Vec3 p2 = Vec3(0.0f, (float)ofGetHeight(), 0.0f); + Vec3 p3 = Vec3((float)ofGetWidth(), (float)ofGetHeight(), 0.0f); // Create 3 point for the texture coordinates - ofVec2f t1 = ofVec2f(0.5f, 0); - ofVec2f t2 = ofVec2f(0, 1.0f); - ofVec2f t3 = ofVec2f(1, 1.0f); + Vec2 t1 = Vec2(0.5f, 0.0f); + Vec2 t2 = Vec2(0.0f, 1.0f); + Vec2 t3 = Vec2(1.0f, 1.0f); setup(p1, p2, p3, t1, t2, t3, source); } -void TriangleSurface::setup(ofVec2f p1, ofVec2f p2, ofVec2f p3, ofVec2f t1, - ofVec2f t2, ofVec2f t3, BaseSource * newSource){ +void TriangleSurface::setup(Vec3 p1, Vec3 p2, Vec3 p3, Vec2 t1, + Vec2 t2, Vec2 t3, BaseSource * newSource){ // Assign texture source = newSource; @@ -32,14 +31,14 @@ void TriangleSurface::setup(ofVec2f p1, ofVec2f p2, ofVec2f p3, ofVec2f t1, mesh.clear(); // Create a surface with the points - mesh.addVertex(p1); - mesh.addVertex(p2); - mesh.addVertex(p3); + mesh.addVertex(p1.toOf()); + mesh.addVertex(p2.toOf()); + mesh.addVertex(p3.toOf()); // Add texture coordinates - mesh.addTexCoord(t1); - mesh.addTexCoord(t2); - mesh.addTexCoord(t3); + mesh.addTexCoord(t1.toOf()); + mesh.addTexCoord(t2.toOf()); + mesh.addTexCoord(t3.toOf()); } void TriangleSurface::draw(){ @@ -63,79 +62,66 @@ void TriangleSurface::draw(){ } } -void TriangleSurface::setVertex(int index, ofVec2f p){ +void TriangleSurface::setVertex(int index, Vec3 p){ if(index > 2){ - ofLog() << "Vertex with this index does not exist: " << index << endl; + ofLog() << "Vertex with this index does not exist: " << index << std::endl; return; } - mesh.setVertex(index, p); - ofVec3f v = mesh.getVertex(index); + mesh.setVertex(index, p.toOf()); ofNotifyEvent(vertexChangedEvent, index, this); } -void TriangleSurface::setVertices(vector v){ - if(v.size() != 3){ - throw runtime_error("Wrong number of vertices"); - } - - for(int i = 0; i < 3; ++i){ - mesh.setVertex(i, v[i]); - } - - ofNotifyEvent(verticesChangedEvent, mesh.getVertices(), this); -} - -void TriangleSurface::setVertices(vector v){ +void TriangleSurface::setVertices(std::vector v){ if(v.size() != 3){ throw runtime_error("Wrong number of vertices"); } for(int i = 0; i < 3; ++i){ - mesh.setVertex(i, v[i]); + mesh.setVertex(i, v[i].toOf()); } - ofNotifyEvent(verticesChangedEvent, mesh.getVertices(), this); + std::vector vertices = Vec3::fromOf(mesh.getVertices()); + ofNotifyEvent(verticesChangedEvent, vertices, this); } -void TriangleSurface::setTexCoord(int index, ofVec2f t){ +void TriangleSurface::setTexCoord(int index, Vec2 t){ if(index > 2){ ofLog() << "Texture coordinate with this index does not exist: " << index - << endl; + << std::endl; return; } - mesh.setTexCoord(index, t); + mesh.setTexCoord(index, t.toOf()); } -void TriangleSurface::setTexCoords(vector t){ +void TriangleSurface::setTexCoords(std::vector t){ if(t.size() != 3){ throw runtime_error("Wrong number of texture coordinates"); } + for(int i = 0; i < 3; ++i){ - mesh.setTexCoord(i, t[i]); + mesh.setTexCoord(i, t[i].toOf()); } } -void TriangleSurface::moveBy(ofVec2f v){ - vector & vertices = getVertices(); - - for(int i = 0; i < vertices.size(); i++){ - vertices[i] += v; +void TriangleSurface::moveBy(Vec3 v){ + for(auto i = 0; i < mesh.getVertices().size(); ++i){ + mesh.getVertices()[i] += v.toOf(); } setMoved(true); - ofNotifyEvent(verticesChangedEvent, mesh.getVertices(), this); + std::vector vertices = Vec3::fromOf(mesh.getVertices()); + ofNotifyEvent(verticesChangedEvent, vertices, this); } int TriangleSurface::getType(){ return SurfaceType::TRIANGLE_SURFACE; } -bool TriangleSurface::hitTest(ofVec2f p){ - // Construct ofPolyline from vertices +bool TriangleSurface::hitTest(Vec2 p){ ofPolyline line = getHitArea(); - + if(line.inside(p.x, p.y)){ return true; }else{ @@ -143,26 +129,31 @@ bool TriangleSurface::hitTest(ofVec2f p){ } } -ofVec2f TriangleSurface::getVertex(int index){ +Vec2 TriangleSurface::getVertex(int index){ if(index > 2){ - ofLog() << "Vertex with this index does not exist: " << index << endl; + ofLog() << "Vertex with this index does not exist: " << index << std::endl; throw runtime_error("Vertex index out of bounds."); } - ofVec3f vert = mesh.getVertex(index); - return ofVec2f(vert.x, vert.y); + return Vec2( + mesh.getVertex(index).x, + mesh.getVertex(index).y); } -ofVec2f TriangleSurface::getTexCoord(int index){ +Vec2 TriangleSurface::getTexCoord(int index){ if(index > 2){ + ofLog() << "Texture coordinate with this index does not exist: " << index << std::endl; throw runtime_error("Texture coordinate index out of bounds."); } - return mesh.getTexCoord(index); + return Vec2( + mesh.getTexCoord(index).x, + mesh.getTexCoord(index).y); } ofPolyline TriangleSurface::getHitArea(){ ofPolyline line; + line.addVertex(ofPoint(mesh.getVertex(0).x, mesh.getVertex(0).y)); line.addVertex(ofPoint(mesh.getVertex(1).x, mesh.getVertex(1).y)); line.addVertex(ofPoint(mesh.getVertex(2).x, mesh.getVertex(2).y)); @@ -173,23 +164,25 @@ ofPolyline TriangleSurface::getHitArea(){ ofPolyline TriangleSurface::getTextureHitArea(){ ofPolyline line; - vector & texCoords = mesh.getTexCoords(); - ofVec2f textureSize = ofVec2f(source->getTexture()->getWidth(), source->getTexture()->getHeight()); - for(int i = 0; i < texCoords.size(); i++){ - line.addVertex(ofPoint(texCoords[i] * textureSize)); + + Vec2 textureSize = Vec2( + source->getTexture()->getWidth(), + source->getTexture()->getHeight()); + + for(int i = 0; i < mesh.getTexCoords().size(); i++){ + line.addVertex(ofPoint(mesh.getTexCoords()[i] * textureSize.toOf())); } + line.close(); - return line; } -vector & TriangleSurface::getVertices(){ - // return only joint vertices - return mesh.getVertices(); +std::vector TriangleSurface::getVertices(){ + return Vec3::fromOf(mesh.getVertices()); } -vector & TriangleSurface::getTexCoords(){ - return mesh.getTexCoords(); +std::vector TriangleSurface::getTexCoords(){ + return Vec2::fromOf(mesh.getTexCoords()); } BaseSurface * TriangleSurface::clone(){ @@ -203,4 +196,4 @@ BaseSurface * TriangleSurface::clone(){ } } // namespace piMapper -} // namespace ofx \ No newline at end of file +} // namespace ofx diff --git a/src/Surfaces/TriangleSurface.h b/src/Surfaces/TriangleSurface.h index f3797e9..091688a 100644 --- a/src/Surfaces/TriangleSurface.h +++ b/src/Surfaces/TriangleSurface.h @@ -3,6 +3,8 @@ #include "ofMain.h" #include "BaseSurface.h" #include "SurfaceType.h" +#include "Vec2.h" +#include "Vec3.h" namespace ofx { namespace piMapper { @@ -10,33 +12,30 @@ namespace piMapper { class TriangleSurface : public BaseSurface { public: TriangleSurface(); - ~TriangleSurface(); void setup(); - void setup(ofVec2f p1, ofVec2f p2, ofVec2f p3, ofVec2f t1, ofVec2f t2, - ofVec2f t3, BaseSource * newSource); + void setup( + Vec3 p1, Vec3 p2, Vec3 p3, + Vec2 t1, Vec2 t2, Vec2 t3, + BaseSource * newSource); void draw(); - - void setVertex(int index, ofVec2f p); - void setVertices(vector v); - void setVertices(vector v); - - void setTexCoord(int index, ofVec2f t); - void setTexCoords(vector t); - - void moveBy(ofVec2f v); + void setVertex(int index, Vec3 p); + void setVertices(std::vector v); + void setTexCoord(int index, Vec2 t); + void setTexCoords(std::vector t); + void moveBy(Vec3 v); int getType(); - bool hitTest(ofVec2f p); - ofVec2f getVertex(int index); - ofVec2f getTexCoord(int index); + bool hitTest(Vec2 p); + Vec2 getVertex(int index); + Vec2 getTexCoord(int index); ofPolyline getHitArea(); ofPolyline getTextureHitArea(); - vector & getVertices(); - vector & getTexCoords(); + std::vector getVertices(); + std::vector getTexCoords(); BaseSurface * clone(); }; } // namespace piMapper -} // namespace ofx \ No newline at end of file +} // namespace ofx diff --git a/src/Types/Vec2.cpp b/src/Types/Vec2.cpp new file mode 100644 index 0000000..a812fcf --- /dev/null +++ b/src/Types/Vec2.cpp @@ -0,0 +1,129 @@ +#include "Vec2.h" + +#if OF_VERSION_MAJOR == 0 && OF_VERSION_MINOR > 9 + #include "glm/geometric.hpp" +#endif + +namespace ofx { +namespace piMapper { + +Vec2::Vec2(){ + Vec2(0.0f, 0.0f); +} + +Vec2::Vec2(float ix, float iy){ + x = ix; + y = iy; +} + +#if OF_VERSION_MAJOR == 0 && OF_VERSION_MINOR <= 9 + Vec2::Vec2(ofVec2f & src){ + x = src.x; + y = src.y; + } + + ofVec2f Vec2::toOf(){ + return ofVec2f(x, y); + } + + std::vector Vec2::toOf(std::vector & src){ + std::vector retVal; + for(auto itm : src){ + retVal.push_back(itm.toOf()); + } + return retVal; + } + + std::vector Vec2::fromOf(std::vector & src){ + std::vector retVal; + for(auto itm : src){ + retVal.push_back(Vec2(itm)); + } + return retVal; + } + + float Vec2::distance(const Vec2 & other){ + ofVec2f v1(x, y); + ofVec2f v2(other.x, other.y); + return v1.distance(v2); + } +#else + Vec2::Vec2(glm::vec2 & src){ + x = src.x; + y = src.y; + } + + glm::vec2 Vec2::toOf(){ + return glm::vec2(x, y); + } + + std::vector Vec2::toOf(std::vector & src){ + std::vector retVal; + for(auto itm : src){ + retVal.push_back(itm.toOf()); + } + return retVal; + } + + std::vector Vec2::fromOf(std::vector & src){ + std::vector retVal; + for(auto itm : src){ + retVal.push_back(Vec2(itm)); + } + return retVal; + } + + float Vec2::distance(const Vec2 & other){ + glm::vec2 v1(x, y); + glm::vec2 v2(other.x, other.y); + + return glm::distance(v1, v2); + } +#endif + +void Vec2::operator=(const Vec2 & other){ + x = other.x; + y = other.y; +} + +void Vec2::operator+=(const Vec2 & other){ + x += other.x; + y += other.y; +} + +Vec2 Vec2::operator+(const Vec2 & other){ + return Vec2(x + other.x, y + other.y); +} + +Vec2 Vec2::operator-(){ + return Vec2(-x, -y); +} + +Vec2 Vec2::operator-(const Vec2 & other){ + return Vec2(x - other.x, y - other.y); +} + +Vec2 Vec2::operator*(const Vec2 & other){ + return Vec2(x * other.x, y * other.y); +} + +Vec2 Vec2::operator/(const Vec2 & other){ + return Vec2(x / other.x, y / other.y); +} + +bool Vec2::operator==(const Vec2 & other){ + if(x == other.x && y == other.y){ + return true; + } + return false; +} + +bool Vec2::operator!=(const Vec2 & other){ + if(x != other.x && y != other.y){ + return true; + } + return false; +} + +} // namespace piMapper +} // namespace ofx diff --git a/src/Types/Vec2.h b/src/Types/Vec2.h new file mode 100644 index 0000000..80a86fe --- /dev/null +++ b/src/Types/Vec2.h @@ -0,0 +1,49 @@ +#pragma once + +#include + +#if OF_VERSION_MAJOR == 0 && OF_VERSION_MINOR <= 9 + #include "ofVec2f.h" +#else + #include "glm/vec2.hpp" +#endif + +namespace ofx { +namespace piMapper { + +class Vec2{ +public: + Vec2(); + Vec2(float ix, float iy); + + // TODO: Achieve this with templates + #if OF_VERSION_MAJOR == 0 && OF_VERSION_MINOR <= 9 + Vec2(ofVec2f & src); + ofVec2f toOf(); + static std::vector toOf(std::vector & src); + static std::vector fromOf(std::vector & src); + #else + Vec2(glm::vec2 & src); + glm::vec2 toOf(); + static std::vector toOf(std::vector & src); + static std::vector fromOf(std::vector & src); + #endif + + float distance(const Vec2 & other); + + void operator=(const Vec2 & other); + void operator+=(const Vec2 & other); + Vec2 operator+(const Vec2 & other); + Vec2 operator-(); + Vec2 operator-(const Vec2 & other); + Vec2 operator*(const Vec2 & other); + Vec2 operator/(const Vec2 & other); + bool operator==(const Vec2 & other); + bool operator!=(const Vec2 & other); + + float x; + float y; +}; + +} // namespace piMapper +} // namespace ofx diff --git a/src/Types/Vec3.cpp b/src/Types/Vec3.cpp new file mode 100644 index 0000000..dda8c91 --- /dev/null +++ b/src/Types/Vec3.cpp @@ -0,0 +1,149 @@ +#include "Vec3.h" + +namespace ofx { +namespace piMapper { + +Vec3::Vec3(){ + Vec3(0.0f, 0.0f, 0.0f); +} + +Vec3::Vec3(float ix, float iy, float iz){ + x = ix; + y = iy; + z = iz; +} + +#if OF_VERSION_MAJOR == 0 && OF_VERSION_MINOR <= 9 + Vec3::Vec3(ofVec3f & src){ + x = src.x; + y = src.y; + z = src.z; + } + + ofVec3f Vec3::toOf(){ + return ofVec3f(x, y, z); + } + + std::vector Vec3::toOf(std::vector & src){ + std::vector retVal; + for(auto itm : src){ + retVal.push_back(itm.toOf()); + } + return retVal; + } + + std::vector Vec3::fromOf(std::vector & src){ + std::vector retVal; + for(auto itm : src){ + retVal.push_back(Vec3(itm)); + } + return retVal; + } +#else + Vec3::Vec3(glm::vec3 & src){ + x = src.x; + y = src.y; + z = src.z; + } + + glm::vec3 Vec3::toOf(){ + return ofVec3f(x, y, z); + } + + std::vector Vec3::toOf(std::vector & src){ + std::vector retVal; + for(auto itm : src){ + retVal.push_back(itm.toOf()); + } + return retVal; + } + + std::vector Vec3::fromOf(std::vector & src){ + std::vector retVal; + for(auto itm : src){ + retVal.push_back(Vec3(itm)); + } + return retVal; + } +#endif + +void Vec3::operator=(const Vec3 & other){ + x = other.x; + y = other.y; + z = other.z; +} + +void Vec3::operator+=(const Vec3 & other){ + x += other.x; + y += other.y; + z += other.z; +} + +void Vec3::operator*=(const Vec3 & other){ + x *= other.x; + y *= other.y; + z *= other.z; +} + +void Vec3::operator*=(float n){ + x *= n; + y *= n; + z *= n; +} + +void Vec3::operator/=(const Vec3 & other){ + x /= other.x; + y /= other.y; + z /= other.z; +} + +void Vec3::operator/=(float n){ + x /= n; + y /= n; + z /= n; +} + +Vec3 Vec3::operator+(const Vec3 & other){ + return Vec3(x + other.x, y + other.y, z + other.z); +} + +Vec3 Vec3::operator-(){ + return Vec3(-x, -y, -z); +} + +Vec3 Vec3::operator-(const Vec3 & other){ + return Vec3(x - other.x, y - other.y, z - other.z); +} + +Vec3 Vec3::operator*(const Vec3 & other){ + return Vec3(x * other.x, y * other.y, z * other.z); +} + +Vec3 Vec3::operator*(float n){ + return Vec3(x * n, y * n, z * n); +} + +Vec3 Vec3::operator/(const Vec3 & other){ + return Vec3(x / other.x, y / other.y, z / other.z); +} + +Vec3 Vec3::operator/(float n){ + return Vec3(x / n, y / n, z / n); +} + +bool Vec3::operator==(const Vec3 & other){ + if(x == other.x && y == other.y && z == other.z){ + return true; + } + return false; +} + +bool Vec3::operator!=(const Vec3 & other){ + if(x != other.x && y != other.y && z != other.z){ + return true; + } + return false; +} + +} // namespace piMapper +} // namespace ofx diff --git a/src/Types/Vec3.h b/src/Types/Vec3.h new file mode 100644 index 0000000..edce17f --- /dev/null +++ b/src/Types/Vec3.h @@ -0,0 +1,54 @@ +#pragma once + +#include + +#if OF_VERSION_MAJOR == 0 && OF_VERSION_MINOR <= 9 + #include "ofVec3f.h" +#else + #include "glm/vec3.hpp" +#endif + +namespace ofx { +namespace piMapper { + +class Vec3{ +public: + Vec3(); + Vec3(float ix, float iy, float iz); + + // TODO: achieve this with templates + #if OF_VERSION_MAJOR == 0 && OF_VERSION_MINOR <= 9 + Vec3(ofVec3f & src); + ofVec3f toOf(); + static std::vector toOf(std::vector & src); + static std::vector fromOf(std::vector & src); + #else + Vec3(glm::vec3 & src); + glm::vec3 toOf(); + static std::vector toOf(std::vector & src); + static std::vector fromOf(std::vector & src); + #endif + + void operator=(const Vec3 & other); + void operator+=(const Vec3 & other); + void operator*=(const Vec3 & other); + void operator*=(float n); + void operator/=(const Vec3 & other); + void operator/=(float n); + Vec3 operator+(const Vec3 & other); + Vec3 operator-(); + Vec3 operator-(const Vec3 & other); + Vec3 operator*(const Vec3 & other); + Vec3 operator*(float n); + Vec3 operator/(const Vec3 & other); + Vec3 operator/(float n); + bool operator==(const Vec3 & other); + bool operator!=(const Vec3 & other); + + float x; + float y; + float z; +}; + +} // namespace piMapper +} // namespace ofx diff --git a/src/UserInterface/BaseJoint.cpp b/src/UserInterface/BaseJoint.cpp index 4fd890b..ea81453 100644 --- a/src/UserInterface/BaseJoint.cpp +++ b/src/UserInterface/BaseJoint.cpp @@ -9,8 +9,9 @@ BaseJoint::BaseJoint(){ } void BaseJoint::mousePressed(ofMouseEventArgs & args){ - if(hitTest(ofVec2f(args.x, args.y))){ - clickDistance = position - ofVec2f(args.x, args.y); + if(hitTest(Vec2(args.x, args.y))){ + Vec2 clickPosition(args.x, args.y); + clickDistance = position - clickPosition; } } @@ -22,7 +23,7 @@ void BaseJoint::mouseDragged(ofMouseEventArgs & args){ if(!bDrag){ return; } - position = ofVec2f(args.x, args.y) + clickDistance; + position = Vec2(args.x, args.y) + clickDistance; } void BaseJoint::startDrag(){ @@ -41,7 +42,7 @@ void BaseJoint::unselect(){ selected = false; } -void BaseJoint::setClickDistance(ofVec2f newClickDistance){ +void BaseJoint::setClickDistance(Vec2 newClickDistance){ clickDistance = newClickDistance; } @@ -63,12 +64,12 @@ void BaseJoint::setDefaultColors(){ void BaseJoint::setDefaultProperties(){ enabled = true; visible = true; - position = ofVec2f(20.0f, 20.0f); - clickDistance = ofVec2f(0.0f, 0.0f); + position = Vec2(20.0f, 20.0f); + clickDistance = Vec2(0.0f, 0.0f); bDrag = false; selected = false; strokeWidth = 1.5f; } } // namespace piMapper -} // namespace ofx \ No newline at end of file +} // namespace ofx diff --git a/src/UserInterface/BaseJoint.h b/src/UserInterface/BaseJoint.h index be75299..ddae2a8 100644 --- a/src/UserInterface/BaseJoint.h +++ b/src/UserInterface/BaseJoint.h @@ -1,6 +1,7 @@ #pragma once #include "ofMain.h" +#include "Vec2.h" namespace ofx { namespace piMapper { @@ -10,7 +11,7 @@ class BaseJoint { public: BaseJoint(); - ofVec2f position; + Vec2 position; bool enabled; bool visible; bool selected; @@ -22,13 +23,13 @@ class BaseJoint { void stopDrag(); void select(); void unselect(); - void setClickDistance(ofVec2f newClickDistance); + void setClickDistance(Vec2 newClickDistance); bool isDragged(); bool isSelected(); virtual void update(){} virtual void draw(){} - virtual bool hitTest(ofVec2f position){ return false; } + virtual bool hitTest(Vec2 position){ return false; } protected: ofColor fillColor; @@ -36,7 +37,7 @@ class BaseJoint { ofColor fillColorSelected; ofColor strokeColorSelected; float strokeWidth; - ofVec2f clickDistance; // How far from the center of the joint the user has + Vec2 clickDistance; // How far from the center of the joint the user has // clicked? bool bDrag; diff --git a/src/UserInterface/CircleJoint.cpp b/src/UserInterface/CircleJoint.cpp index 47cd8b9..193d5b1 100644 --- a/src/UserInterface/CircleJoint.cpp +++ b/src/UserInterface/CircleJoint.cpp @@ -59,7 +59,7 @@ void CircleJoint::setDefaultProperties(){ radius = 10.0f; } -bool CircleJoint::hitTest(ofVec2f pos){ +bool CircleJoint::hitTest(Vec2 pos){ float distance = position.distance(pos); if(distance < radius){ return true; diff --git a/src/UserInterface/CircleJoint.h b/src/UserInterface/CircleJoint.h index 9b4ef2b..070412d 100644 --- a/src/UserInterface/CircleJoint.h +++ b/src/UserInterface/CircleJoint.h @@ -2,6 +2,7 @@ #include "ofMain.h" #include "BaseJoint.h" +#include "Vec2.h" namespace ofx { namespace piMapper { @@ -12,7 +13,7 @@ class CircleJoint : public BaseJoint { void update(); void draw(); - bool hitTest(ofVec2f position); + bool hitTest(Vec2 position); private: float radius; @@ -22,4 +23,4 @@ class CircleJoint : public BaseJoint { }; } // namespace piMapper -} // namespace ofx \ No newline at end of file +} // namespace ofx diff --git a/src/UserInterface/RadioList.cpp b/src/UserInterface/RadioList.cpp index abc3c57..eff3ea9 100644 --- a/src/UserInterface/RadioList.cpp +++ b/src/UserInterface/RadioList.cpp @@ -8,12 +8,12 @@ RadioList::RadioList(){ storedSelectedItem = 0; } -RadioList::RadioList(vector & labels, vector & values){ +RadioList::RadioList(std::vector & labels, std::vector & values){ RadioList(); setup(labels, values); } -RadioList::RadioList(string title, vector & labels, vector & values){ +RadioList::RadioList(std::string title, std::vector & labels, std::vector & values){ RadioList(); setup(title, labels, values); } @@ -22,7 +22,7 @@ RadioList::~RadioList(){ clear(); } -void RadioList::setup(vector & labels, vector & values){ +void RadioList::setup(std::vector & labels, std::vector & values){ // Copy incomming labels for later use storedLabels = labels; @@ -42,7 +42,7 @@ void RadioList::setup(vector & labels, vector & values){ } } -void RadioList::setup(string title, vector & labels, vector & values){ +void RadioList::setup(std::string title, std::vector & labels, std::vector & values){ // Store title for later use storedTitle = title; @@ -54,7 +54,7 @@ void RadioList::draw(){ guiGroup.draw(); } -void RadioList::setTitle(string title){ +void RadioList::setTitle(std::string title){ storedTitle = title; guiGroup.setName(title); } @@ -78,14 +78,14 @@ void RadioList::selectItem(int index){ toggle->removeListener(this, &RadioList::onToggleClicked); *toggle = true; // Select the specific radio button toggle->addListener(this, &RadioList::onToggleClicked); - //string name = toggle->getName(); + //std::string name = toggle->getName(); // Throw event with value that is image path instead of name - string value = storedValues[index]; + std::string value = storedValues[index]; ofNotifyEvent(onRadioSelected, value, this); storedSelectedItem = index; } -bool RadioList::selectItemByValue(string itemValue){ +bool RadioList::selectItemByValue(std::string itemValue){ if(itemValue == ""){ ofLogNotice("RadioList") << "Item value empty"; return false; @@ -123,7 +123,7 @@ void RadioList::enable(){ *toggle = true; toggle->addListener(this, &RadioList::onToggleClicked); - cout << "num items after enable: " << guiGroup.getNumControls() << endl; + std::cout << "num items after enable: " << guiGroup.getNumControls() << std::endl; } void RadioList::disable(){ @@ -145,7 +145,6 @@ void RadioList::unselectAll(){ int i; for(i = 0; i < guiGroup.getNumControls(); i++){ ofxToggle * toggle = static_cast (guiGroup.getControl(i)); - ofParameter * paramPtr = static_cast *>(&toggle->getParameter()); toggle->removeListener(this, &RadioList::onToggleClicked); *toggle = false; toggle->addListener(this, &RadioList::onToggleClicked); @@ -164,11 +163,11 @@ float RadioList::getHeight(){ return guiGroup.getHeight(); } -string RadioList::getTitle(){ +std::string RadioList::getTitle(){ return guiGroup.getName(); } -string RadioList::getItemName(int index){ +std::string RadioList::getItemName(int index){ if(index >= guiGroup.getNumControls()){ return ""; } diff --git a/src/UserInterface/RadioList.h b/src/UserInterface/RadioList.h index 5e67a4f..9ce66c4 100644 --- a/src/UserInterface/RadioList.h +++ b/src/UserInterface/RadioList.h @@ -11,18 +11,18 @@ namespace piMapper { class RadioList { public: RadioList(); - RadioList(vector & labels, vector & values); - RadioList(string title, vector & labels, vector & values); + RadioList(std::vector & labels, std::vector & values); + RadioList(std::string title, std::vector & labels, std::vector & values); ~RadioList(); - void setup(vector & labels, vector & values); - void setup(string title, vector & labels, vector & values); + void setup(std::vector & labels, std::vector & values); + void setup(std::string title, std::vector & labels, std::vector & values); void draw(); - void setTitle(string title); + void setTitle(std::string title); void setPosition(ofPoint p); void setPosition(float x, float y); void selectItem(int index); - bool selectItemByValue(string itemValue); + bool selectItemByValue(std::string itemValue); void enable(); void disable(); void clear(); @@ -30,21 +30,21 @@ class RadioList { ofPoint getPosition(); float getWidth(); float getHeight(); - string getTitle(); - string getItemName(int index); + std::string getTitle(); + std::string getItemName(int index); int size(); // This event notifies about a toggle being selected and passes it's name to // the listeners. // Use ofAddListener(RadioListInstance.radioSelectedEvent, listenerClassPtr, // &listenerClass::listenerMethod) - // to listen to this. Listner method void listenerMethod(string & radioName) - ofEvent onRadioSelected; + // to listen to this. Listner method void listenerMethod(std::string & radioName) + ofEvent onRadioSelected; private: - vector storedLabels; - vector storedValues; - string storedTitle; + std::vector storedLabels; + std::vector storedValues; + std::string storedTitle; ofxGuiGroup guiGroup; int storedSelectedItem; diff --git a/src/ofxPiMapper.cpp b/src/ofxPiMapper.cpp index 43d40da..84a2987 100644 --- a/src/ofxPiMapper.cpp +++ b/src/ofxPiMapper.cpp @@ -147,7 +147,7 @@ void ofxPiMapper::togglePause(){ _application.togglePause(); } -void ofxPiMapper::moveSelection(ofVec2f by){ +void ofxPiMapper::moveSelection(ofx::piMapper::Vec3 by){ _application.moveSelection(by); } @@ -156,17 +156,33 @@ void ofxPiMapper::createSurface(ofx::piMapper::SurfaceType type){ } void ofxPiMapper::eraseSurface(int i){ - cout << "numSurfaces: " << getNumSurfaces() << ", i: " << i << endl; + std::cout << "numSurfaces: " << getNumSurfaces() << ", i: " << i << std::endl; if(getNumSurfaces() > 0 && i < getNumSurfaces()){ _application.eraseSurface(i); } } +void ofxPiMapper::addGridColumn(){ + _application.addGridColumn(); +} + +void ofxPiMapper::removeGridColumn(){ + _application.removeGridColumn(); +} + +void ofxPiMapper::addGridRow(){ + _application.addGridRow(); +} + +void ofxPiMapper::removeGridRow(){ + _application.removeGridRow(); +} + void ofxPiMapper::setNextSource(){ _application.setNextSource(); } -void ofxPiMapper::setFboSource(string sourceId){ +void ofxPiMapper::setFboSource(std::string sourceId){ _application.setFboSource(sourceId); } @@ -182,7 +198,7 @@ void ofxPiMapper::saveProject(){ _application.saveProject(); } -bool ofxPiMapper::loadProject(string filename){ +bool ofxPiMapper::loadProject(std::string filename){ return _application.loadXmlSettings(filename); } @@ -202,7 +218,7 @@ int ofxPiMapper::getSelectedSurface(){ return _application.getSurfaceManager()->getSelectedSurfaceIndex(); } -void ofxPiMapper::setInfoText(string text){ +void ofxPiMapper::setInfoText(std::string text){ _application.setInfoText(text); } @@ -218,6 +234,10 @@ void ofxPiMapper::deselect(){ _application.deselect(); } +bool ofxPiMapper::toggleShift(){ + return _application.toggleShift(); +} + void ofxPiMapper::setMode(ofx::piMapper::Mode m){ if(m == ofx::piMapper::PRESENTATION_MODE){ _application.setPresentationMode(); @@ -244,3 +264,7 @@ ofx::piMapper::Mode ofxPiMapper::getMode(){ } return ofx::piMapper::PRESENTATION_MODE; } + +void ofxPiMapper::toggleLayerPanel(){ + _application.toggleLayerPanel(); +} diff --git a/src/ofxPiMapper.h b/src/ofxPiMapper.h index f85643b..74e4470 100644 --- a/src/ofxPiMapper.h +++ b/src/ofxPiMapper.h @@ -6,6 +6,8 @@ #include "Application.h" #include "SurfaceType.h" #include "Mode.h" +#include "Vec2.h" +#include "Vec3.h" class ofxPiMapper { public: @@ -26,18 +28,22 @@ class ofxPiMapper { void registerFboSource(ofx::piMapper::FboSource * fboSource); // Application - void setInfoText(string text); + void setInfoText(std::string text); void toggleInfo(); void undo(); void deselect(); + bool toggleShift(); // Modes void setMode(ofx::piMapper::Mode m); ofx::piMapper::Mode getMode(); + + // Projection mapping mode only + void toggleLayerPanel(); // Project void saveProject(); - bool loadProject(string filename); + bool loadProject(std::string filename); // Presets unsigned int getNumPresets(); @@ -66,13 +72,19 @@ class ofxPiMapper { void scaleDown(); void togglePauseForSurface(unsigned int i); void togglePause(); - void moveSelection(ofVec2f by); + void moveSelection(ofx::piMapper::Vec3 by); void createSurface(ofx::piMapper::SurfaceType type); void eraseSurface(int i); + + // Specifically for GridWarpSurface + void addGridColumn(); + void removeGridColumn(); + void addGridRow(); + void removeGridRow(); // Sources, selected surface void setNextSource(); - void setFboSource(string sourceId); + void setFboSource(std::string sourceId); // System commands void reboot();