From 19c47ff611319f063cecb8ad3caa9e6a6fcf2dfb Mon Sep 17 00:00:00 2001
From: Krisjanis Rijnieks <krisjanis.rijnieks@gmail.com>
Date: Tue, 25 Oct 2016 16:21:47 +0300
Subject: [PATCH] Rename SetActivePresetCmd to SetPresetCmd

---
 example/example.xcodeproj/project.pbxproj     | 1094 ++++++++---------
 src/Application/Application.cpp               |    2 +-
 src/Application/Application.h                 |    2 +-
 ...etActivePresetCmd.cpp => SetPresetCmd.cpp} |   12 +-
 .../{SetActivePresetCmd.h => SetPresetCmd.h}  |    6 +-
 5 files changed, 558 insertions(+), 558 deletions(-)
 rename src/Commands/{SetActivePresetCmd.cpp => SetPresetCmd.cpp} (65%)
 rename src/Commands/{SetActivePresetCmd.h => SetPresetCmd.h} (81%)

diff --git a/example/example.xcodeproj/project.pbxproj b/example/example.xcodeproj/project.pbxproj
index 7ce87f3..68921e7 100644
--- a/example/example.xcodeproj/project.pbxproj
+++ b/example/example.xcodeproj/project.pbxproj
@@ -7,6 +7,79 @@
 	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 */; };
+		0115A6821DBF93BA00C51732 /* AddGridColCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A5E91DBF93BA00C51732 /* AddGridColCmd.cpp */; };
+		0115A6831DBF93BA00C51732 /* AddGridRowCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A5EB1DBF93BA00C51732 /* AddGridRowCmd.cpp */; };
+		0115A6841DBF93BA00C51732 /* AddSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A5ED1DBF93BA00C51732 /* AddSurfaceCmd.cpp */; };
+		0115A6851DBF93BA00C51732 /* ClearSurfacesCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A5F01DBF93BA00C51732 /* ClearSurfacesCmd.cpp */; };
+		0115A6861DBF93BA00C51732 /* CmdManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A5F21DBF93BA00C51732 /* CmdManager.cpp */; };
+		0115A6871DBF93BA00C51732 /* DeselectSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A5F41DBF93BA00C51732 /* DeselectSurfaceCmd.cpp */; };
+		0115A6881DBF93BA00C51732 /* DeselectTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A5F61DBF93BA00C51732 /* DeselectTexCoordCmd.cpp */; };
+		0115A6891DBF93BA00C51732 /* DuplicateSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A5F81DBF93BA00C51732 /* DuplicateSurfaceCmd.cpp */; };
+		0115A68A1DBF93BA00C51732 /* MvAllTexCoordsCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A5FA1DBF93BA00C51732 /* MvAllTexCoordsCmd.cpp */; };
+		0115A68B1DBF93BA00C51732 /* MvLayerDnCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A5FC1DBF93BA00C51732 /* MvLayerDnCmd.cpp */; };
+		0115A68C1DBF93BA00C51732 /* MvLayerUpCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A5FE1DBF93BA00C51732 /* MvLayerUpCmd.cpp */; };
+		0115A68D1DBF93BA00C51732 /* MvSelectionCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6001DBF93BA00C51732 /* MvSelectionCmd.cpp */; };
+		0115A68E1DBF93BA00C51732 /* MvSurfaceVertCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6021DBF93BA00C51732 /* MvSurfaceVertCmd.cpp */; };
+		0115A68F1DBF93BA00C51732 /* MvTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6041DBF93BA00C51732 /* MvTexCoordCmd.cpp */; };
+		0115A6901DBF93BA00C51732 /* RmGridColCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6061DBF93BA00C51732 /* RmGridColCmd.cpp */; };
+		0115A6911DBF93BA00C51732 /* RmGridRowCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6081DBF93BA00C51732 /* RmGridRowCmd.cpp */; };
+		0115A6921DBF93BA00C51732 /* RmSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A60A1DBF93BA00C51732 /* RmSurfaceCmd.cpp */; };
+		0115A6931DBF93BA00C51732 /* ScaleSurfaceFromToCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A60C1DBF93BA00C51732 /* ScaleSurfaceFromToCmd.cpp */; };
+		0115A6941DBF93BA00C51732 /* SelNextSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A60E1DBF93BA00C51732 /* SelNextSurfaceCmd.cpp */; };
+		0115A6951DBF93BA00C51732 /* SelNextTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6101DBF93BA00C51732 /* SelNextTexCoordCmd.cpp */; };
+		0115A6961DBF93BA00C51732 /* SelNextVertexCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6121DBF93BA00C51732 /* SelNextVertexCmd.cpp */; };
+		0115A6971DBF93BA00C51732 /* SelPrevSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6141DBF93BA00C51732 /* SelPrevSurfaceCmd.cpp */; };
+		0115A6981DBF93BA00C51732 /* SelPrevTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6161DBF93BA00C51732 /* SelPrevTexCoordCmd.cpp */; };
+		0115A6991DBF93BA00C51732 /* SelPrevVertexCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6181DBF93BA00C51732 /* SelPrevVertexCmd.cpp */; };
+		0115A69A1DBF93BA00C51732 /* SelSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A61A1DBF93BA00C51732 /* SelSurfaceCmd.cpp */; };
+		0115A69B1DBF93BA00C51732 /* SelVertexCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A61C1DBF93BA00C51732 /* SelVertexCmd.cpp */; };
+		0115A69C1DBF93BA00C51732 /* SetApplicationModeCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A61E1DBF93BA00C51732 /* SetApplicationModeCmd.cpp */; };
+		0115A69D1DBF93BA00C51732 /* SetNextSourceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6201DBF93BA00C51732 /* SetNextSourceCmd.cpp */; };
+		0115A69E1DBF93BA00C51732 /* SetPresetCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6221DBF93BA00C51732 /* SetPresetCmd.cpp */; };
+		0115A69F1DBF93BA00C51732 /* SetSourceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6241DBF93BA00C51732 /* SetSourceCmd.cpp */; };
+		0115A6A01DBF93BA00C51732 /* SetTexMapDrawModeCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6261DBF93BA00C51732 /* SetTexMapDrawModeCmd.cpp */; };
+		0115A6A11DBF93BA00C51732 /* StartDragSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6281DBF93BA00C51732 /* StartDragSurfaceCmd.cpp */; };
+		0115A6A21DBF93BA00C51732 /* ToggleAnimatedSourceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A62A1DBF93BA00C51732 /* ToggleAnimatedSourceCmd.cpp */; };
+		0115A6A31DBF93BA00C51732 /* TogglePerspectiveCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A62C1DBF93BA00C51732 /* TogglePerspectiveCmd.cpp */; };
+		0115A6A41DBF93BA00C51732 /* TranslateCanvasCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A62E1DBF93BA00C51732 /* TranslateCanvasCmd.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 */; };
+		0115A6AB1DBF93BA00C51732 /* TextureConsumersWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A63F1DBF93BA00C51732 /* TextureConsumersWidget.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 */; };
+		0115A6C31DBF93BA00C51732 /* TerminalListener.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0115A6791DBF93BA00C51732 /* TerminalListener.cpp */; };
 		0130C9681CE65AA600911E17 /* README.md in Sources */ = {isa = PBXBuildFile; fileRef = 0130C90A1CE65AA600911E17 /* README.md */; };
 		0130C9691CE65AA600911E17 /* lz4.c in Sources */ = {isa = PBXBuildFile; fileRef = 0130C90D1CE65AA600911E17 /* lz4.c */; };
 		0130C96A1CE65AA600911E17 /* Base64Encoding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0130C92E1CE65AA600911E17 /* Base64Encoding.cpp */; };
@@ -36,79 +109,6 @@
 		0130C9821CE65AA600911E17 /* snappy-sinksource.cc in Sources */ = {isa = PBXBuildFile; fileRef = 0130C9491CE65AA600911E17 /* snappy-sinksource.cc */; };
 		0130C9831CE65AA600911E17 /* snappy-stubs-internal.cc in Sources */ = {isa = PBXBuildFile; fileRef = 0130C94B1CE65AA600911E17 /* snappy-stubs-internal.cc */; };
 		0130C9841CE65AA600911E17 /* snappy.cc in Sources */ = {isa = PBXBuildFile; fileRef = 0130C94E1CE65AA600911E17 /* snappy.cc */; };
-		0149F5B21DA81E36009CE165 /* Application.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5121DA81E36009CE165 /* Application.cpp */; };
-		0149F5B31DA81E36009CE165 /* ApplicationBaseMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5151DA81E36009CE165 /* ApplicationBaseMode.cpp */; };
-		0149F5B41DA81E36009CE165 /* PresentationMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5171DA81E36009CE165 /* PresentationMode.cpp */; };
-		0149F5B51DA81E36009CE165 /* ProjectionMappingMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5191DA81E36009CE165 /* ProjectionMappingMode.cpp */; };
-		0149F5B61DA81E36009CE165 /* SourceSelectionMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F51B1DA81E36009CE165 /* SourceSelectionMode.cpp */; };
-		0149F5B71DA81E36009CE165 /* TextureMappingMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F51D1DA81E36009CE165 /* TextureMappingMode.cpp */; };
-		0149F5B81DA81E36009CE165 /* SettingsLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F51F1DA81E36009CE165 /* SettingsLoader.cpp */; };
-		0149F5B91DA81E36009CE165 /* AddGridColCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5221DA81E36009CE165 /* AddGridColCmd.cpp */; };
-		0149F5BA1DA81E36009CE165 /* AddGridRowCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5241DA81E36009CE165 /* AddGridRowCmd.cpp */; };
-		0149F5BB1DA81E36009CE165 /* AddSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5261DA81E36009CE165 /* AddSurfaceCmd.cpp */; };
-		0149F5BC1DA81E36009CE165 /* ClearSurfacesCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5291DA81E36009CE165 /* ClearSurfacesCmd.cpp */; };
-		0149F5BD1DA81E36009CE165 /* CmdManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F52B1DA81E36009CE165 /* CmdManager.cpp */; };
-		0149F5BE1DA81E36009CE165 /* DeselectSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F52D1DA81E36009CE165 /* DeselectSurfaceCmd.cpp */; };
-		0149F5BF1DA81E36009CE165 /* DeselectTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F52F1DA81E36009CE165 /* DeselectTexCoordCmd.cpp */; };
-		0149F5C01DA81E36009CE165 /* DuplicateSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5311DA81E36009CE165 /* DuplicateSurfaceCmd.cpp */; };
-		0149F5C11DA81E36009CE165 /* MvAllTexCoordsCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5331DA81E36009CE165 /* MvAllTexCoordsCmd.cpp */; };
-		0149F5C21DA81E36009CE165 /* MvLayerDnCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5351DA81E36009CE165 /* MvLayerDnCmd.cpp */; };
-		0149F5C31DA81E36009CE165 /* MvLayerUpCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5371DA81E36009CE165 /* MvLayerUpCmd.cpp */; };
-		0149F5C41DA81E36009CE165 /* MvSelectionCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5391DA81E36009CE165 /* MvSelectionCmd.cpp */; };
-		0149F5C51DA81E36009CE165 /* MvSurfaceVertCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F53B1DA81E36009CE165 /* MvSurfaceVertCmd.cpp */; };
-		0149F5C61DA81E36009CE165 /* MvTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F53D1DA81E36009CE165 /* MvTexCoordCmd.cpp */; };
-		0149F5C71DA81E36009CE165 /* RmGridColCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F53F1DA81E36009CE165 /* RmGridColCmd.cpp */; };
-		0149F5C81DA81E36009CE165 /* RmGridRowCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5411DA81E36009CE165 /* RmGridRowCmd.cpp */; };
-		0149F5C91DA81E36009CE165 /* RmSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5431DA81E36009CE165 /* RmSurfaceCmd.cpp */; };
-		0149F5CA1DA81E36009CE165 /* ScaleSurfaceFromToCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5451DA81E36009CE165 /* ScaleSurfaceFromToCmd.cpp */; };
-		0149F5CB1DA81E36009CE165 /* SelNextSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5471DA81E36009CE165 /* SelNextSurfaceCmd.cpp */; };
-		0149F5CC1DA81E36009CE165 /* SelNextTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5491DA81E36009CE165 /* SelNextTexCoordCmd.cpp */; };
-		0149F5CD1DA81E36009CE165 /* SelNextVertexCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F54B1DA81E36009CE165 /* SelNextVertexCmd.cpp */; };
-		0149F5CE1DA81E36009CE165 /* SelPrevSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F54D1DA81E36009CE165 /* SelPrevSurfaceCmd.cpp */; };
-		0149F5CF1DA81E36009CE165 /* SelPrevTexCoordCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F54F1DA81E36009CE165 /* SelPrevTexCoordCmd.cpp */; };
-		0149F5D01DA81E36009CE165 /* SelPrevVertexCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5511DA81E36009CE165 /* SelPrevVertexCmd.cpp */; };
-		0149F5D11DA81E36009CE165 /* SelSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5531DA81E36009CE165 /* SelSurfaceCmd.cpp */; };
-		0149F5D21DA81E36009CE165 /* SelVertexCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5551DA81E36009CE165 /* SelVertexCmd.cpp */; };
-		0149F5D31DA81E36009CE165 /* SetActivePresetCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5571DA81E36009CE165 /* SetActivePresetCmd.cpp */; };
-		0149F5D41DA81E36009CE165 /* SetApplicationModeCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5591DA81E36009CE165 /* SetApplicationModeCmd.cpp */; };
-		0149F5D51DA81E36009CE165 /* SetNextSourceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F55B1DA81E36009CE165 /* SetNextSourceCmd.cpp */; };
-		0149F5D61DA81E36009CE165 /* SetSourceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F55D1DA81E36009CE165 /* SetSourceCmd.cpp */; };
-		0149F5D71DA81E36009CE165 /* SetTexMapDrawModeCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F55F1DA81E36009CE165 /* SetTexMapDrawModeCmd.cpp */; };
-		0149F5D81DA81E36009CE165 /* StartDragSurfaceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5611DA81E36009CE165 /* StartDragSurfaceCmd.cpp */; };
-		0149F5D91DA81E36009CE165 /* ToggleAnimatedSourceCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5631DA81E36009CE165 /* ToggleAnimatedSourceCmd.cpp */; };
-		0149F5DA1DA81E36009CE165 /* TogglePerspectiveCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5651DA81E36009CE165 /* TogglePerspectiveCmd.cpp */; };
-		0149F5DB1DA81E36009CE165 /* TranslateCanvasCmd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5671DA81E36009CE165 /* TranslateCanvasCmd.cpp */; };
-		0149F5DC1DA81E36009CE165 /* Gui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F56A1DA81E36009CE165 /* Gui.cpp */; };
-		0149F5DD1DA81E36009CE165 /* LayerPanelWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F56E1DA81E36009CE165 /* LayerPanelWidget.cpp */; };
-		0149F5DE1DA81E36009CE165 /* ProjectionEditorWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5701DA81E36009CE165 /* ProjectionEditorWidget.cpp */; };
-		0149F5DF1DA81E36009CE165 /* ScaleWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5721DA81E36009CE165 /* ScaleWidget.cpp */; };
-		0149F5E01DA81E36009CE165 /* SourcesEditorWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5741DA81E36009CE165 /* SourcesEditorWidget.cpp */; };
-		0149F5E11DA81E36009CE165 /* SurfaceHighlightWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5761DA81E36009CE165 /* SurfaceHighlightWidget.cpp */; };
-		0149F5E21DA81E36009CE165 /* TextureEditorWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5781DA81E36009CE165 /* TextureEditorWidget.cpp */; };
-		0149F5E31DA81E36009CE165 /* TextureHighlightWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F57A1DA81E36009CE165 /* TextureHighlightWidget.cpp */; };
-		0149F5E41DA81E36009CE165 /* Info.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F57D1DA81E36009CE165 /* Info.cpp */; };
-		0149F5E51DA81E36009CE165 /* DirectoryWatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5801DA81E36009CE165 /* DirectoryWatcher.cpp */; };
-		0149F5E61DA81E36009CE165 /* MediaServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5821DA81E36009CE165 /* MediaServer.cpp */; };
-		0149F5E71DA81E36009CE165 /* ofxPiMapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5841DA81E36009CE165 /* ofxPiMapper.cpp */; };
-		0149F5E81DA81E36009CE165 /* BaseSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5871DA81E36009CE165 /* BaseSource.cpp */; };
-		0149F5E91DA81E36009CE165 /* FboSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5891DA81E36009CE165 /* FboSource.cpp */; };
-		0149F5EA1DA81E36009CE165 /* ImageSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F58B1DA81E36009CE165 /* ImageSource.cpp */; };
-		0149F5EB1DA81E36009CE165 /* OMXPlayerCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F58D1DA81E36009CE165 /* OMXPlayerCache.cpp */; };
-		0149F5EC1DA81E36009CE165 /* VideoSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5901DA81E36009CE165 /* VideoSource.cpp */; };
-		0149F5ED1DA81E36009CE165 /* BaseSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5931DA81E36009CE165 /* BaseSurface.cpp */; };
-		0149F5EE1DA81E36009CE165 /* GridWarpSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5951DA81E36009CE165 /* GridWarpSurface.cpp */; };
-		0149F5EF1DA81E36009CE165 /* HexagonSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5971DA81E36009CE165 /* HexagonSurface.cpp */; };
-		0149F5F01DA81E36009CE165 /* QuadSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5991DA81E36009CE165 /* QuadSurface.cpp */; };
-		0149F5F11DA81E36009CE165 /* SurfaceFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F59B1DA81E36009CE165 /* SurfaceFactory.cpp */; };
-		0149F5F21DA81E36009CE165 /* SurfaceManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F59D1DA81E36009CE165 /* SurfaceManager.cpp */; };
-		0149F5F31DA81E36009CE165 /* SurfaceStack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F59F1DA81E36009CE165 /* SurfaceStack.cpp */; };
-		0149F5F41DA81E36009CE165 /* TriangleSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5A21DA81E36009CE165 /* TriangleSurface.cpp */; };
-		0149F5F51DA81E36009CE165 /* BaseJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5A51DA81E36009CE165 /* BaseJoint.cpp */; };
-		0149F5F61DA81E36009CE165 /* CircleJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5A71DA81E36009CE165 /* CircleJoint.cpp */; };
-		0149F5F71DA81E36009CE165 /* RadioList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5AB1DA81E36009CE165 /* RadioList.cpp */; };
-		0149F5F81DA81E36009CE165 /* HomographyHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5AE1DA81E36009CE165 /* HomographyHelper.cpp */; };
-		0149F5F91DA81E36009CE165 /* TerminalListener.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0149F5B01DA81E36009CE165 /* TerminalListener.cpp */; };
-		014EA2831DBA7F5400E37DCD /* TextureConsumersWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 014EA2821DBA7F5400E37DCD /* TextureConsumersWidget.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 */; };
@@ -174,6 +174,158 @@
 /* End PBXCopyFilesBuildPhase section */
 
 /* Begin PBXFileReference section */
+		0115A5D91DBF93BA00C51732 /* Application.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Application.cpp; sourceTree = "<group>"; };
+		0115A5DA1DBF93BA00C51732 /* Application.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Application.h; sourceTree = "<group>"; };
+		0115A5DC1DBF93BA00C51732 /* ApplicationBaseMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ApplicationBaseMode.cpp; sourceTree = "<group>"; };
+		0115A5DD1DBF93BA00C51732 /* ApplicationBaseMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ApplicationBaseMode.h; sourceTree = "<group>"; };
+		0115A5DE1DBF93BA00C51732 /* PresentationMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PresentationMode.cpp; sourceTree = "<group>"; };
+		0115A5DF1DBF93BA00C51732 /* PresentationMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PresentationMode.h; sourceTree = "<group>"; };
+		0115A5E01DBF93BA00C51732 /* ProjectionMappingMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ProjectionMappingMode.cpp; sourceTree = "<group>"; };
+		0115A5E11DBF93BA00C51732 /* ProjectionMappingMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProjectionMappingMode.h; sourceTree = "<group>"; };
+		0115A5E21DBF93BA00C51732 /* SourceSelectionMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SourceSelectionMode.cpp; sourceTree = "<group>"; };
+		0115A5E31DBF93BA00C51732 /* SourceSelectionMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SourceSelectionMode.h; sourceTree = "<group>"; };
+		0115A5E41DBF93BA00C51732 /* TextureMappingMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextureMappingMode.cpp; sourceTree = "<group>"; };
+		0115A5E51DBF93BA00C51732 /* TextureMappingMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextureMappingMode.h; sourceTree = "<group>"; };
+		0115A5E61DBF93BA00C51732 /* SettingsLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SettingsLoader.cpp; sourceTree = "<group>"; };
+		0115A5E71DBF93BA00C51732 /* SettingsLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SettingsLoader.h; sourceTree = "<group>"; };
+		0115A5E91DBF93BA00C51732 /* AddGridColCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AddGridColCmd.cpp; sourceTree = "<group>"; };
+		0115A5EA1DBF93BA00C51732 /* AddGridColCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AddGridColCmd.h; sourceTree = "<group>"; };
+		0115A5EB1DBF93BA00C51732 /* AddGridRowCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AddGridRowCmd.cpp; sourceTree = "<group>"; };
+		0115A5EC1DBF93BA00C51732 /* AddGridRowCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AddGridRowCmd.h; sourceTree = "<group>"; };
+		0115A5ED1DBF93BA00C51732 /* AddSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AddSurfaceCmd.cpp; sourceTree = "<group>"; };
+		0115A5EE1DBF93BA00C51732 /* AddSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AddSurfaceCmd.h; sourceTree = "<group>"; };
+		0115A5EF1DBF93BA00C51732 /* BaseCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseCmd.h; sourceTree = "<group>"; };
+		0115A5F01DBF93BA00C51732 /* ClearSurfacesCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ClearSurfacesCmd.cpp; sourceTree = "<group>"; };
+		0115A5F11DBF93BA00C51732 /* ClearSurfacesCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ClearSurfacesCmd.h; sourceTree = "<group>"; };
+		0115A5F21DBF93BA00C51732 /* CmdManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CmdManager.cpp; sourceTree = "<group>"; };
+		0115A5F31DBF93BA00C51732 /* CmdManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CmdManager.h; sourceTree = "<group>"; };
+		0115A5F41DBF93BA00C51732 /* DeselectSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeselectSurfaceCmd.cpp; sourceTree = "<group>"; };
+		0115A5F51DBF93BA00C51732 /* DeselectSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeselectSurfaceCmd.h; sourceTree = "<group>"; };
+		0115A5F61DBF93BA00C51732 /* DeselectTexCoordCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeselectTexCoordCmd.cpp; sourceTree = "<group>"; };
+		0115A5F71DBF93BA00C51732 /* DeselectTexCoordCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeselectTexCoordCmd.h; sourceTree = "<group>"; };
+		0115A5F81DBF93BA00C51732 /* DuplicateSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DuplicateSurfaceCmd.cpp; sourceTree = "<group>"; };
+		0115A5F91DBF93BA00C51732 /* DuplicateSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DuplicateSurfaceCmd.h; sourceTree = "<group>"; };
+		0115A5FA1DBF93BA00C51732 /* MvAllTexCoordsCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvAllTexCoordsCmd.cpp; sourceTree = "<group>"; };
+		0115A5FB1DBF93BA00C51732 /* MvAllTexCoordsCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvAllTexCoordsCmd.h; sourceTree = "<group>"; };
+		0115A5FC1DBF93BA00C51732 /* MvLayerDnCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvLayerDnCmd.cpp; sourceTree = "<group>"; };
+		0115A5FD1DBF93BA00C51732 /* MvLayerDnCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvLayerDnCmd.h; sourceTree = "<group>"; };
+		0115A5FE1DBF93BA00C51732 /* MvLayerUpCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvLayerUpCmd.cpp; sourceTree = "<group>"; };
+		0115A5FF1DBF93BA00C51732 /* MvLayerUpCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvLayerUpCmd.h; sourceTree = "<group>"; };
+		0115A6001DBF93BA00C51732 /* MvSelectionCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvSelectionCmd.cpp; sourceTree = "<group>"; };
+		0115A6011DBF93BA00C51732 /* MvSelectionCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvSelectionCmd.h; sourceTree = "<group>"; };
+		0115A6021DBF93BA00C51732 /* MvSurfaceVertCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvSurfaceVertCmd.cpp; sourceTree = "<group>"; };
+		0115A6031DBF93BA00C51732 /* MvSurfaceVertCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvSurfaceVertCmd.h; sourceTree = "<group>"; };
+		0115A6041DBF93BA00C51732 /* MvTexCoordCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvTexCoordCmd.cpp; sourceTree = "<group>"; };
+		0115A6051DBF93BA00C51732 /* MvTexCoordCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvTexCoordCmd.h; sourceTree = "<group>"; };
+		0115A6061DBF93BA00C51732 /* RmGridColCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RmGridColCmd.cpp; sourceTree = "<group>"; };
+		0115A6071DBF93BA00C51732 /* RmGridColCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RmGridColCmd.h; sourceTree = "<group>"; };
+		0115A6081DBF93BA00C51732 /* RmGridRowCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RmGridRowCmd.cpp; sourceTree = "<group>"; };
+		0115A6091DBF93BA00C51732 /* RmGridRowCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RmGridRowCmd.h; sourceTree = "<group>"; };
+		0115A60A1DBF93BA00C51732 /* RmSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RmSurfaceCmd.cpp; sourceTree = "<group>"; };
+		0115A60B1DBF93BA00C51732 /* RmSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RmSurfaceCmd.h; sourceTree = "<group>"; };
+		0115A60C1DBF93BA00C51732 /* ScaleSurfaceFromToCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScaleSurfaceFromToCmd.cpp; sourceTree = "<group>"; };
+		0115A60D1DBF93BA00C51732 /* ScaleSurfaceFromToCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScaleSurfaceFromToCmd.h; sourceTree = "<group>"; };
+		0115A60E1DBF93BA00C51732 /* SelNextSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelNextSurfaceCmd.cpp; sourceTree = "<group>"; };
+		0115A60F1DBF93BA00C51732 /* SelNextSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelNextSurfaceCmd.h; sourceTree = "<group>"; };
+		0115A6101DBF93BA00C51732 /* SelNextTexCoordCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelNextTexCoordCmd.cpp; sourceTree = "<group>"; };
+		0115A6111DBF93BA00C51732 /* SelNextTexCoordCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelNextTexCoordCmd.h; sourceTree = "<group>"; };
+		0115A6121DBF93BA00C51732 /* SelNextVertexCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelNextVertexCmd.cpp; sourceTree = "<group>"; };
+		0115A6131DBF93BA00C51732 /* SelNextVertexCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelNextVertexCmd.h; sourceTree = "<group>"; };
+		0115A6141DBF93BA00C51732 /* SelPrevSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelPrevSurfaceCmd.cpp; sourceTree = "<group>"; };
+		0115A6151DBF93BA00C51732 /* SelPrevSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelPrevSurfaceCmd.h; sourceTree = "<group>"; };
+		0115A6161DBF93BA00C51732 /* SelPrevTexCoordCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelPrevTexCoordCmd.cpp; sourceTree = "<group>"; };
+		0115A6171DBF93BA00C51732 /* SelPrevTexCoordCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelPrevTexCoordCmd.h; sourceTree = "<group>"; };
+		0115A6181DBF93BA00C51732 /* SelPrevVertexCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelPrevVertexCmd.cpp; sourceTree = "<group>"; };
+		0115A6191DBF93BA00C51732 /* SelPrevVertexCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelPrevVertexCmd.h; sourceTree = "<group>"; };
+		0115A61A1DBF93BA00C51732 /* SelSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelSurfaceCmd.cpp; sourceTree = "<group>"; };
+		0115A61B1DBF93BA00C51732 /* SelSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelSurfaceCmd.h; sourceTree = "<group>"; };
+		0115A61C1DBF93BA00C51732 /* SelVertexCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelVertexCmd.cpp; sourceTree = "<group>"; };
+		0115A61D1DBF93BA00C51732 /* SelVertexCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelVertexCmd.h; sourceTree = "<group>"; };
+		0115A61E1DBF93BA00C51732 /* SetApplicationModeCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetApplicationModeCmd.cpp; sourceTree = "<group>"; };
+		0115A61F1DBF93BA00C51732 /* SetApplicationModeCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetApplicationModeCmd.h; sourceTree = "<group>"; };
+		0115A6201DBF93BA00C51732 /* SetNextSourceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetNextSourceCmd.cpp; sourceTree = "<group>"; };
+		0115A6211DBF93BA00C51732 /* SetNextSourceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetNextSourceCmd.h; sourceTree = "<group>"; };
+		0115A6221DBF93BA00C51732 /* SetPresetCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetPresetCmd.cpp; sourceTree = "<group>"; };
+		0115A6231DBF93BA00C51732 /* SetPresetCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetPresetCmd.h; sourceTree = "<group>"; };
+		0115A6241DBF93BA00C51732 /* SetSourceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetSourceCmd.cpp; sourceTree = "<group>"; };
+		0115A6251DBF93BA00C51732 /* SetSourceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetSourceCmd.h; sourceTree = "<group>"; };
+		0115A6261DBF93BA00C51732 /* SetTexMapDrawModeCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetTexMapDrawModeCmd.cpp; sourceTree = "<group>"; };
+		0115A6271DBF93BA00C51732 /* SetTexMapDrawModeCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetTexMapDrawModeCmd.h; sourceTree = "<group>"; };
+		0115A6281DBF93BA00C51732 /* StartDragSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StartDragSurfaceCmd.cpp; sourceTree = "<group>"; };
+		0115A6291DBF93BA00C51732 /* StartDragSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StartDragSurfaceCmd.h; sourceTree = "<group>"; };
+		0115A62A1DBF93BA00C51732 /* ToggleAnimatedSourceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ToggleAnimatedSourceCmd.cpp; sourceTree = "<group>"; };
+		0115A62B1DBF93BA00C51732 /* ToggleAnimatedSourceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ToggleAnimatedSourceCmd.h; sourceTree = "<group>"; };
+		0115A62C1DBF93BA00C51732 /* TogglePerspectiveCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TogglePerspectiveCmd.cpp; sourceTree = "<group>"; };
+		0115A62D1DBF93BA00C51732 /* TogglePerspectiveCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TogglePerspectiveCmd.h; sourceTree = "<group>"; };
+		0115A62E1DBF93BA00C51732 /* TranslateCanvasCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TranslateCanvasCmd.cpp; sourceTree = "<group>"; };
+		0115A62F1DBF93BA00C51732 /* TranslateCanvasCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TranslateCanvasCmd.h; sourceTree = "<group>"; };
+		0115A6311DBF93BA00C51732 /* Gui.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Gui.cpp; sourceTree = "<group>"; };
+		0115A6321DBF93BA00C51732 /* Gui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Gui.h; sourceTree = "<group>"; };
+		0115A6341DBF93BA00C51732 /* GuiBaseWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GuiBaseWidget.h; sourceTree = "<group>"; };
+		0115A6351DBF93BA00C51732 /* LayerPanelWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LayerPanelWidget.cpp; sourceTree = "<group>"; };
+		0115A6361DBF93BA00C51732 /* LayerPanelWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LayerPanelWidget.h; sourceTree = "<group>"; };
+		0115A6371DBF93BA00C51732 /* ProjectionEditorWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ProjectionEditorWidget.cpp; sourceTree = "<group>"; };
+		0115A6381DBF93BA00C51732 /* ProjectionEditorWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProjectionEditorWidget.h; sourceTree = "<group>"; };
+		0115A6391DBF93BA00C51732 /* ScaleWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScaleWidget.cpp; sourceTree = "<group>"; };
+		0115A63A1DBF93BA00C51732 /* ScaleWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScaleWidget.h; sourceTree = "<group>"; };
+		0115A63B1DBF93BA00C51732 /* SourcesEditorWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SourcesEditorWidget.cpp; sourceTree = "<group>"; };
+		0115A63C1DBF93BA00C51732 /* SourcesEditorWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SourcesEditorWidget.h; sourceTree = "<group>"; };
+		0115A63D1DBF93BA00C51732 /* SurfaceHighlightWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceHighlightWidget.cpp; sourceTree = "<group>"; };
+		0115A63E1DBF93BA00C51732 /* SurfaceHighlightWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurfaceHighlightWidget.h; sourceTree = "<group>"; };
+		0115A63F1DBF93BA00C51732 /* TextureConsumersWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextureConsumersWidget.cpp; sourceTree = "<group>"; };
+		0115A6401DBF93BA00C51732 /* TextureConsumersWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextureConsumersWidget.h; sourceTree = "<group>"; };
+		0115A6411DBF93BA00C51732 /* TextureEditorWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextureEditorWidget.cpp; sourceTree = "<group>"; };
+		0115A6421DBF93BA00C51732 /* TextureEditorWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextureEditorWidget.h; sourceTree = "<group>"; };
+		0115A6431DBF93BA00C51732 /* TextureHighlightWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextureHighlightWidget.cpp; sourceTree = "<group>"; };
+		0115A6441DBF93BA00C51732 /* TextureHighlightWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextureHighlightWidget.h; sourceTree = "<group>"; };
+		0115A6461DBF93BA00C51732 /* Info.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Info.cpp; sourceTree = "<group>"; };
+		0115A6471DBF93BA00C51732 /* Info.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Info.h; sourceTree = "<group>"; };
+		0115A6491DBF93BA00C51732 /* DirectoryWatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DirectoryWatcher.cpp; sourceTree = "<group>"; };
+		0115A64A1DBF93BA00C51732 /* DirectoryWatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DirectoryWatcher.h; sourceTree = "<group>"; };
+		0115A64B1DBF93BA00C51732 /* MediaServer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaServer.cpp; sourceTree = "<group>"; };
+		0115A64C1DBF93BA00C51732 /* MediaServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaServer.h; sourceTree = "<group>"; };
+		0115A64D1DBF93BA00C51732 /* ofxPiMapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxPiMapper.cpp; sourceTree = "<group>"; };
+		0115A64E1DBF93BA00C51732 /* ofxPiMapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxPiMapper.h; sourceTree = "<group>"; };
+		0115A6501DBF93BA00C51732 /* BaseSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BaseSource.cpp; sourceTree = "<group>"; };
+		0115A6511DBF93BA00C51732 /* BaseSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseSource.h; sourceTree = "<group>"; };
+		0115A6521DBF93BA00C51732 /* FboSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FboSource.cpp; sourceTree = "<group>"; };
+		0115A6531DBF93BA00C51732 /* FboSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FboSource.h; sourceTree = "<group>"; };
+		0115A6541DBF93BA00C51732 /* ImageSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageSource.cpp; sourceTree = "<group>"; };
+		0115A6551DBF93BA00C51732 /* ImageSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageSource.h; sourceTree = "<group>"; };
+		0115A6561DBF93BA00C51732 /* OMXPlayerCache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OMXPlayerCache.cpp; sourceTree = "<group>"; };
+		0115A6571DBF93BA00C51732 /* OMXPlayerCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OMXPlayerCache.h; sourceTree = "<group>"; };
+		0115A6581DBF93BA00C51732 /* SourceType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SourceType.h; sourceTree = "<group>"; };
+		0115A6591DBF93BA00C51732 /* VideoSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VideoSource.cpp; sourceTree = "<group>"; };
+		0115A65A1DBF93BA00C51732 /* VideoSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VideoSource.h; sourceTree = "<group>"; };
+		0115A65C1DBF93BA00C51732 /* BaseSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BaseSurface.cpp; sourceTree = "<group>"; };
+		0115A65D1DBF93BA00C51732 /* BaseSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseSurface.h; sourceTree = "<group>"; };
+		0115A65E1DBF93BA00C51732 /* GridWarpSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GridWarpSurface.cpp; sourceTree = "<group>"; };
+		0115A65F1DBF93BA00C51732 /* GridWarpSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GridWarpSurface.h; sourceTree = "<group>"; };
+		0115A6601DBF93BA00C51732 /* HexagonSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HexagonSurface.cpp; sourceTree = "<group>"; };
+		0115A6611DBF93BA00C51732 /* HexagonSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HexagonSurface.h; sourceTree = "<group>"; };
+		0115A6621DBF93BA00C51732 /* QuadSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = QuadSurface.cpp; sourceTree = "<group>"; };
+		0115A6631DBF93BA00C51732 /* QuadSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QuadSurface.h; sourceTree = "<group>"; };
+		0115A6641DBF93BA00C51732 /* SurfaceFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceFactory.cpp; sourceTree = "<group>"; };
+		0115A6651DBF93BA00C51732 /* SurfaceFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurfaceFactory.h; sourceTree = "<group>"; };
+		0115A6661DBF93BA00C51732 /* SurfaceManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceManager.cpp; sourceTree = "<group>"; };
+		0115A6671DBF93BA00C51732 /* SurfaceManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurfaceManager.h; sourceTree = "<group>"; };
+		0115A6681DBF93BA00C51732 /* SurfaceStack.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceStack.cpp; sourceTree = "<group>"; };
+		0115A6691DBF93BA00C51732 /* SurfaceStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurfaceStack.h; sourceTree = "<group>"; };
+		0115A66A1DBF93BA00C51732 /* SurfaceType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurfaceType.h; sourceTree = "<group>"; };
+		0115A66B1DBF93BA00C51732 /* TriangleSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TriangleSurface.cpp; sourceTree = "<group>"; };
+		0115A66C1DBF93BA00C51732 /* TriangleSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TriangleSurface.h; sourceTree = "<group>"; };
+		0115A66E1DBF93BA00C51732 /* BaseJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BaseJoint.cpp; sourceTree = "<group>"; };
+		0115A66F1DBF93BA00C51732 /* BaseJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseJoint.h; sourceTree = "<group>"; };
+		0115A6701DBF93BA00C51732 /* CircleJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CircleJoint.cpp; sourceTree = "<group>"; };
+		0115A6711DBF93BA00C51732 /* CircleJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CircleJoint.h; sourceTree = "<group>"; };
+		0115A6721DBF93BA00C51732 /* EditorType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EditorType.h; sourceTree = "<group>"; };
+		0115A6731DBF93BA00C51732 /* GuiMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GuiMode.h; sourceTree = "<group>"; };
+		0115A6741DBF93BA00C51732 /* RadioList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RadioList.cpp; sourceTree = "<group>"; };
+		0115A6751DBF93BA00C51732 /* RadioList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RadioList.h; sourceTree = "<group>"; };
+		0115A6771DBF93BA00C51732 /* HomographyHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HomographyHelper.cpp; sourceTree = "<group>"; };
+		0115A6781DBF93BA00C51732 /* HomographyHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomographyHelper.h; sourceTree = "<group>"; };
+		0115A6791DBF93BA00C51732 /* TerminalListener.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TerminalListener.cpp; sourceTree = "<group>"; };
+		0115A67A1DBF93BA00C51732 /* TerminalListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TerminalListener.h; sourceTree = "<group>"; };
 		0130C9041CE65AA600911E17 /* alphanum.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = alphanum.hpp; sourceTree = "<group>"; };
 		0130C9071CE65AA600911E17 /* json.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = json.hpp; sourceTree = "<group>"; };
 		0130C9091CE65AA600911E17 /* LICENSE.MIT */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE.MIT; sourceTree = "<group>"; };
@@ -239,158 +391,6 @@
 		0130C94E1CE65AA600911E17 /* snappy.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = snappy.cc; sourceTree = "<group>"; };
 		0130C94F1CE65AA600911E17 /* snappy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = snappy.h; sourceTree = "<group>"; };
 		0130C95B1CE65AA600911E17 /* ofxIO.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxIO.h; sourceTree = "<group>"; };
-		0149F5121DA81E36009CE165 /* Application.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Application.cpp; sourceTree = "<group>"; };
-		0149F5131DA81E36009CE165 /* Application.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Application.h; sourceTree = "<group>"; };
-		0149F5151DA81E36009CE165 /* ApplicationBaseMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ApplicationBaseMode.cpp; sourceTree = "<group>"; };
-		0149F5161DA81E36009CE165 /* ApplicationBaseMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ApplicationBaseMode.h; sourceTree = "<group>"; };
-		0149F5171DA81E36009CE165 /* PresentationMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PresentationMode.cpp; sourceTree = "<group>"; };
-		0149F5181DA81E36009CE165 /* PresentationMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PresentationMode.h; sourceTree = "<group>"; };
-		0149F5191DA81E36009CE165 /* ProjectionMappingMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ProjectionMappingMode.cpp; sourceTree = "<group>"; };
-		0149F51A1DA81E36009CE165 /* ProjectionMappingMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProjectionMappingMode.h; sourceTree = "<group>"; };
-		0149F51B1DA81E36009CE165 /* SourceSelectionMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SourceSelectionMode.cpp; sourceTree = "<group>"; };
-		0149F51C1DA81E36009CE165 /* SourceSelectionMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SourceSelectionMode.h; sourceTree = "<group>"; };
-		0149F51D1DA81E36009CE165 /* TextureMappingMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextureMappingMode.cpp; sourceTree = "<group>"; };
-		0149F51E1DA81E36009CE165 /* TextureMappingMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextureMappingMode.h; sourceTree = "<group>"; };
-		0149F51F1DA81E36009CE165 /* SettingsLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SettingsLoader.cpp; sourceTree = "<group>"; };
-		0149F5201DA81E36009CE165 /* SettingsLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SettingsLoader.h; sourceTree = "<group>"; };
-		0149F5221DA81E36009CE165 /* AddGridColCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AddGridColCmd.cpp; sourceTree = "<group>"; };
-		0149F5231DA81E36009CE165 /* AddGridColCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AddGridColCmd.h; sourceTree = "<group>"; };
-		0149F5241DA81E36009CE165 /* AddGridRowCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AddGridRowCmd.cpp; sourceTree = "<group>"; };
-		0149F5251DA81E36009CE165 /* AddGridRowCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AddGridRowCmd.h; sourceTree = "<group>"; };
-		0149F5261DA81E36009CE165 /* AddSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AddSurfaceCmd.cpp; sourceTree = "<group>"; };
-		0149F5271DA81E36009CE165 /* AddSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AddSurfaceCmd.h; sourceTree = "<group>"; };
-		0149F5281DA81E36009CE165 /* BaseCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseCmd.h; sourceTree = "<group>"; };
-		0149F5291DA81E36009CE165 /* ClearSurfacesCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ClearSurfacesCmd.cpp; sourceTree = "<group>"; };
-		0149F52A1DA81E36009CE165 /* ClearSurfacesCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ClearSurfacesCmd.h; sourceTree = "<group>"; };
-		0149F52B1DA81E36009CE165 /* CmdManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CmdManager.cpp; sourceTree = "<group>"; };
-		0149F52C1DA81E36009CE165 /* CmdManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CmdManager.h; sourceTree = "<group>"; };
-		0149F52D1DA81E36009CE165 /* DeselectSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeselectSurfaceCmd.cpp; sourceTree = "<group>"; };
-		0149F52E1DA81E36009CE165 /* DeselectSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeselectSurfaceCmd.h; sourceTree = "<group>"; };
-		0149F52F1DA81E36009CE165 /* DeselectTexCoordCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeselectTexCoordCmd.cpp; sourceTree = "<group>"; };
-		0149F5301DA81E36009CE165 /* DeselectTexCoordCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeselectTexCoordCmd.h; sourceTree = "<group>"; };
-		0149F5311DA81E36009CE165 /* DuplicateSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DuplicateSurfaceCmd.cpp; sourceTree = "<group>"; };
-		0149F5321DA81E36009CE165 /* DuplicateSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DuplicateSurfaceCmd.h; sourceTree = "<group>"; };
-		0149F5331DA81E36009CE165 /* MvAllTexCoordsCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvAllTexCoordsCmd.cpp; sourceTree = "<group>"; };
-		0149F5341DA81E36009CE165 /* MvAllTexCoordsCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvAllTexCoordsCmd.h; sourceTree = "<group>"; };
-		0149F5351DA81E36009CE165 /* MvLayerDnCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvLayerDnCmd.cpp; sourceTree = "<group>"; };
-		0149F5361DA81E36009CE165 /* MvLayerDnCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvLayerDnCmd.h; sourceTree = "<group>"; };
-		0149F5371DA81E36009CE165 /* MvLayerUpCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvLayerUpCmd.cpp; sourceTree = "<group>"; };
-		0149F5381DA81E36009CE165 /* MvLayerUpCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvLayerUpCmd.h; sourceTree = "<group>"; };
-		0149F5391DA81E36009CE165 /* MvSelectionCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvSelectionCmd.cpp; sourceTree = "<group>"; };
-		0149F53A1DA81E36009CE165 /* MvSelectionCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvSelectionCmd.h; sourceTree = "<group>"; };
-		0149F53B1DA81E36009CE165 /* MvSurfaceVertCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvSurfaceVertCmd.cpp; sourceTree = "<group>"; };
-		0149F53C1DA81E36009CE165 /* MvSurfaceVertCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvSurfaceVertCmd.h; sourceTree = "<group>"; };
-		0149F53D1DA81E36009CE165 /* MvTexCoordCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MvTexCoordCmd.cpp; sourceTree = "<group>"; };
-		0149F53E1DA81E36009CE165 /* MvTexCoordCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MvTexCoordCmd.h; sourceTree = "<group>"; };
-		0149F53F1DA81E36009CE165 /* RmGridColCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RmGridColCmd.cpp; sourceTree = "<group>"; };
-		0149F5401DA81E36009CE165 /* RmGridColCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RmGridColCmd.h; sourceTree = "<group>"; };
-		0149F5411DA81E36009CE165 /* RmGridRowCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RmGridRowCmd.cpp; sourceTree = "<group>"; };
-		0149F5421DA81E36009CE165 /* RmGridRowCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RmGridRowCmd.h; sourceTree = "<group>"; };
-		0149F5431DA81E36009CE165 /* RmSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RmSurfaceCmd.cpp; sourceTree = "<group>"; };
-		0149F5441DA81E36009CE165 /* RmSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RmSurfaceCmd.h; sourceTree = "<group>"; };
-		0149F5451DA81E36009CE165 /* ScaleSurfaceFromToCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScaleSurfaceFromToCmd.cpp; sourceTree = "<group>"; };
-		0149F5461DA81E36009CE165 /* ScaleSurfaceFromToCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScaleSurfaceFromToCmd.h; sourceTree = "<group>"; };
-		0149F5471DA81E36009CE165 /* SelNextSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelNextSurfaceCmd.cpp; sourceTree = "<group>"; };
-		0149F5481DA81E36009CE165 /* SelNextSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelNextSurfaceCmd.h; sourceTree = "<group>"; };
-		0149F5491DA81E36009CE165 /* SelNextTexCoordCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelNextTexCoordCmd.cpp; sourceTree = "<group>"; };
-		0149F54A1DA81E36009CE165 /* SelNextTexCoordCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelNextTexCoordCmd.h; sourceTree = "<group>"; };
-		0149F54B1DA81E36009CE165 /* SelNextVertexCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelNextVertexCmd.cpp; sourceTree = "<group>"; };
-		0149F54C1DA81E36009CE165 /* SelNextVertexCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelNextVertexCmd.h; sourceTree = "<group>"; };
-		0149F54D1DA81E36009CE165 /* SelPrevSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelPrevSurfaceCmd.cpp; sourceTree = "<group>"; };
-		0149F54E1DA81E36009CE165 /* SelPrevSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelPrevSurfaceCmd.h; sourceTree = "<group>"; };
-		0149F54F1DA81E36009CE165 /* SelPrevTexCoordCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelPrevTexCoordCmd.cpp; sourceTree = "<group>"; };
-		0149F5501DA81E36009CE165 /* SelPrevTexCoordCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelPrevTexCoordCmd.h; sourceTree = "<group>"; };
-		0149F5511DA81E36009CE165 /* SelPrevVertexCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelPrevVertexCmd.cpp; sourceTree = "<group>"; };
-		0149F5521DA81E36009CE165 /* SelPrevVertexCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelPrevVertexCmd.h; sourceTree = "<group>"; };
-		0149F5531DA81E36009CE165 /* SelSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelSurfaceCmd.cpp; sourceTree = "<group>"; };
-		0149F5541DA81E36009CE165 /* SelSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelSurfaceCmd.h; sourceTree = "<group>"; };
-		0149F5551DA81E36009CE165 /* SelVertexCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelVertexCmd.cpp; sourceTree = "<group>"; };
-		0149F5561DA81E36009CE165 /* SelVertexCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelVertexCmd.h; sourceTree = "<group>"; };
-		0149F5571DA81E36009CE165 /* SetActivePresetCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetActivePresetCmd.cpp; sourceTree = "<group>"; };
-		0149F5581DA81E36009CE165 /* SetActivePresetCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetActivePresetCmd.h; sourceTree = "<group>"; };
-		0149F5591DA81E36009CE165 /* SetApplicationModeCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetApplicationModeCmd.cpp; sourceTree = "<group>"; };
-		0149F55A1DA81E36009CE165 /* SetApplicationModeCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetApplicationModeCmd.h; sourceTree = "<group>"; };
-		0149F55B1DA81E36009CE165 /* SetNextSourceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetNextSourceCmd.cpp; sourceTree = "<group>"; };
-		0149F55C1DA81E36009CE165 /* SetNextSourceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetNextSourceCmd.h; sourceTree = "<group>"; };
-		0149F55D1DA81E36009CE165 /* SetSourceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetSourceCmd.cpp; sourceTree = "<group>"; };
-		0149F55E1DA81E36009CE165 /* SetSourceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetSourceCmd.h; sourceTree = "<group>"; };
-		0149F55F1DA81E36009CE165 /* SetTexMapDrawModeCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SetTexMapDrawModeCmd.cpp; sourceTree = "<group>"; };
-		0149F5601DA81E36009CE165 /* SetTexMapDrawModeCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetTexMapDrawModeCmd.h; sourceTree = "<group>"; };
-		0149F5611DA81E36009CE165 /* StartDragSurfaceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StartDragSurfaceCmd.cpp; sourceTree = "<group>"; };
-		0149F5621DA81E36009CE165 /* StartDragSurfaceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StartDragSurfaceCmd.h; sourceTree = "<group>"; };
-		0149F5631DA81E36009CE165 /* ToggleAnimatedSourceCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ToggleAnimatedSourceCmd.cpp; sourceTree = "<group>"; };
-		0149F5641DA81E36009CE165 /* ToggleAnimatedSourceCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ToggleAnimatedSourceCmd.h; sourceTree = "<group>"; };
-		0149F5651DA81E36009CE165 /* TogglePerspectiveCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TogglePerspectiveCmd.cpp; sourceTree = "<group>"; };
-		0149F5661DA81E36009CE165 /* TogglePerspectiveCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TogglePerspectiveCmd.h; sourceTree = "<group>"; };
-		0149F5671DA81E36009CE165 /* TranslateCanvasCmd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TranslateCanvasCmd.cpp; sourceTree = "<group>"; };
-		0149F5681DA81E36009CE165 /* TranslateCanvasCmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TranslateCanvasCmd.h; sourceTree = "<group>"; };
-		0149F56A1DA81E36009CE165 /* Gui.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Gui.cpp; sourceTree = "<group>"; };
-		0149F56B1DA81E36009CE165 /* Gui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Gui.h; sourceTree = "<group>"; };
-		0149F56D1DA81E36009CE165 /* GuiBaseWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GuiBaseWidget.h; sourceTree = "<group>"; };
-		0149F56E1DA81E36009CE165 /* LayerPanelWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LayerPanelWidget.cpp; sourceTree = "<group>"; };
-		0149F56F1DA81E36009CE165 /* LayerPanelWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LayerPanelWidget.h; sourceTree = "<group>"; };
-		0149F5701DA81E36009CE165 /* ProjectionEditorWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ProjectionEditorWidget.cpp; sourceTree = "<group>"; };
-		0149F5711DA81E36009CE165 /* ProjectionEditorWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProjectionEditorWidget.h; sourceTree = "<group>"; };
-		0149F5721DA81E36009CE165 /* ScaleWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScaleWidget.cpp; sourceTree = "<group>"; };
-		0149F5731DA81E36009CE165 /* ScaleWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScaleWidget.h; sourceTree = "<group>"; };
-		0149F5741DA81E36009CE165 /* SourcesEditorWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SourcesEditorWidget.cpp; sourceTree = "<group>"; };
-		0149F5751DA81E36009CE165 /* SourcesEditorWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SourcesEditorWidget.h; sourceTree = "<group>"; };
-		0149F5761DA81E36009CE165 /* SurfaceHighlightWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceHighlightWidget.cpp; sourceTree = "<group>"; };
-		0149F5771DA81E36009CE165 /* SurfaceHighlightWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurfaceHighlightWidget.h; sourceTree = "<group>"; };
-		0149F5781DA81E36009CE165 /* TextureEditorWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextureEditorWidget.cpp; sourceTree = "<group>"; };
-		0149F5791DA81E36009CE165 /* TextureEditorWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextureEditorWidget.h; sourceTree = "<group>"; };
-		0149F57A1DA81E36009CE165 /* TextureHighlightWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextureHighlightWidget.cpp; sourceTree = "<group>"; };
-		0149F57B1DA81E36009CE165 /* TextureHighlightWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextureHighlightWidget.h; sourceTree = "<group>"; };
-		0149F57D1DA81E36009CE165 /* Info.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Info.cpp; sourceTree = "<group>"; };
-		0149F57E1DA81E36009CE165 /* Info.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Info.h; sourceTree = "<group>"; };
-		0149F5801DA81E36009CE165 /* DirectoryWatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DirectoryWatcher.cpp; sourceTree = "<group>"; };
-		0149F5811DA81E36009CE165 /* DirectoryWatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DirectoryWatcher.h; sourceTree = "<group>"; };
-		0149F5821DA81E36009CE165 /* MediaServer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaServer.cpp; sourceTree = "<group>"; };
-		0149F5831DA81E36009CE165 /* MediaServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaServer.h; sourceTree = "<group>"; };
-		0149F5841DA81E36009CE165 /* ofxPiMapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxPiMapper.cpp; sourceTree = "<group>"; };
-		0149F5851DA81E36009CE165 /* ofxPiMapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxPiMapper.h; sourceTree = "<group>"; };
-		0149F5871DA81E36009CE165 /* BaseSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BaseSource.cpp; sourceTree = "<group>"; };
-		0149F5881DA81E36009CE165 /* BaseSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseSource.h; sourceTree = "<group>"; };
-		0149F5891DA81E36009CE165 /* FboSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FboSource.cpp; sourceTree = "<group>"; };
-		0149F58A1DA81E36009CE165 /* FboSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FboSource.h; sourceTree = "<group>"; };
-		0149F58B1DA81E36009CE165 /* ImageSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageSource.cpp; sourceTree = "<group>"; };
-		0149F58C1DA81E36009CE165 /* ImageSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageSource.h; sourceTree = "<group>"; };
-		0149F58D1DA81E36009CE165 /* OMXPlayerCache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OMXPlayerCache.cpp; sourceTree = "<group>"; };
-		0149F58E1DA81E36009CE165 /* OMXPlayerCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OMXPlayerCache.h; sourceTree = "<group>"; };
-		0149F58F1DA81E36009CE165 /* SourceType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SourceType.h; sourceTree = "<group>"; };
-		0149F5901DA81E36009CE165 /* VideoSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VideoSource.cpp; sourceTree = "<group>"; };
-		0149F5911DA81E36009CE165 /* VideoSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VideoSource.h; sourceTree = "<group>"; };
-		0149F5931DA81E36009CE165 /* BaseSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BaseSurface.cpp; sourceTree = "<group>"; };
-		0149F5941DA81E36009CE165 /* BaseSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseSurface.h; sourceTree = "<group>"; };
-		0149F5951DA81E36009CE165 /* GridWarpSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GridWarpSurface.cpp; sourceTree = "<group>"; };
-		0149F5961DA81E36009CE165 /* GridWarpSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GridWarpSurface.h; sourceTree = "<group>"; };
-		0149F5971DA81E36009CE165 /* HexagonSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HexagonSurface.cpp; sourceTree = "<group>"; };
-		0149F5981DA81E36009CE165 /* HexagonSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HexagonSurface.h; sourceTree = "<group>"; };
-		0149F5991DA81E36009CE165 /* QuadSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = QuadSurface.cpp; sourceTree = "<group>"; };
-		0149F59A1DA81E36009CE165 /* QuadSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QuadSurface.h; sourceTree = "<group>"; };
-		0149F59B1DA81E36009CE165 /* SurfaceFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceFactory.cpp; sourceTree = "<group>"; };
-		0149F59C1DA81E36009CE165 /* SurfaceFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurfaceFactory.h; sourceTree = "<group>"; };
-		0149F59D1DA81E36009CE165 /* SurfaceManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceManager.cpp; sourceTree = "<group>"; };
-		0149F59E1DA81E36009CE165 /* SurfaceManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurfaceManager.h; sourceTree = "<group>"; };
-		0149F59F1DA81E36009CE165 /* SurfaceStack.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SurfaceStack.cpp; sourceTree = "<group>"; };
-		0149F5A01DA81E36009CE165 /* SurfaceStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurfaceStack.h; sourceTree = "<group>"; };
-		0149F5A11DA81E36009CE165 /* SurfaceType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SurfaceType.h; sourceTree = "<group>"; };
-		0149F5A21DA81E36009CE165 /* TriangleSurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TriangleSurface.cpp; sourceTree = "<group>"; };
-		0149F5A31DA81E36009CE165 /* TriangleSurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TriangleSurface.h; sourceTree = "<group>"; };
-		0149F5A51DA81E36009CE165 /* BaseJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BaseJoint.cpp; sourceTree = "<group>"; };
-		0149F5A61DA81E36009CE165 /* BaseJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseJoint.h; sourceTree = "<group>"; };
-		0149F5A71DA81E36009CE165 /* CircleJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CircleJoint.cpp; sourceTree = "<group>"; };
-		0149F5A81DA81E36009CE165 /* CircleJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CircleJoint.h; sourceTree = "<group>"; };
-		0149F5A91DA81E36009CE165 /* EditorType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EditorType.h; sourceTree = "<group>"; };
-		0149F5AA1DA81E36009CE165 /* GuiMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GuiMode.h; sourceTree = "<group>"; };
-		0149F5AB1DA81E36009CE165 /* RadioList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RadioList.cpp; sourceTree = "<group>"; };
-		0149F5AC1DA81E36009CE165 /* RadioList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RadioList.h; sourceTree = "<group>"; };
-		0149F5AE1DA81E36009CE165 /* HomographyHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HomographyHelper.cpp; sourceTree = "<group>"; };
-		0149F5AF1DA81E36009CE165 /* HomographyHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomographyHelper.h; sourceTree = "<group>"; };
-		0149F5B01DA81E36009CE165 /* TerminalListener.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TerminalListener.cpp; sourceTree = "<group>"; };
-		0149F5B11DA81E36009CE165 /* TerminalListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TerminalListener.h; sourceTree = "<group>"; };
-		014EA2811DBA7F5400E37DCD /* TextureConsumersWidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextureConsumersWidget.h; sourceTree = "<group>"; };
-		014EA2821DBA7F5400E37DCD /* TextureConsumersWidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextureConsumersWidget.cpp; sourceTree = "<group>"; };
 		39264839192224DA0008A7F5 /* ofxXmlSettings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ofxXmlSettings.cpp; path = ../../ofxXmlSettings/src/ofxXmlSettings.cpp; sourceTree = "<group>"; };
 		3926483A192224DA0008A7F5 /* ofxXmlSettings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ofxXmlSettings.h; path = ../../ofxXmlSettings/src/ofxXmlSettings.h; sourceTree = "<group>"; };
 		3926483D192224F90008A7F5 /* tinyxml.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tinyxml.cpp; sourceTree = "<group>"; };
@@ -472,6 +472,254 @@
 /* End PBXFrameworksBuildPhase section */
 
 /* Begin PBXGroup section */
+		0115A5D71DBF93BA00C51732 /* src */ = {
+			isa = PBXGroup;
+			children = (
+				0115A5D81DBF93BA00C51732 /* Application */,
+				0115A5E81DBF93BA00C51732 /* Commands */,
+				0115A6301DBF93BA00C51732 /* Gui */,
+				0115A6451DBF93BA00C51732 /* Info */,
+				0115A6481DBF93BA00C51732 /* MediaServer */,
+				0115A64D1DBF93BA00C51732 /* ofxPiMapper.cpp */,
+				0115A64E1DBF93BA00C51732 /* ofxPiMapper.h */,
+				0115A64F1DBF93BA00C51732 /* Sources */,
+				0115A65B1DBF93BA00C51732 /* Surfaces */,
+				0115A66D1DBF93BA00C51732 /* UserInterface */,
+				0115A6761DBF93BA00C51732 /* Utils */,
+			);
+			name = src;
+			path = ../src;
+			sourceTree = "<group>";
+		};
+		0115A5D81DBF93BA00C51732 /* Application */ = {
+			isa = PBXGroup;
+			children = (
+				0115A5D91DBF93BA00C51732 /* Application.cpp */,
+				0115A5DA1DBF93BA00C51732 /* Application.h */,
+				0115A5DB1DBF93BA00C51732 /* Modes */,
+				0115A5E61DBF93BA00C51732 /* SettingsLoader.cpp */,
+				0115A5E71DBF93BA00C51732 /* SettingsLoader.h */,
+			);
+			path = Application;
+			sourceTree = "<group>";
+		};
+		0115A5DB1DBF93BA00C51732 /* 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 */,
+			);
+			path = Modes;
+			sourceTree = "<group>";
+		};
+		0115A5E81DBF93BA00C51732 /* Commands */ = {
+			isa = PBXGroup;
+			children = (
+				0115A5E91DBF93BA00C51732 /* AddGridColCmd.cpp */,
+				0115A5EA1DBF93BA00C51732 /* AddGridColCmd.h */,
+				0115A5EB1DBF93BA00C51732 /* AddGridRowCmd.cpp */,
+				0115A5EC1DBF93BA00C51732 /* AddGridRowCmd.h */,
+				0115A5ED1DBF93BA00C51732 /* AddSurfaceCmd.cpp */,
+				0115A5EE1DBF93BA00C51732 /* AddSurfaceCmd.h */,
+				0115A5EF1DBF93BA00C51732 /* BaseCmd.h */,
+				0115A5F01DBF93BA00C51732 /* ClearSurfacesCmd.cpp */,
+				0115A5F11DBF93BA00C51732 /* ClearSurfacesCmd.h */,
+				0115A5F21DBF93BA00C51732 /* CmdManager.cpp */,
+				0115A5F31DBF93BA00C51732 /* CmdManager.h */,
+				0115A5F41DBF93BA00C51732 /* DeselectSurfaceCmd.cpp */,
+				0115A5F51DBF93BA00C51732 /* DeselectSurfaceCmd.h */,
+				0115A5F61DBF93BA00C51732 /* DeselectTexCoordCmd.cpp */,
+				0115A5F71DBF93BA00C51732 /* DeselectTexCoordCmd.h */,
+				0115A5F81DBF93BA00C51732 /* DuplicateSurfaceCmd.cpp */,
+				0115A5F91DBF93BA00C51732 /* DuplicateSurfaceCmd.h */,
+				0115A5FA1DBF93BA00C51732 /* MvAllTexCoordsCmd.cpp */,
+				0115A5FB1DBF93BA00C51732 /* MvAllTexCoordsCmd.h */,
+				0115A5FC1DBF93BA00C51732 /* MvLayerDnCmd.cpp */,
+				0115A5FD1DBF93BA00C51732 /* MvLayerDnCmd.h */,
+				0115A5FE1DBF93BA00C51732 /* MvLayerUpCmd.cpp */,
+				0115A5FF1DBF93BA00C51732 /* MvLayerUpCmd.h */,
+				0115A6001DBF93BA00C51732 /* MvSelectionCmd.cpp */,
+				0115A6011DBF93BA00C51732 /* MvSelectionCmd.h */,
+				0115A6021DBF93BA00C51732 /* MvSurfaceVertCmd.cpp */,
+				0115A6031DBF93BA00C51732 /* MvSurfaceVertCmd.h */,
+				0115A6041DBF93BA00C51732 /* MvTexCoordCmd.cpp */,
+				0115A6051DBF93BA00C51732 /* MvTexCoordCmd.h */,
+				0115A6061DBF93BA00C51732 /* RmGridColCmd.cpp */,
+				0115A6071DBF93BA00C51732 /* RmGridColCmd.h */,
+				0115A6081DBF93BA00C51732 /* RmGridRowCmd.cpp */,
+				0115A6091DBF93BA00C51732 /* RmGridRowCmd.h */,
+				0115A60A1DBF93BA00C51732 /* RmSurfaceCmd.cpp */,
+				0115A60B1DBF93BA00C51732 /* RmSurfaceCmd.h */,
+				0115A60C1DBF93BA00C51732 /* ScaleSurfaceFromToCmd.cpp */,
+				0115A60D1DBF93BA00C51732 /* ScaleSurfaceFromToCmd.h */,
+				0115A60E1DBF93BA00C51732 /* SelNextSurfaceCmd.cpp */,
+				0115A60F1DBF93BA00C51732 /* SelNextSurfaceCmd.h */,
+				0115A6101DBF93BA00C51732 /* SelNextTexCoordCmd.cpp */,
+				0115A6111DBF93BA00C51732 /* SelNextTexCoordCmd.h */,
+				0115A6121DBF93BA00C51732 /* SelNextVertexCmd.cpp */,
+				0115A6131DBF93BA00C51732 /* SelNextVertexCmd.h */,
+				0115A6141DBF93BA00C51732 /* SelPrevSurfaceCmd.cpp */,
+				0115A6151DBF93BA00C51732 /* SelPrevSurfaceCmd.h */,
+				0115A6161DBF93BA00C51732 /* SelPrevTexCoordCmd.cpp */,
+				0115A6171DBF93BA00C51732 /* SelPrevTexCoordCmd.h */,
+				0115A6181DBF93BA00C51732 /* SelPrevVertexCmd.cpp */,
+				0115A6191DBF93BA00C51732 /* SelPrevVertexCmd.h */,
+				0115A61A1DBF93BA00C51732 /* SelSurfaceCmd.cpp */,
+				0115A61B1DBF93BA00C51732 /* SelSurfaceCmd.h */,
+				0115A61C1DBF93BA00C51732 /* SelVertexCmd.cpp */,
+				0115A61D1DBF93BA00C51732 /* SelVertexCmd.h */,
+				0115A61E1DBF93BA00C51732 /* SetApplicationModeCmd.cpp */,
+				0115A61F1DBF93BA00C51732 /* SetApplicationModeCmd.h */,
+				0115A6201DBF93BA00C51732 /* SetNextSourceCmd.cpp */,
+				0115A6211DBF93BA00C51732 /* SetNextSourceCmd.h */,
+				0115A6221DBF93BA00C51732 /* SetPresetCmd.cpp */,
+				0115A6231DBF93BA00C51732 /* SetPresetCmd.h */,
+				0115A6241DBF93BA00C51732 /* SetSourceCmd.cpp */,
+				0115A6251DBF93BA00C51732 /* SetSourceCmd.h */,
+				0115A6261DBF93BA00C51732 /* SetTexMapDrawModeCmd.cpp */,
+				0115A6271DBF93BA00C51732 /* SetTexMapDrawModeCmd.h */,
+				0115A6281DBF93BA00C51732 /* StartDragSurfaceCmd.cpp */,
+				0115A6291DBF93BA00C51732 /* StartDragSurfaceCmd.h */,
+				0115A62A1DBF93BA00C51732 /* ToggleAnimatedSourceCmd.cpp */,
+				0115A62B1DBF93BA00C51732 /* ToggleAnimatedSourceCmd.h */,
+				0115A62C1DBF93BA00C51732 /* TogglePerspectiveCmd.cpp */,
+				0115A62D1DBF93BA00C51732 /* TogglePerspectiveCmd.h */,
+				0115A62E1DBF93BA00C51732 /* TranslateCanvasCmd.cpp */,
+				0115A62F1DBF93BA00C51732 /* TranslateCanvasCmd.h */,
+			);
+			path = Commands;
+			sourceTree = "<group>";
+		};
+		0115A6301DBF93BA00C51732 /* Gui */ = {
+			isa = PBXGroup;
+			children = (
+				0115A6311DBF93BA00C51732 /* Gui.cpp */,
+				0115A6321DBF93BA00C51732 /* Gui.h */,
+				0115A6331DBF93BA00C51732 /* Widgets */,
+			);
+			path = Gui;
+			sourceTree = "<group>";
+		};
+		0115A6331DBF93BA00C51732 /* 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 */,
+				0115A63F1DBF93BA00C51732 /* TextureConsumersWidget.cpp */,
+				0115A6401DBF93BA00C51732 /* TextureConsumersWidget.h */,
+				0115A6411DBF93BA00C51732 /* TextureEditorWidget.cpp */,
+				0115A6421DBF93BA00C51732 /* TextureEditorWidget.h */,
+				0115A6431DBF93BA00C51732 /* TextureHighlightWidget.cpp */,
+				0115A6441DBF93BA00C51732 /* TextureHighlightWidget.h */,
+			);
+			path = Widgets;
+			sourceTree = "<group>";
+		};
+		0115A6451DBF93BA00C51732 /* Info */ = {
+			isa = PBXGroup;
+			children = (
+				0115A6461DBF93BA00C51732 /* Info.cpp */,
+				0115A6471DBF93BA00C51732 /* Info.h */,
+			);
+			path = Info;
+			sourceTree = "<group>";
+		};
+		0115A6481DBF93BA00C51732 /* MediaServer */ = {
+			isa = PBXGroup;
+			children = (
+				0115A6491DBF93BA00C51732 /* DirectoryWatcher.cpp */,
+				0115A64A1DBF93BA00C51732 /* DirectoryWatcher.h */,
+				0115A64B1DBF93BA00C51732 /* MediaServer.cpp */,
+				0115A64C1DBF93BA00C51732 /* MediaServer.h */,
+			);
+			path = MediaServer;
+			sourceTree = "<group>";
+		};
+		0115A64F1DBF93BA00C51732 /* 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 */,
+			);
+			path = Sources;
+			sourceTree = "<group>";
+		};
+		0115A65B1DBF93BA00C51732 /* 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 */,
+			);
+			path = Surfaces;
+			sourceTree = "<group>";
+		};
+		0115A66D1DBF93BA00C51732 /* 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 */,
+			);
+			path = UserInterface;
+			sourceTree = "<group>";
+		};
+		0115A6761DBF93BA00C51732 /* Utils */ = {
+			isa = PBXGroup;
+			children = (
+				0115A6771DBF93BA00C51732 /* HomographyHelper.cpp */,
+				0115A6781DBF93BA00C51732 /* HomographyHelper.h */,
+				0115A6791DBF93BA00C51732 /* TerminalListener.cpp */,
+				0115A67A1DBF93BA00C51732 /* TerminalListener.h */,
+			);
+			path = Utils;
+			sourceTree = "<group>";
+		};
 		0130C8D51CE65AA600911E17 /* ofxIO */ = {
 			isa = PBXGroup;
 			children = (
@@ -673,254 +921,6 @@
 			path = src;
 			sourceTree = "<group>";
 		};
-		0149F5101DA81E36009CE165 /* src */ = {
-			isa = PBXGroup;
-			children = (
-				0149F5111DA81E36009CE165 /* Application */,
-				0149F5211DA81E36009CE165 /* Commands */,
-				0149F5691DA81E36009CE165 /* Gui */,
-				0149F57C1DA81E36009CE165 /* Info */,
-				0149F57F1DA81E36009CE165 /* MediaServer */,
-				0149F5841DA81E36009CE165 /* ofxPiMapper.cpp */,
-				0149F5851DA81E36009CE165 /* ofxPiMapper.h */,
-				0149F5861DA81E36009CE165 /* Sources */,
-				0149F5921DA81E36009CE165 /* Surfaces */,
-				0149F5A41DA81E36009CE165 /* UserInterface */,
-				0149F5AD1DA81E36009CE165 /* Utils */,
-			);
-			name = src;
-			path = ../src;
-			sourceTree = "<group>";
-		};
-		0149F5111DA81E36009CE165 /* Application */ = {
-			isa = PBXGroup;
-			children = (
-				0149F5121DA81E36009CE165 /* Application.cpp */,
-				0149F5131DA81E36009CE165 /* Application.h */,
-				0149F5141DA81E36009CE165 /* Modes */,
-				0149F51F1DA81E36009CE165 /* SettingsLoader.cpp */,
-				0149F5201DA81E36009CE165 /* SettingsLoader.h */,
-			);
-			path = Application;
-			sourceTree = "<group>";
-		};
-		0149F5141DA81E36009CE165 /* Modes */ = {
-			isa = PBXGroup;
-			children = (
-				0149F5151DA81E36009CE165 /* ApplicationBaseMode.cpp */,
-				0149F5161DA81E36009CE165 /* ApplicationBaseMode.h */,
-				0149F5171DA81E36009CE165 /* PresentationMode.cpp */,
-				0149F5181DA81E36009CE165 /* PresentationMode.h */,
-				0149F5191DA81E36009CE165 /* ProjectionMappingMode.cpp */,
-				0149F51A1DA81E36009CE165 /* ProjectionMappingMode.h */,
-				0149F51B1DA81E36009CE165 /* SourceSelectionMode.cpp */,
-				0149F51C1DA81E36009CE165 /* SourceSelectionMode.h */,
-				0149F51D1DA81E36009CE165 /* TextureMappingMode.cpp */,
-				0149F51E1DA81E36009CE165 /* TextureMappingMode.h */,
-			);
-			path = Modes;
-			sourceTree = "<group>";
-		};
-		0149F5211DA81E36009CE165 /* Commands */ = {
-			isa = PBXGroup;
-			children = (
-				0149F5221DA81E36009CE165 /* AddGridColCmd.cpp */,
-				0149F5231DA81E36009CE165 /* AddGridColCmd.h */,
-				0149F5241DA81E36009CE165 /* AddGridRowCmd.cpp */,
-				0149F5251DA81E36009CE165 /* AddGridRowCmd.h */,
-				0149F5261DA81E36009CE165 /* AddSurfaceCmd.cpp */,
-				0149F5271DA81E36009CE165 /* AddSurfaceCmd.h */,
-				0149F5281DA81E36009CE165 /* BaseCmd.h */,
-				0149F5291DA81E36009CE165 /* ClearSurfacesCmd.cpp */,
-				0149F52A1DA81E36009CE165 /* ClearSurfacesCmd.h */,
-				0149F52B1DA81E36009CE165 /* CmdManager.cpp */,
-				0149F52C1DA81E36009CE165 /* CmdManager.h */,
-				0149F52D1DA81E36009CE165 /* DeselectSurfaceCmd.cpp */,
-				0149F52E1DA81E36009CE165 /* DeselectSurfaceCmd.h */,
-				0149F52F1DA81E36009CE165 /* DeselectTexCoordCmd.cpp */,
-				0149F5301DA81E36009CE165 /* DeselectTexCoordCmd.h */,
-				0149F5311DA81E36009CE165 /* DuplicateSurfaceCmd.cpp */,
-				0149F5321DA81E36009CE165 /* DuplicateSurfaceCmd.h */,
-				0149F5331DA81E36009CE165 /* MvAllTexCoordsCmd.cpp */,
-				0149F5341DA81E36009CE165 /* MvAllTexCoordsCmd.h */,
-				0149F5351DA81E36009CE165 /* MvLayerDnCmd.cpp */,
-				0149F5361DA81E36009CE165 /* MvLayerDnCmd.h */,
-				0149F5371DA81E36009CE165 /* MvLayerUpCmd.cpp */,
-				0149F5381DA81E36009CE165 /* MvLayerUpCmd.h */,
-				0149F5391DA81E36009CE165 /* MvSelectionCmd.cpp */,
-				0149F53A1DA81E36009CE165 /* MvSelectionCmd.h */,
-				0149F53B1DA81E36009CE165 /* MvSurfaceVertCmd.cpp */,
-				0149F53C1DA81E36009CE165 /* MvSurfaceVertCmd.h */,
-				0149F53D1DA81E36009CE165 /* MvTexCoordCmd.cpp */,
-				0149F53E1DA81E36009CE165 /* MvTexCoordCmd.h */,
-				0149F53F1DA81E36009CE165 /* RmGridColCmd.cpp */,
-				0149F5401DA81E36009CE165 /* RmGridColCmd.h */,
-				0149F5411DA81E36009CE165 /* RmGridRowCmd.cpp */,
-				0149F5421DA81E36009CE165 /* RmGridRowCmd.h */,
-				0149F5431DA81E36009CE165 /* RmSurfaceCmd.cpp */,
-				0149F5441DA81E36009CE165 /* RmSurfaceCmd.h */,
-				0149F5451DA81E36009CE165 /* ScaleSurfaceFromToCmd.cpp */,
-				0149F5461DA81E36009CE165 /* ScaleSurfaceFromToCmd.h */,
-				0149F5471DA81E36009CE165 /* SelNextSurfaceCmd.cpp */,
-				0149F5481DA81E36009CE165 /* SelNextSurfaceCmd.h */,
-				0149F5491DA81E36009CE165 /* SelNextTexCoordCmd.cpp */,
-				0149F54A1DA81E36009CE165 /* SelNextTexCoordCmd.h */,
-				0149F54B1DA81E36009CE165 /* SelNextVertexCmd.cpp */,
-				0149F54C1DA81E36009CE165 /* SelNextVertexCmd.h */,
-				0149F54D1DA81E36009CE165 /* SelPrevSurfaceCmd.cpp */,
-				0149F54E1DA81E36009CE165 /* SelPrevSurfaceCmd.h */,
-				0149F54F1DA81E36009CE165 /* SelPrevTexCoordCmd.cpp */,
-				0149F5501DA81E36009CE165 /* SelPrevTexCoordCmd.h */,
-				0149F5511DA81E36009CE165 /* SelPrevVertexCmd.cpp */,
-				0149F5521DA81E36009CE165 /* SelPrevVertexCmd.h */,
-				0149F5531DA81E36009CE165 /* SelSurfaceCmd.cpp */,
-				0149F5541DA81E36009CE165 /* SelSurfaceCmd.h */,
-				0149F5551DA81E36009CE165 /* SelVertexCmd.cpp */,
-				0149F5561DA81E36009CE165 /* SelVertexCmd.h */,
-				0149F5571DA81E36009CE165 /* SetActivePresetCmd.cpp */,
-				0149F5581DA81E36009CE165 /* SetActivePresetCmd.h */,
-				0149F5591DA81E36009CE165 /* SetApplicationModeCmd.cpp */,
-				0149F55A1DA81E36009CE165 /* SetApplicationModeCmd.h */,
-				0149F55B1DA81E36009CE165 /* SetNextSourceCmd.cpp */,
-				0149F55C1DA81E36009CE165 /* SetNextSourceCmd.h */,
-				0149F55D1DA81E36009CE165 /* SetSourceCmd.cpp */,
-				0149F55E1DA81E36009CE165 /* SetSourceCmd.h */,
-				0149F55F1DA81E36009CE165 /* SetTexMapDrawModeCmd.cpp */,
-				0149F5601DA81E36009CE165 /* SetTexMapDrawModeCmd.h */,
-				0149F5611DA81E36009CE165 /* StartDragSurfaceCmd.cpp */,
-				0149F5621DA81E36009CE165 /* StartDragSurfaceCmd.h */,
-				0149F5631DA81E36009CE165 /* ToggleAnimatedSourceCmd.cpp */,
-				0149F5641DA81E36009CE165 /* ToggleAnimatedSourceCmd.h */,
-				0149F5651DA81E36009CE165 /* TogglePerspectiveCmd.cpp */,
-				0149F5661DA81E36009CE165 /* TogglePerspectiveCmd.h */,
-				0149F5671DA81E36009CE165 /* TranslateCanvasCmd.cpp */,
-				0149F5681DA81E36009CE165 /* TranslateCanvasCmd.h */,
-			);
-			path = Commands;
-			sourceTree = "<group>";
-		};
-		0149F5691DA81E36009CE165 /* Gui */ = {
-			isa = PBXGroup;
-			children = (
-				0149F56A1DA81E36009CE165 /* Gui.cpp */,
-				0149F56B1DA81E36009CE165 /* Gui.h */,
-				0149F56C1DA81E36009CE165 /* Widgets */,
-			);
-			path = Gui;
-			sourceTree = "<group>";
-		};
-		0149F56C1DA81E36009CE165 /* Widgets */ = {
-			isa = PBXGroup;
-			children = (
-				0149F56D1DA81E36009CE165 /* GuiBaseWidget.h */,
-				0149F56E1DA81E36009CE165 /* LayerPanelWidget.cpp */,
-				0149F56F1DA81E36009CE165 /* LayerPanelWidget.h */,
-				0149F5701DA81E36009CE165 /* ProjectionEditorWidget.cpp */,
-				0149F5711DA81E36009CE165 /* ProjectionEditorWidget.h */,
-				0149F5721DA81E36009CE165 /* ScaleWidget.cpp */,
-				0149F5731DA81E36009CE165 /* ScaleWidget.h */,
-				0149F5741DA81E36009CE165 /* SourcesEditorWidget.cpp */,
-				0149F5751DA81E36009CE165 /* SourcesEditorWidget.h */,
-				0149F5761DA81E36009CE165 /* SurfaceHighlightWidget.cpp */,
-				0149F5771DA81E36009CE165 /* SurfaceHighlightWidget.h */,
-				0149F5781DA81E36009CE165 /* TextureEditorWidget.cpp */,
-				0149F5791DA81E36009CE165 /* TextureEditorWidget.h */,
-				0149F57A1DA81E36009CE165 /* TextureHighlightWidget.cpp */,
-				0149F57B1DA81E36009CE165 /* TextureHighlightWidget.h */,
-				014EA2821DBA7F5400E37DCD /* TextureConsumersWidget.cpp */,
-				014EA2811DBA7F5400E37DCD /* TextureConsumersWidget.h */,
-			);
-			path = Widgets;
-			sourceTree = "<group>";
-		};
-		0149F57C1DA81E36009CE165 /* Info */ = {
-			isa = PBXGroup;
-			children = (
-				0149F57D1DA81E36009CE165 /* Info.cpp */,
-				0149F57E1DA81E36009CE165 /* Info.h */,
-			);
-			path = Info;
-			sourceTree = "<group>";
-		};
-		0149F57F1DA81E36009CE165 /* MediaServer */ = {
-			isa = PBXGroup;
-			children = (
-				0149F5801DA81E36009CE165 /* DirectoryWatcher.cpp */,
-				0149F5811DA81E36009CE165 /* DirectoryWatcher.h */,
-				0149F5821DA81E36009CE165 /* MediaServer.cpp */,
-				0149F5831DA81E36009CE165 /* MediaServer.h */,
-			);
-			path = MediaServer;
-			sourceTree = "<group>";
-		};
-		0149F5861DA81E36009CE165 /* Sources */ = {
-			isa = PBXGroup;
-			children = (
-				0149F5871DA81E36009CE165 /* BaseSource.cpp */,
-				0149F5881DA81E36009CE165 /* BaseSource.h */,
-				0149F5891DA81E36009CE165 /* FboSource.cpp */,
-				0149F58A1DA81E36009CE165 /* FboSource.h */,
-				0149F58B1DA81E36009CE165 /* ImageSource.cpp */,
-				0149F58C1DA81E36009CE165 /* ImageSource.h */,
-				0149F58D1DA81E36009CE165 /* OMXPlayerCache.cpp */,
-				0149F58E1DA81E36009CE165 /* OMXPlayerCache.h */,
-				0149F58F1DA81E36009CE165 /* SourceType.h */,
-				0149F5901DA81E36009CE165 /* VideoSource.cpp */,
-				0149F5911DA81E36009CE165 /* VideoSource.h */,
-			);
-			path = Sources;
-			sourceTree = "<group>";
-		};
-		0149F5921DA81E36009CE165 /* Surfaces */ = {
-			isa = PBXGroup;
-			children = (
-				0149F5931DA81E36009CE165 /* BaseSurface.cpp */,
-				0149F5941DA81E36009CE165 /* BaseSurface.h */,
-				0149F5951DA81E36009CE165 /* GridWarpSurface.cpp */,
-				0149F5961DA81E36009CE165 /* GridWarpSurface.h */,
-				0149F5971DA81E36009CE165 /* HexagonSurface.cpp */,
-				0149F5981DA81E36009CE165 /* HexagonSurface.h */,
-				0149F5991DA81E36009CE165 /* QuadSurface.cpp */,
-				0149F59A1DA81E36009CE165 /* QuadSurface.h */,
-				0149F59B1DA81E36009CE165 /* SurfaceFactory.cpp */,
-				0149F59C1DA81E36009CE165 /* SurfaceFactory.h */,
-				0149F59D1DA81E36009CE165 /* SurfaceManager.cpp */,
-				0149F59E1DA81E36009CE165 /* SurfaceManager.h */,
-				0149F59F1DA81E36009CE165 /* SurfaceStack.cpp */,
-				0149F5A01DA81E36009CE165 /* SurfaceStack.h */,
-				0149F5A11DA81E36009CE165 /* SurfaceType.h */,
-				0149F5A21DA81E36009CE165 /* TriangleSurface.cpp */,
-				0149F5A31DA81E36009CE165 /* TriangleSurface.h */,
-			);
-			path = Surfaces;
-			sourceTree = "<group>";
-		};
-		0149F5A41DA81E36009CE165 /* UserInterface */ = {
-			isa = PBXGroup;
-			children = (
-				0149F5A51DA81E36009CE165 /* BaseJoint.cpp */,
-				0149F5A61DA81E36009CE165 /* BaseJoint.h */,
-				0149F5A71DA81E36009CE165 /* CircleJoint.cpp */,
-				0149F5A81DA81E36009CE165 /* CircleJoint.h */,
-				0149F5A91DA81E36009CE165 /* EditorType.h */,
-				0149F5AA1DA81E36009CE165 /* GuiMode.h */,
-				0149F5AB1DA81E36009CE165 /* RadioList.cpp */,
-				0149F5AC1DA81E36009CE165 /* RadioList.h */,
-			);
-			path = UserInterface;
-			sourceTree = "<group>";
-		};
-		0149F5AD1DA81E36009CE165 /* Utils */ = {
-			isa = PBXGroup;
-			children = (
-				0149F5AE1DA81E36009CE165 /* HomographyHelper.cpp */,
-				0149F5AF1DA81E36009CE165 /* HomographyHelper.h */,
-				0149F5B01DA81E36009CE165 /* TerminalListener.cpp */,
-				0149F5B11DA81E36009CE165 /* TerminalListener.h */,
-			);
-			path = Utils;
-			sourceTree = "<group>";
-		};
 		39264837192224C20008A7F5 /* ofxXmlSettings */ = {
 			isa = PBXGroup;
 			children = (
@@ -987,7 +987,7 @@
 		396E8A34190FEDE500705899 /* ofxPiMapper */ = {
 			isa = PBXGroup;
 			children = (
-				0149F5101DA81E36009CE165 /* src */,
+				0115A5D71DBF93BA00C51732 /* src */,
 			);
 			name = ofxPiMapper;
 			sourceTree = "<group>";
@@ -1174,124 +1174,124 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				0149F5CF1DA81E36009CE165 /* SelPrevTexCoordCmd.cpp in Sources */,
-				0149F5BB1DA81E36009CE165 /* AddSurfaceCmd.cpp in Sources */,
-				0149F5BF1DA81E36009CE165 /* DeselectTexCoordCmd.cpp in Sources */,
+				0115A6981DBF93BA00C51732 /* SelPrevTexCoordCmd.cpp in Sources */,
+				0115A6841DBF93BA00C51732 /* AddSurfaceCmd.cpp in Sources */,
+				0115A6881DBF93BA00C51732 /* DeselectTexCoordCmd.cpp in Sources */,
+				0115A69C1DBF93BA00C51732 /* SetApplicationModeCmd.cpp in Sources */,
 				3933D5D819BB87BD000ACA55 /* ofxSlider.cpp in Sources */,
 				0130C9821CE65AA600911E17 /* snappy-sinksource.cc in Sources */,
-				0149F5CD1DA81E36009CE165 /* SelNextVertexCmd.cpp in Sources */,
+				0115A69E1DBF93BA00C51732 /* SetPresetCmd.cpp in Sources */,
+				0115A6961DBF93BA00C51732 /* SelNextVertexCmd.cpp in Sources */,
+				0115A6B71DBF93BA00C51732 /* BaseSurface.cpp in Sources */,
+				0115A6A81DBF93BA00C51732 /* ScaleWidget.cpp in Sources */,
 				0130C9701CE65AA600911E17 /* COBSEncoding.cpp in Sources */,
-				0149F5EC1DA81E36009CE165 /* VideoSource.cpp in Sources */,
-				0149F5F21DA81E36009CE165 /* SurfaceManager.cpp in Sources */,
-				0149F5BA1DA81E36009CE165 /* AddGridRowCmd.cpp in Sources */,
-				0149F5DF1DA81E36009CE165 /* ScaleWidget.cpp in Sources */,
+				0115A6831DBF93BA00C51732 /* AddGridRowCmd.cpp in Sources */,
 				3933D5DA19BB87BD000ACA55 /* ofxToggle.cpp in Sources */,
-				0149F5C11DA81E36009CE165 /* MvAllTexCoordsCmd.cpp in Sources */,
+				0115A68A1DBF93BA00C51732 /* MvAllTexCoordsCmd.cpp in Sources */,
 				3933D5D319BB87BD000ACA55 /* ofxBaseGui.cpp in Sources */,
+				0115A6B91DBF93BA00C51732 /* HexagonSurface.cpp in Sources */,
 				3933D5D919BB87BD000ACA55 /* ofxSliderGroup.cpp in Sources */,
-				0149F5C81DA81E36009CE165 /* RmGridRowCmd.cpp in Sources */,
-				0149F5C01DA81E36009CE165 /* DuplicateSurfaceCmd.cpp in Sources */,
+				0115A6911DBF93BA00C51732 /* RmGridRowCmd.cpp in Sources */,
+				0115A6891DBF93BA00C51732 /* DuplicateSurfaceCmd.cpp in Sources */,
+				0115A6BB1DBF93BA00C51732 /* SurfaceFactory.cpp in Sources */,
 				0130C9841CE65AA600911E17 /* snappy.cc in Sources */,
 				0130C96B1CE65AA600911E17 /* ByteBuffer.cpp in Sources */,
+				0115A6A71DBF93BA00C51732 /* ProjectionEditorWidget.cpp in Sources */,
 				0130C96A1CE65AA600911E17 /* Base64Encoding.cpp in Sources */,
-				0149F5E21DA81E36009CE165 /* TextureEditorWidget.cpp in Sources */,
-				014EA2831DBA7F5400E37DCD /* TextureConsumersWidget.cpp in Sources */,
-				0149F5C91DA81E36009CE165 /* RmSurfaceCmd.cpp in Sources */,
-				0149F5DE1DA81E36009CE165 /* ProjectionEditorWidget.cpp in Sources */,
-				0149F5C41DA81E36009CE165 /* MvSelectionCmd.cpp in Sources */,
-				0149F5B61DA81E36009CE165 /* SourceSelectionMode.cpp in Sources */,
-				0149F5F91DA81E36009CE165 /* TerminalListener.cpp in Sources */,
-				0149F5E71DA81E36009CE165 /* ofxPiMapper.cpp in Sources */,
-				0149F5E41DA81E36009CE165 /* Info.cpp in Sources */,
-				0149F5ED1DA81E36009CE165 /* BaseSurface.cpp in Sources */,
+				0115A6921DBF93BA00C51732 /* RmSurfaceCmd.cpp in Sources */,
+				0115A68D1DBF93BA00C51732 /* MvSelectionCmd.cpp in Sources */,
+				0115A67F1DBF93BA00C51732 /* SourceSelectionMode.cpp in Sources */,
 				3995C20A1C79069B00123352 /* Settings.cpp in Sources */,
-				0149F5F71DA81E36009CE165 /* RadioList.cpp in Sources */,
 				0130C96F1CE65AA600911E17 /* ByteBufferWriter.cpp in Sources */,
+				0115A6B61DBF93BA00C51732 /* VideoSource.cpp in Sources */,
 				0130C97E1CE65AA600911E17 /* RegexPathFilter.cpp in Sources */,
+				0115A6AD1DBF93BA00C51732 /* TextureHighlightWidget.cpp in Sources */,
 				0130C9771CE65AA600911E17 /* FileExtensionFilter.cpp in Sources */,
-				0149F5CB1DA81E36009CE165 /* SelNextSurfaceCmd.cpp in Sources */,
-				0149F5D51DA81E36009CE165 /* SetNextSourceCmd.cpp in Sources */,
-				0149F5DA1DA81E36009CE165 /* TogglePerspectiveCmd.cpp in Sources */,
+				0115A6AF1DBF93BA00C51732 /* DirectoryWatcher.cpp in Sources */,
+				0115A6AE1DBF93BA00C51732 /* Info.cpp in Sources */,
+				0115A6A31DBF93BA00C51732 /* TogglePerspectiveCmd.cpp in Sources */,
+				0115A6941DBF93BA00C51732 /* SelNextSurfaceCmd.cpp in Sources */,
+				0115A6AB1DBF93BA00C51732 /* TextureConsumersWidget.cpp in Sources */,
 				E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */,
-				0149F5EA1DA81E36009CE165 /* ImageSource.cpp in Sources */,
-				0149F5D01DA81E36009CE165 /* SelPrevVertexCmd.cpp in Sources */,
+				0115A6991DBF93BA00C51732 /* SelPrevVertexCmd.cpp in Sources */,
 				39264843192224F90008A7F5 /* tinyxmlparser.cpp in Sources */,
 				0130C96D1CE65AA600911E17 /* ByteBufferStream.cpp in Sources */,
 				3933D5D419BB87BD000ACA55 /* ofxButton.cpp in Sources */,
-				0149F5EE1DA81E36009CE165 /* GridWarpSurface.cpp in Sources */,
 				0130C9691CE65AA600911E17 /* lz4.c in Sources */,
-				0149F5B51DA81E36009CE165 /* ProjectionMappingMode.cpp in Sources */,
+				0115A6B51DBF93BA00C51732 /* OMXPlayerCache.cpp in Sources */,
+				0115A67E1DBF93BA00C51732 /* ProjectionMappingMode.cpp in Sources */,
 				0130C9791CE65AA600911E17 /* HiddenFileFilter.cpp in Sources */,
-				0149F5C31DA81E36009CE165 /* MvLayerUpCmd.cpp in Sources */,
-				0149F5F81DA81E36009CE165 /* HomographyHelper.cpp in Sources */,
-				0149F5B91DA81E36009CE165 /* AddGridColCmd.cpp in Sources */,
+				0115A68C1DBF93BA00C51732 /* MvLayerUpCmd.cpp in Sources */,
+				0115A6821DBF93BA00C51732 /* AddGridColCmd.cpp in Sources */,
+				0115A6B41DBF93BA00C51732 /* ImageSource.cpp in Sources */,
 				0130C97B1CE65AA600911E17 /* PathFilterCollection.cpp in Sources */,
 				0130C9721CE65AA600911E17 /* DeviceFilter.cpp in Sources */,
-				0149F5F11DA81E36009CE165 /* SurfaceFactory.cpp in Sources */,
 				0130C9781CE65AA600911E17 /* HexBinaryEncoding.cpp in Sources */,
-				0149F5D31DA81E36009CE165 /* SetActivePresetCmd.cpp in Sources */,
-				0149F5C71DA81E36009CE165 /* RmGridColCmd.cpp in Sources */,
+				0115A6901DBF93BA00C51732 /* RmGridColCmd.cpp in Sources */,
 				0130C96E1CE65AA600911E17 /* ByteBufferUtils.cpp in Sources */,
-				0149F5E01DA81E36009CE165 /* SourcesEditorWidget.cpp in Sources */,
-				0149F5CC1DA81E36009CE165 /* SelNextTexCoordCmd.cpp in Sources */,
-				0149F5B21DA81E36009CE165 /* Application.cpp in Sources */,
-				0149F5E51DA81E36009CE165 /* DirectoryWatcher.cpp in Sources */,
-				0149F5D41DA81E36009CE165 /* SetApplicationModeCmd.cpp in Sources */,
+				0115A6A91DBF93BA00C51732 /* SourcesEditorWidget.cpp in Sources */,
+				0115A6951DBF93BA00C51732 /* SelNextTexCoordCmd.cpp in Sources */,
+				0115A67B1DBF93BA00C51732 /* Application.cpp in Sources */,
 				39264841192224F90008A7F5 /* tinyxml.cpp in Sources */,
+				0115A6B31DBF93BA00C51732 /* FboSource.cpp in Sources */,
 				0130C9731CE65AA600911E17 /* DirectoryFilter.cpp in Sources */,
-				0149F5CE1DA81E36009CE165 /* SelPrevSurfaceCmd.cpp in Sources */,
-				0149F5D91DA81E36009CE165 /* ToggleAnimatedSourceCmd.cpp in Sources */,
+				0115A6971DBF93BA00C51732 /* SelPrevSurfaceCmd.cpp in Sources */,
 				3933D5D619BB87BD000ACA55 /* ofxLabel.cpp in Sources */,
-				0149F5B41DA81E36009CE165 /* PresentationMode.cpp in Sources */,
-				0149F5D81DA81E36009CE165 /* StartDragSurfaceCmd.cpp in Sources */,
-				0149F5E11DA81E36009CE165 /* SurfaceHighlightWidget.cpp in Sources */,
+				0115A6A21DBF93BA00C51732 /* ToggleAnimatedSourceCmd.cpp in Sources */,
+				0115A67D1DBF93BA00C51732 /* PresentationMode.cpp in Sources */,
 				399953691BD54FF600D5B1F1 /* CrossSource.cpp in Sources */,
-				0149F5E91DA81E36009CE165 /* FboSource.cpp in Sources */,
-				0149F5B31DA81E36009CE165 /* ApplicationBaseMode.cpp in Sources */,
-				0149F5C51DA81E36009CE165 /* MvSurfaceVertCmd.cpp in Sources */,
-				0149F5DC1DA81E36009CE165 /* Gui.cpp in Sources */,
+				0115A6A11DBF93BA00C51732 /* StartDragSurfaceCmd.cpp in Sources */,
+				0115A6AA1DBF93BA00C51732 /* SurfaceHighlightWidget.cpp in Sources */,
+				0115A67C1DBF93BA00C51732 /* ApplicationBaseMode.cpp in Sources */,
+				0115A68E1DBF93BA00C51732 /* MvSurfaceVertCmd.cpp in Sources */,
+				0115A6C01DBF93BA00C51732 /* CircleJoint.cpp in Sources */,
 				0130C9741CE65AA600911E17 /* DirectoryUtils.cpp in Sources */,
-				0149F5D11DA81E36009CE165 /* SelSurfaceCmd.cpp in Sources */,
+				0115A6A51DBF93BA00C51732 /* Gui.cpp in Sources */,
+				0115A69A1DBF93BA00C51732 /* SelSurfaceCmd.cpp in Sources */,
 				0130C9801CE65AA600911E17 /* SLIPEncoding.cpp in Sources */,
 				0130C9831CE65AA600911E17 /* snappy-stubs-internal.cc in Sources */,
-				0149F5F61DA81E36009CE165 /* CircleJoint.cpp in Sources */,
 				0130C97F1CE65AA600911E17 /* SearchPath.cpp in Sources */,
-				0149F5D61DA81E36009CE165 /* SetSourceCmd.cpp in Sources */,
-				0149F5B81DA81E36009CE165 /* SettingsLoader.cpp in Sources */,
+				0115A69D1DBF93BA00C51732 /* SetNextSourceCmd.cpp in Sources */,
+				0115A69F1DBF93BA00C51732 /* SetSourceCmd.cpp in Sources */,
+				0115A6B01DBF93BA00C51732 /* MediaServer.cpp in Sources */,
+				0115A6AC1DBF93BA00C51732 /* TextureEditorWidget.cpp in Sources */,
+				0115A6811DBF93BA00C51732 /* SettingsLoader.cpp in Sources */,
+				0115A6BA1DBF93BA00C51732 /* QuadSurface.cpp in Sources */,
 				0130C97A1CE65AA600911E17 /* LinkFilter.cpp in Sources */,
 				E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */,
 				0130C96C1CE65AA600911E17 /* ByteBufferReader.cpp in Sources */,
+				0115A6B21DBF93BA00C51732 /* BaseSource.cpp in Sources */,
 				3933D5D719BB87BD000ACA55 /* ofxPanel.cpp in Sources */,
-				0149F5E81DA81E36009CE165 /* BaseSource.cpp in Sources */,
+				0115A6BC1DBF93BA00C51732 /* SurfaceManager.cpp in Sources */,
 				0130C97D1CE65AA600911E17 /* RecursiveDirectoryIteratorStategies.cpp in Sources */,
-				0149F5B71DA81E36009CE165 /* TextureMappingMode.cpp in Sources */,
-				0149F5DD1DA81E36009CE165 /* LayerPanelWidget.cpp in Sources */,
-				0149F5DB1DA81E36009CE165 /* TranslateCanvasCmd.cpp in Sources */,
-				0149F5BD1DA81E36009CE165 /* CmdManager.cpp in Sources */,
-				0149F5D71DA81E36009CE165 /* SetTexMapDrawModeCmd.cpp in Sources */,
-				0149F5E61DA81E36009CE165 /* MediaServer.cpp in Sources */,
-				0149F5C61DA81E36009CE165 /* MvTexCoordCmd.cpp in Sources */,
-				0149F5D21DA81E36009CE165 /* SelVertexCmd.cpp in Sources */,
-				0149F5EB1DA81E36009CE165 /* OMXPlayerCache.cpp in Sources */,
+				0115A6801DBF93BA00C51732 /* TextureMappingMode.cpp in Sources */,
+				0115A6B11DBF93BA00C51732 /* ofxPiMapper.cpp in Sources */,
+				0115A6BD1DBF93BA00C51732 /* SurfaceStack.cpp in Sources */,
+				0115A6A61DBF93BA00C51732 /* LayerPanelWidget.cpp in Sources */,
+				0115A6BE1DBF93BA00C51732 /* TriangleSurface.cpp in Sources */,
+				0115A6A41DBF93BA00C51732 /* TranslateCanvasCmd.cpp in Sources */,
+				0115A6861DBF93BA00C51732 /* CmdManager.cpp in Sources */,
+				0115A6C21DBF93BA00C51732 /* HomographyHelper.cpp in Sources */,
+				0115A6A01DBF93BA00C51732 /* SetTexMapDrawModeCmd.cpp in Sources */,
+				0115A68F1DBF93BA00C51732 /* MvTexCoordCmd.cpp in Sources */,
+				0115A69B1DBF93BA00C51732 /* SelVertexCmd.cpp in Sources */,
+				0115A6B81DBF93BA00C51732 /* GridWarpSurface.cpp in Sources */,
 				0130C9711CE65AA600911E17 /* Compression.cpp in Sources */,
 				0130C97C1CE65AA600911E17 /* RecursiveDirectoryIterator.cpp in Sources */,
-				0149F5F31DA81E36009CE165 /* SurfaceStack.cpp in Sources */,
 				39264842192224F90008A7F5 /* tinyxmlerror.cpp in Sources */,
+				0115A6C31DBF93BA00C51732 /* TerminalListener.cpp in Sources */,
 				3926483B192224DA0008A7F5 /* ofxXmlSettings.cpp in Sources */,
-				0149F5F01DA81E36009CE165 /* QuadSurface.cpp in Sources */,
-				0149F5CA1DA81E36009CE165 /* ScaleSurfaceFromToCmd.cpp in Sources */,
-				0149F5BC1DA81E36009CE165 /* ClearSurfacesCmd.cpp in Sources */,
-				0149F5BE1DA81E36009CE165 /* DeselectSurfaceCmd.cpp in Sources */,
-				0149F5F51DA81E36009CE165 /* BaseJoint.cpp in Sources */,
-				0149F5E31DA81E36009CE165 /* TextureHighlightWidget.cpp in Sources */,
+				0115A6931DBF93BA00C51732 /* ScaleSurfaceFromToCmd.cpp in Sources */,
+				0115A6851DBF93BA00C51732 /* ClearSurfacesCmd.cpp in Sources */,
+				0115A6871DBF93BA00C51732 /* DeselectSurfaceCmd.cpp in Sources */,
 				0130C9681CE65AA600911E17 /* README.md in Sources */,
 				0130C9751CE65AA600911E17 /* DirectoryWatcher.cpp in Sources */,
-				0149F5EF1DA81E36009CE165 /* HexagonSurface.cpp in Sources */,
 				0130C9811CE65AA600911E17 /* URIEncoding.cpp in Sources */,
-				0149F5F41DA81E36009CE165 /* TriangleSurface.cpp in Sources */,
-				0149F5C21DA81E36009CE165 /* MvLayerDnCmd.cpp in Sources */,
+				0115A68B1DBF93BA00C51732 /* MvLayerDnCmd.cpp in Sources */,
 				397EFC821A09047C0009286E /* CustomSource.cpp in Sources */,
 				3933D5D519BB87BD000ACA55 /* ofxGuiGroup.cpp in Sources */,
+				0115A6C11DBF93BA00C51732 /* RadioList.cpp in Sources */,
+				0115A6BF1DBF93BA00C51732 /* BaseJoint.cpp in Sources */,
 				0130C9761CE65AA600911E17 /* DirectoryWatcherManager.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
diff --git a/src/Application/Application.cpp b/src/Application/Application.cpp
index bb825f4..aa00b76 100644
--- a/src/Application/Application.cpp
+++ b/src/Application/Application.cpp
@@ -239,7 +239,7 @@ void Application::onCharacterReceived(KeyListenerEventData & e){
 }
 
 void Application::setPreset(unsigned int i){
-	_cmdManager.exec(new SetActivePresetCmd(this, i));
+	_cmdManager.exec(new SetPresetCmd(this, i));
 }
 
 void Application::setNextPreset(){
diff --git a/src/Application/Application.h b/src/Application/Application.h
index 0080bce..482b0da 100644
--- a/src/Application/Application.h
+++ b/src/Application/Application.h
@@ -5,7 +5,7 @@
 
 #include "SetApplicationModeCmd.h"
 #include "ClearSurfacesCmd.h"
-#include "SetActivePresetCmd.h"
+#include "SetPresetCmd.h"
 
 #include "ApplicationBaseMode.h"
 #include "PresentationMode.h"
diff --git a/src/Commands/SetActivePresetCmd.cpp b/src/Commands/SetPresetCmd.cpp
similarity index 65%
rename from src/Commands/SetActivePresetCmd.cpp
rename to src/Commands/SetPresetCmd.cpp
index 1dc896f..c379e9b 100644
--- a/src/Commands/SetActivePresetCmd.cpp
+++ b/src/Commands/SetPresetCmd.cpp
@@ -1,23 +1,23 @@
-#include "SetActivePresetCmd.h"
+#include "SetPresetCmd.h"
 
 namespace ofx {
 namespace piMapper {
 
-SetActivePresetCmd::SetActivePresetCmd(Application * app, unsigned int pi){
+SetPresetCmd::SetPresetCmd(Application * app, unsigned int pi){
 	_app = app;
 	_newPresetIndex = pi;
 }
 
-void SetActivePresetCmd::exec(){
-	ofLogNotice("SetActivePresetCmd", "exec");
+void SetPresetCmd::exec(){
+	ofLogNotice("SetPresetCmd", "exec");
 	_prevPresetIndex = _app->getSurfaceManager()->getActivePresetIndex();
 	_app->getSurfaceManager()->deselectSurface();
 	_selectedSurfaceIndex = _app->getSurfaceManager()->getSelectedSurfaceIndex();
 	_app->getSurfaceManager()->setPreset(_newPresetIndex);
 }
 
-void SetActivePresetCmd::undo(){
-	ofLogNotice("SetActivePresetCmd", "undo");
+void SetPresetCmd::undo(){
+	ofLogNotice("SetPresetCmd", "undo");
 	_app->getSurfaceManager()->setPreset(_prevPresetIndex);
 	_app->getSurfaceManager()->selectSurface(_selectedSurfaceIndex);
 }
diff --git a/src/Commands/SetActivePresetCmd.h b/src/Commands/SetPresetCmd.h
similarity index 81%
rename from src/Commands/SetActivePresetCmd.h
rename to src/Commands/SetPresetCmd.h
index 2f480e6..ebfe9f2 100644
--- a/src/Commands/SetActivePresetCmd.h
+++ b/src/Commands/SetPresetCmd.h
@@ -1,4 +1,4 @@
-// SetActivePresetCmd
+// SetPresetCmd
 // Sets active preset, stores previous preset index and restores it on undo.
 // Created by Krisjanis Rijnieks 2016-10-07
 // At the ORA bar in Berlin. Waiting for Park to celebrate his birthday.
@@ -14,10 +14,10 @@ namespace piMapper {
 
 class Application;
 
-class SetActivePresetCmd : public BaseUndoCmd {
+class SetPresetCmd : public BaseUndoCmd {
 
 	public:
-		SetActivePresetCmd(Application * app, unsigned int pi);
+		SetPresetCmd(Application * app, unsigned int pi);
 		void exec();
 		void undo();