From 899a6ef585581d810186e5def6908d129f672fcc Mon Sep 17 00:00:00 2001 From: tobetchi Date: Thu, 21 Jun 2018 19:46:55 +0900 Subject: [PATCH] Fix for Xcode settings for the example project --- example-ShaderLiveCoding/Makefile | 4 +- example-ShaderLiveCoding/Project.xcconfig | 10 +- .../project.pbxproj | 608 --------------- .../UserInterfaceState.xcuserstate | Bin 119518 -> 0 bytes .../WorkspaceSettings.xcsettings | 10 - .../xcschemes/xcschememanagement.plist | 27 - example-ShaderLiveCoding/addons.make | 2 +- example-ShaderLiveCoding/bin/data/.gitkeep | 0 example-ShaderLiveCoding/config.make | 84 +- .../project.pbxproj | 728 ++++++++++++++++++ .../contents.xcworkspacedata | 2 +- .../example-ShaderLiveCoding Debug.xcscheme} | 33 +- ...example-ShaderLiveCoding Release.xcscheme} | 35 +- .../openFrameworks-Info.plist | 6 +- example-ShaderLiveCoding/src/main.cpp | 4 +- example-ShaderLiveCoding/src/ofApp.cpp | 60 ++ .../src/{testApp.h => ofApp.h} | 12 +- example-ShaderLiveCoding/src/testApp.cpp | 102 --- 18 files changed, 900 insertions(+), 827 deletions(-) mode change 100755 => 100644 example-ShaderLiveCoding/Makefile mode change 100755 => 100644 example-ShaderLiveCoding/Project.xcconfig delete mode 100755 example-ShaderLiveCoding/ShaderLiveCoding.xcodeproj/project.pbxproj delete mode 100755 example-ShaderLiveCoding/ShaderLiveCoding.xcodeproj/project.xcworkspace/xcuserdata/andreasmuller.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100644 example-ShaderLiveCoding/ShaderLiveCoding.xcodeproj/project.xcworkspace/xcuserdata/andreasmuller.xcuserdatad/WorkspaceSettings.xcsettings delete mode 100755 example-ShaderLiveCoding/ShaderLiveCoding.xcodeproj/xcuserdata/andreasmuller.xcuserdatad/xcschemes/xcschememanagement.plist mode change 100755 => 100644 example-ShaderLiveCoding/addons.make mode change 100755 => 100644 example-ShaderLiveCoding/bin/data/.gitkeep mode change 100755 => 100644 example-ShaderLiveCoding/config.make create mode 100644 example-ShaderLiveCoding/example-ShaderLiveCoding.xcodeproj/project.pbxproj rename example-ShaderLiveCoding/{ShaderLiveCoding.xcodeproj => example-ShaderLiveCoding.xcodeproj}/project.xcworkspace/contents.xcworkspacedata (67%) mode change 100755 => 100644 rename example-ShaderLiveCoding/{ShaderLiveCoding.xcodeproj/xcshareddata/xcschemes/StandaloneTimingServer Debug.xcscheme => example-ShaderLiveCoding.xcodeproj/xcshareddata/xcschemes/example-ShaderLiveCoding Debug.xcscheme} (73%) mode change 100755 => 100644 rename example-ShaderLiveCoding/{ShaderLiveCoding.xcodeproj/xcuserdata/andreasmuller.xcuserdatad/xcschemes/StandaloneTimingServer Release.xcscheme => example-ShaderLiveCoding.xcodeproj/xcshareddata/xcschemes/example-ShaderLiveCoding Release.xcscheme} (72%) mode change 100755 => 100644 mode change 100755 => 100644 example-ShaderLiveCoding/openFrameworks-Info.plist mode change 100755 => 100644 example-ShaderLiveCoding/src/main.cpp create mode 100644 example-ShaderLiveCoding/src/ofApp.cpp rename example-ShaderLiveCoding/src/{testApp.h => ofApp.h} (80%) mode change 100755 => 100644 delete mode 100755 example-ShaderLiveCoding/src/testApp.cpp diff --git a/example-ShaderLiveCoding/Makefile b/example-ShaderLiveCoding/Makefile old mode 100755 new mode 100644 index 2812375..8d8e4c0 --- a/example-ShaderLiveCoding/Makefile +++ b/example-ShaderLiveCoding/Makefile @@ -6,8 +6,8 @@ endif # make sure the the OF_ROOT location is defined ifndef OF_ROOT - OF_ROOT=../../.. + OF_ROOT=$(realpath ../../..) endif # call the project makefile! -include $(OF_ROOT)/libs/openFrameworksCompiled/project/makefileCommon/config.project.make \ No newline at end of file +include $(OF_ROOT)/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk diff --git a/example-ShaderLiveCoding/Project.xcconfig b/example-ShaderLiveCoding/Project.xcconfig old mode 100755 new mode 100644 index c10b9e5..e570b15 --- a/example-ShaderLiveCoding/Project.xcconfig +++ b/example-ShaderLiveCoding/Project.xcconfig @@ -5,5 +5,13 @@ OF_PATH = ../../.. //THIS HAS ALL THE HEADER AND LIBS FOR OF CORE #include "../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig" -OTHER_LDFLAGS = $(OF_CORE_LIBS) +//ICONS - NEW IN 0072 +ICON_NAME_DEBUG = icon-debug.icns +ICON_NAME_RELEASE = icon.icns +ICON_FILE_PATH = $(OF_PATH)/libs/openFrameworksCompiled/project/osx/ + +//IF YOU WANT AN APP TO HAVE A CUSTOM ICON - PUT THEM IN YOUR DATA FOLDER AND CHANGE ICON_FILE_PATH to: +//ICON_FILE_PATH = bin/data/ + +OTHER_LDFLAGS = $(OF_CORE_LIBS) $(OF_CORE_FRAMEWORKS) HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS) diff --git a/example-ShaderLiveCoding/ShaderLiveCoding.xcodeproj/project.pbxproj b/example-ShaderLiveCoding/ShaderLiveCoding.xcodeproj/project.pbxproj deleted file mode 100755 index 3e9657e..0000000 --- a/example-ShaderLiveCoding/ShaderLiveCoding.xcodeproj/project.pbxproj +++ /dev/null @@ -1,608 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 42; - objects = { - -/* Begin PBXBuildFile section */ - BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; }; - CBB6E07416DA514300B0E5A4 /* ofxAutoReloadedShader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CBB6E07216DA514300B0E5A4 /* ofxAutoReloadedShader.cpp */; }; - E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4328148138ABC890047C5CB /* openFrameworksDebug.a */; }; - E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9710E8CC7DD009D7055 /* AGL.framework */; }; - E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */; }; - E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */; }; - E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9740E8CC7DD009D7055 /* Carbon.framework */; }; - E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */; }; - E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */; }; - E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9770E8CC7DD009D7055 /* CoreServices.framework */; }; - E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9790E8CC7DD009D7055 /* OpenGL.framework */; }; - E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */; }; - E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1D0A3A1BDC003C02F2 /* main.cpp */; }; - E4B69E210A3A1BDC003C02F2 /* testApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */; }; - E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424410CC5A17004149E2 /* AppKit.framework */; }; - E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424510CC5A17004149E2 /* Cocoa.framework */; }; - E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424610CC5A17004149E2 /* IOKit.framework */; }; - E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; }; - E7E077E515D3B63C0020DFD4 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */; }; - E7E077E815D3B6510020DFD4 /* QTKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7E077E715D3B6510020DFD4 /* QTKit.framework */; }; - E7F985F815E0DEA3003869B5 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7F985F515E0DE99003869B5 /* Accelerate.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - E4328147138ABC890047C5CB /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = E4B27C1510CBEB8E00536013; - remoteInfo = openFrameworks; - }; - E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = E4B27C1410CBEB8E00536013; - remoteInfo = openFrameworks; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - E4C2427710CC5ABF004149E2 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - BBAB23BE13894E4700AA2426 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../libs/glut/lib/osx/GLUT.framework; sourceTree = ""; }; - CBB6E07016DA510C00B0E5A4 /* ShaderLiveCodingDebug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ShaderLiveCodingDebug.app; sourceTree = BUILT_PRODUCTS_DIR; }; - CBB6E07216DA514300B0E5A4 /* ofxAutoReloadedShader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxAutoReloadedShader.cpp; sourceTree = ""; }; - CBB6E07316DA514300B0E5A4 /* ofxAutoReloadedShader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxAutoReloadedShader.h; sourceTree = ""; }; - E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openFrameworksLib.xcodeproj; path = ../../../libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj; sourceTree = SOURCE_ROOT; }; - E45BE9710E8CC7DD009D7055 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = ""; }; - E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = ""; }; - E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; - E45BE9740E8CC7DD009D7055 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = ""; }; - E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; - E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; }; - E45BE9770E8CC7DD009D7055 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; - E45BE9790E8CC7DD009D7055 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; }; - E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; }; - E4B69E1D0A3A1BDC003C02F2 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; }; - E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = testApp.cpp; path = src/testApp.cpp; sourceTree = SOURCE_ROOT; }; - E4B69E1F0A3A1BDC003C02F2 /* testApp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = testApp.h; path = src/testApp.h; sourceTree = SOURCE_ROOT; }; - E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = "openFrameworks-Info.plist"; sourceTree = ""; }; - E4C2424410CC5A17004149E2 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; - E4C2424510CC5A17004149E2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; - E4C2424610CC5A17004149E2 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = ""; }; - E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CoreOF.xcconfig; path = ../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig; sourceTree = SOURCE_ROOT; }; - E4EB6923138AFD0F00A09F29 /* Project.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Project.xcconfig; sourceTree = ""; }; - E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = /System/Library/Frameworks/CoreVideo.framework; sourceTree = ""; }; - E7E077E715D3B6510020DFD4 /* QTKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = /System/Library/Frameworks/QTKit.framework; sourceTree = ""; }; - E7F985F515E0DE99003869B5 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = /System/Library/Frameworks/Accelerate.framework; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - E4B69B590A3A1756003C02F2 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E7F985F815E0DEA3003869B5 /* Accelerate.framework in Frameworks */, - E7E077E815D3B6510020DFD4 /* QTKit.framework in Frameworks */, - E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */, - E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */, - E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */, - E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */, - E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */, - E45BE97E0E8CC7DD009D7055 /* Carbon.framework in Frameworks */, - E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */, - E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */, - E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */, - E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */, - E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */, - E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */, - E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */, - E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */, - E7E077E515D3B63C0020DFD4 /* CoreVideo.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - BB4B014C10F69532006C3DED /* addons */ = { - isa = PBXGroup; - children = ( - CBB6E07516DA565A00B0E5A4 /* ofxAutoReloadedShader */, - ); - name = addons; - sourceTree = ""; - }; - BBAB23C913894ECA00AA2426 /* system frameworks */ = { - isa = PBXGroup; - children = ( - E7F985F515E0DE99003869B5 /* Accelerate.framework */, - E4C2424410CC5A17004149E2 /* AppKit.framework */, - E4C2424510CC5A17004149E2 /* Cocoa.framework */, - E4C2424610CC5A17004149E2 /* IOKit.framework */, - E45BE9710E8CC7DD009D7055 /* AGL.framework */, - E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */, - E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */, - E45BE9740E8CC7DD009D7055 /* Carbon.framework */, - E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */, - E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */, - E45BE9770E8CC7DD009D7055 /* CoreServices.framework */, - E45BE9790E8CC7DD009D7055 /* OpenGL.framework */, - E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */, - E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */, - E7E077E715D3B6510020DFD4 /* QTKit.framework */, - ); - name = "system frameworks"; - sourceTree = ""; - }; - BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */ = { - isa = PBXGroup; - children = ( - BBAB23BE13894E4700AA2426 /* GLUT.framework */, - ); - name = "3rd party frameworks"; - sourceTree = ""; - }; - CBB6E07116DA514300B0E5A4 /* src */ = { - isa = PBXGroup; - children = ( - CBB6E07216DA514300B0E5A4 /* ofxAutoReloadedShader.cpp */, - CBB6E07316DA514300B0E5A4 /* ofxAutoReloadedShader.h */, - ); - name = src; - path = ../src; - sourceTree = ""; - }; - CBB6E07516DA565A00B0E5A4 /* ofxAutoReloadedShader */ = { - isa = PBXGroup; - children = ( - CBB6E07116DA514300B0E5A4 /* src */, - ); - name = ofxAutoReloadedShader; - sourceTree = ""; - }; - E4328144138ABC890047C5CB /* Products */ = { - isa = PBXGroup; - children = ( - E4328148138ABC890047C5CB /* openFrameworksDebug.a */, - ); - name = Products; - sourceTree = ""; - }; - E45BE5980E8CC70C009D7055 /* frameworks */ = { - isa = PBXGroup; - children = ( - BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */, - BBAB23C913894ECA00AA2426 /* system frameworks */, - ); - name = frameworks; - sourceTree = ""; - }; - E4B69B4A0A3A1720003C02F2 = { - isa = PBXGroup; - children = ( - E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */, - E4EB6923138AFD0F00A09F29 /* Project.xcconfig */, - E4B69E1C0A3A1BDC003C02F2 /* src */, - E4EEC9E9138DF44700A80321 /* openFrameworks */, - BB4B014C10F69532006C3DED /* addons */, - E45BE5980E8CC70C009D7055 /* frameworks */, - CBB6E07016DA510C00B0E5A4 /* ShaderLiveCodingDebug.app */, - ); - sourceTree = ""; - }; - E4B69E1C0A3A1BDC003C02F2 /* src */ = { - isa = PBXGroup; - children = ( - E4B69E1D0A3A1BDC003C02F2 /* main.cpp */, - E4B69E1E0A3A1BDC003C02F2 /* testApp.cpp */, - E4B69E1F0A3A1BDC003C02F2 /* testApp.h */, - ); - path = src; - sourceTree = SOURCE_ROOT; - }; - E4EEC9E9138DF44700A80321 /* openFrameworks */ = { - isa = PBXGroup; - children = ( - E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */, - E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */, - ); - name = openFrameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - E4B69B5A0A3A1756003C02F2 /* ShaderLiveCoding */ = { - isa = PBXNativeTarget; - buildConfigurationList = E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "ShaderLiveCoding" */; - buildPhases = ( - E4B69B580A3A1756003C02F2 /* Sources */, - E4B69B590A3A1756003C02F2 /* Frameworks */, - E4B6FFFD0C3F9AB9008CF71C /* ShellScript */, - E4C2427710CC5ABF004149E2 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - E4EEB9AC138B136A00A80321 /* PBXTargetDependency */, - ); - name = ShaderLiveCoding; - productName = myOFApp; - productReference = CBB6E07016DA510C00B0E5A4 /* ShaderLiveCodingDebug.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - E4B69B4C0A3A1720003C02F2 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "ShaderLiveCoding" */; - compatibilityVersion = "Xcode 2.4"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - English, - Japanese, - French, - German, - ); - mainGroup = E4B69B4A0A3A1720003C02F2; - productRefGroup = E4B69B4A0A3A1720003C02F2; - projectDirPath = ""; - projectReferences = ( - { - ProductGroup = E4328144138ABC890047C5CB /* Products */; - ProjectRef = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; - }, - ); - projectRoot = ""; - targets = ( - E4B69B5A0A3A1756003C02F2 /* ShaderLiveCoding */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXReferenceProxy section */ - E4328148138ABC890047C5CB /* openFrameworksDebug.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = openFrameworksDebug.a; - remoteRef = E4328147138ABC890047C5CB /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - -/* Begin PBXShellScriptBuildPhase section */ - E4B6FFFD0C3F9AB9008CF71C /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "cp -f ../../../libs/fmodex/lib/osx/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/libfmodex.dylib\"; install_name_tool -change ./libfmodex.dylib @executable_path/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME\";"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - E4B69B580A3A1756003C02F2 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */, - E4B69E210A3A1BDC003C02F2 /* testApp.cpp in Sources */, - CBB6E07416DA514300B0E5A4 /* ofxAutoReloadedShader.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - E4EEB9AC138B136A00A80321 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = openFrameworks; - targetProxy = E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - E4B69B4E0A3A1720003C02F2 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; - buildSettings = { - ARCHS = "$(NATIVE_ARCH)"; - CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; - COPY_PHASE_STRIP = NO; - DEAD_CODE_STRIPPING = YES; - GCC_AUTO_VECTORIZATION = YES; - GCC_ENABLE_SSE3_EXTENSIONS = YES; - GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_UNINITIALIZED_AUTOS = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - HEADER_SEARCH_PATHS = ( - "$(OF_CORE_HEADERS)", - ../../../addons/ofxOsc/libs, - ../../../addons/ofxOsc/libs/oscpack, - ../../../addons/ofxOsc/libs/oscpack/src, - ../../../addons/ofxOsc/libs/oscpack/src/ip, - ../../../addons/ofxOsc/libs/oscpack/src/ip/posix, - ../../../addons/ofxOsc/libs/oscpack/src/ip/win32, - ../../../addons/ofxOsc/libs/oscpack/src/osc, - ../../../addons/ofxOsc/src, - src, - ); - OTHER_CPLUSPLUSFLAGS = ( - "-D__MACOSX_CORE__", - "-lpthread", - "-mtune=native", - ); - SDKROOT = macosx; - }; - name = Debug; - }; - E4B69B4F0A3A1720003C02F2 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; - buildSettings = { - ARCHS = "$(NATIVE_ARCH)"; - CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; - COPY_PHASE_STRIP = YES; - DEAD_CODE_STRIPPING = YES; - GCC_AUTO_VECTORIZATION = YES; - GCC_ENABLE_SSE3_EXTENSIONS = YES; - GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; - GCC_INLINES_ARE_PRIVATE_EXTERN = NO; - GCC_OPTIMIZATION_LEVEL = 3; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_UNROLL_LOOPS = YES; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_UNINITIALIZED_AUTOS = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - HEADER_SEARCH_PATHS = ( - "$(OF_CORE_HEADERS)", - ../../../addons/ofxOsc/libs, - ../../../addons/ofxOsc/libs/oscpack, - ../../../addons/ofxOsc/libs/oscpack/src, - ../../../addons/ofxOsc/libs/oscpack/src/ip, - ../../../addons/ofxOsc/libs/oscpack/src/ip/posix, - ../../../addons/ofxOsc/libs/oscpack/src/ip/win32, - ../../../addons/ofxOsc/libs/oscpack/src/osc, - ../../../addons/ofxOsc/src, - src, - ); - OTHER_CPLUSPLUSFLAGS = ( - "-D__MACOSX_CORE__", - "-lpthread", - "-mtune=native", - ); - SDKROOT = macosx; - }; - name = Release; - }; - E4B69B600A3A1757003C02F2 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - ); - FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_MODEL_TUNING = NONE; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; - GCC_PREPROCESSOR_DEFINITIONS = ""; - INFOPLIST_FILE = "openFrameworks-Info.plist"; - INSTALL_PATH = "$(HOME)/Applications"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_52)", - ); - PREBINDING = NO; - PRODUCT_NAME = "$(TARGET_NAME)Debug"; - WRAPPER_EXTENSION = app; - }; - name = Debug; - }; - E4B69B610A3A1757003C02F2 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - ); - FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_MODEL_TUNING = NONE; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; - GCC_PREPROCESSOR_DEFINITIONS = ""; - INFOPLIST_FILE = "openFrameworks-Info.plist"; - INSTALL_PATH = "$(HOME)/Applications"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_1)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)", - ); - PREBINDING = NO; - PRODUCT_NAME = "$(TARGET_NAME)"; - WRAPPER_EXTENSION = app; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "ShaderLiveCoding" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E4B69B4E0A3A1720003C02F2 /* Debug */, - E4B69B4F0A3A1720003C02F2 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "ShaderLiveCoding" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E4B69B600A3A1757003C02F2 /* Debug */, - E4B69B610A3A1757003C02F2 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = E4B69B4C0A3A1720003C02F2 /* Project object */; -} diff --git a/example-ShaderLiveCoding/ShaderLiveCoding.xcodeproj/project.xcworkspace/xcuserdata/andreasmuller.xcuserdatad/UserInterfaceState.xcuserstate b/example-ShaderLiveCoding/ShaderLiveCoding.xcodeproj/project.xcworkspace/xcuserdata/andreasmuller.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100755 index dc630636b38653cb1f706dc965f3f400b9d00a57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 119518 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 - - - - HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges - - SnapshotAutomaticallyBeforeSignificantChanges - - - diff --git a/example-ShaderLiveCoding/ShaderLiveCoding.xcodeproj/xcuserdata/andreasmuller.xcuserdatad/xcschemes/xcschememanagement.plist b/example-ShaderLiveCoding/ShaderLiveCoding.xcodeproj/xcuserdata/andreasmuller.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100755 index b700f63..0000000 --- a/example-ShaderLiveCoding/ShaderLiveCoding.xcodeproj/xcuserdata/andreasmuller.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,27 +0,0 @@ - - - - - SchemeUserState - - StandaloneTimingServer Debug.xcscheme_^#shared#^_ - - orderHint - 1 - - StandaloneTimingServer Release.xcscheme - - orderHint - 2 - - - SuppressBuildableAutocreation - - E4B69B5A0A3A1756003C02F2 - - primary - - - - - diff --git a/example-ShaderLiveCoding/addons.make b/example-ShaderLiveCoding/addons.make old mode 100755 new mode 100644 index 8b13789..205d10e --- a/example-ShaderLiveCoding/addons.make +++ b/example-ShaderLiveCoding/addons.make @@ -1 +1 @@ - +ofxAutoReloadedShader diff --git a/example-ShaderLiveCoding/bin/data/.gitkeep b/example-ShaderLiveCoding/bin/data/.gitkeep old mode 100755 new mode 100644 diff --git a/example-ShaderLiveCoding/config.make b/example-ShaderLiveCoding/config.make old mode 100755 new mode 100644 index b05a30f..df10f64 --- a/example-ShaderLiveCoding/config.make +++ b/example-ShaderLiveCoding/config.make @@ -1,23 +1,22 @@ ################################################################################ -# CONFIGURE PROJECT MAKEFILE +# CONFIGURE PROJECT MAKEFILE (optional) # This file is where we make project specific configurations. ################################################################################ -OF_ROOT=../../.. - ################################################################################ -# Custom Application Name -# Will default to the project's folder name if not defined. +# OF ROOT +# The location of your root openFrameworks installation +# (default) OF_ROOT = ../../.. ################################################################################ - -#APPNAME=myappname +# OF_ROOT = ../../.. ################################################################################ # PROJECT ROOT -# If not defined, the project root is assumed to be "this" directory (i.e. ./) +# The location of the project - a starting place for searching for files +# (default) PROJECT_ROOT = . (this directory) +# ################################################################################ - -PROJECT_ROOT = . +# PROJECT_ROOT = . ################################################################################ # PROJECT SPECIFIC CHECKS @@ -28,15 +27,16 @@ PROJECT_ROOT = . ################################################################################ # None -# ################################################################################ -# # PROJECT EXTERNAL SOURCE PATHS -# # These are fully qualified paths that are not within the PROJECT_ROOT folder. -# # Like source folders in the PROJECT_ROOT, these paths are subject to -# # exlclusion via the PROJECT_EXLCUSIONS list. -# # -# # Note: Leave a leading space when adding list items with the += operator -# ################################################################################ - +################################################################################ +# PROJECT EXTERNAL SOURCE PATHS +# These are fully qualified paths that are not within the PROJECT_ROOT folder. +# Like source folders in the PROJECT_ROOT, these paths are subject to +# exlclusion via the PROJECT_EXLCUSIONS list. +# +# (default) PROJECT_EXTERNAL_SOURCE_PATHS = (blank) +# +# Note: Leave a leading space when adding list items with the += operator +################################################################################ # PROJECT_EXTERNAL_SOURCE_PATHS = ################################################################################ @@ -51,18 +51,24 @@ PROJECT_ROOT = . # GNU make only allows one wildcard for matching. The second wildcard (%) is # treated literally. # +# (default) PROJECT_EXCLUSIONS = (blank) +# +# Will automatically exclude the following: +# +# $(PROJECT_ROOT)/bin% +# $(PROJECT_ROOT)/obj% +# $(PROJECT_ROOT)/%.xcodeproj +# # Note: Leave a leading space when adding list items with the += operator ################################################################################ - -PROJECT_EXCLUSIONS = -PROJECT_EXCLUSIONS += $(PROJECT_ROOT)/bin% -PROJECT_EXCLUSIONS += $(PROJECT_ROOT)/obj% -PROJECT_EXCLUSIONS += $(PROJECT_ROOT)/%.xcodeproj +# PROJECT_EXCLUSIONS = ################################################################################ # PROJECT LINKER FLAGS # These flags will be sent to the linker when compiling the executable. # +# (default) PROJECT_LDFLAGS = -Wl,-rpath=./libs +# # Note: Leave a leading space when adding list items with the += operator ################################################################################ @@ -71,17 +77,18 @@ PROJECT_EXCLUSIONS += $(PROJECT_ROOT)/%.xcodeproj # add a runtime path to search for those shared libraries, since they aren't # incorporated directly into the final executable application binary. # TODO: should this be a default setting? -PROJECT_LDFLAGS=-Wl,-rpath=./libs +# PROJECT_LDFLAGS=-Wl,-rpath=./libs ################################################################################ # PROJECT DEFINES # Create a space-delimited list of DEFINES. The list will be converted into # CFLAGS with the "-D" flag later in the makefile. # +# (default) PROJECT_DEFINES = (blank) +# # Note: Leave a leading space when adding list items with the += operator ################################################################################ - -PROJECT_DEFINES = +# PROJECT_DEFINES = ################################################################################ # PROJECT CFLAGS @@ -90,14 +97,15 @@ PROJECT_DEFINES = # defined in your platform specific core configuration files. These flags are # presented to the compiler BEFORE the PROJECT_OPTIMIZATION_CFLAGS below. # +# (default) PROJECT_CFLAGS = (blank) +# # Note: Before adding PROJECT_CFLAGS, note that the PLATFORM_CFLAGS defined in # your platform specific configuration file will be applied by default and # further flags here may not be needed. # # Note: Leave a leading space when adding list items with the += operator ################################################################################ - -PROJECT_CFLAGS = +# PROJECT_CFLAGS = ################################################################################ # PROJECT OPTIMIZATION CFLAGS @@ -107,8 +115,12 @@ PROJECT_CFLAGS = # # PROJECT_OPTIMIZATION_CFLAGS_RELEASE flags are only applied to RELEASE targets. # +# (default) PROJECT_OPTIMIZATION_CFLAGS_RELEASE = (blank) +# # PROJECT_OPTIMIZATION_CFLAGS_DEBUG flags are only applied to DEBUG targets. # +# (default) PROJECT_OPTIMIZATION_CFLAGS_DEBUG = (blank) +# # Note: Before adding PROJECT_OPTIMIZATION_CFLAGS, please note that the # PLATFORM_OPTIMIZATION_CFLAGS defined in your platform specific configuration # file will be applied by default and further optimization flags here may not @@ -116,7 +128,15 @@ PROJECT_CFLAGS = # # Note: Leave a leading space when adding list items with the += operator ################################################################################ +# PROJECT_OPTIMIZATION_CFLAGS_RELEASE = +# PROJECT_OPTIMIZATION_CFLAGS_DEBUG = -PROJECT_CFLAGS_RELEASE = -PROJECT_CFLAGS_DEBUG = - +################################################################################ +# PROJECT COMPILERS +# Custom compilers can be set for CC and CXX +# (default) PROJECT_CXX = (blank) +# (default) PROJECT_CC = (blank) +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_CXX = +# PROJECT_CC = diff --git a/example-ShaderLiveCoding/example-ShaderLiveCoding.xcodeproj/project.pbxproj b/example-ShaderLiveCoding/example-ShaderLiveCoding.xcodeproj/project.pbxproj new file mode 100644 index 0000000..612e756 --- /dev/null +++ b/example-ShaderLiveCoding/example-ShaderLiveCoding.xcodeproj/project.pbxproj @@ -0,0 +1,728 @@ + + + + archiveVersion + 1 + classes + + objectVersion + 46 + objects + + F3CFD94F37ABC9182A320B79 + + explicitFileType + sourcecode.c.h + fileEncoding + 30 + isa + PBXFileReference + name + ofxAutoReloadedShader.h + path + ../../../addons/ofxAutoReloadedShader/src/ofxAutoReloadedShader.h + sourceTree + SOURCE_ROOT + + 348096EAEFAC358FDD5E584A + + children + + 65E3959FF1F849DAE3BCC008 + F3CFD94F37ABC9182A320B79 + + isa + PBXGroup + name + src + sourceTree + <group> + + 38A85F4B8B6D987F0B0390B2 + + children + + 348096EAEFAC358FDD5E584A + + isa + PBXGroup + name + ofxAutoReloadedShader + sourceTree + <group> + + 622F2B6B3FFAA37224C22AD2 + + fileRef + 65E3959FF1F849DAE3BCC008 + isa + PBXBuildFile + + 65E3959FF1F849DAE3BCC008 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 30 + isa + PBXFileReference + name + ofxAutoReloadedShader.cpp + path + ../../../addons/ofxAutoReloadedShader/src/ofxAutoReloadedShader.cpp + sourceTree + SOURCE_ROOT + + 6948EE371B920CB800B5AC1A + + children + + isa + PBXGroup + name + local_addons + sourceTree + <group> + + BB4B014C10F69532006C3DED + + children + + 38A85F4B8B6D987F0B0390B2 + + isa + PBXGroup + name + addons + sourceTree + <group> + + E4328143138ABC890047C5CB + + isa + PBXFileReference + lastKnownFileType + wrapper.pb-project + name + openFrameworksLib.xcodeproj + path + ../../../libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj + sourceTree + SOURCE_ROOT + + E4328144138ABC890047C5CB + + children + + E4328148138ABC890047C5CB + + isa + PBXGroup + name + Products + sourceTree + <group> + + E4328147138ABC890047C5CB + + containerPortal + E4328143138ABC890047C5CB + isa + PBXContainerItemProxy + proxyType + 2 + remoteGlobalIDString + E4B27C1510CBEB8E00536013 + remoteInfo + openFrameworks + + E4328148138ABC890047C5CB + + fileType + archive.ar + isa + PBXReferenceProxy + path + openFrameworksDebug.a + remoteRef + E4328147138ABC890047C5CB + sourceTree + BUILT_PRODUCTS_DIR + + E4328149138ABC9F0047C5CB + + fileRef + E4328148138ABC890047C5CB + isa + PBXBuildFile + + E4B69B4A0A3A1720003C02F2 + + children + + E4B6FCAD0C3E899E008CF71C + E4EB6923138AFD0F00A09F29 + E4B69E1C0A3A1BDC003C02F2 + E4EEC9E9138DF44700A80321 + BB4B014C10F69532006C3DED + 6948EE371B920CB800B5AC1A + E4B69B5B0A3A1756003C02F2 + + isa + PBXGroup + sourceTree + <group> + + E4B69B4C0A3A1720003C02F2 + + attributes + + LastUpgradeCheck + 0600 + + buildConfigurationList + E4B69B4D0A3A1720003C02F2 + compatibilityVersion + Xcode 3.2 + developmentRegion + English + hasScannedForEncodings + 0 + isa + PBXProject + knownRegions + + English + Japanese + French + German + + mainGroup + E4B69B4A0A3A1720003C02F2 + productRefGroup + E4B69B4A0A3A1720003C02F2 + projectDirPath + + projectReferences + + + ProductGroup + E4328144138ABC890047C5CB + ProjectRef + E4328143138ABC890047C5CB + + + projectRoot + + targets + + E4B69B5A0A3A1756003C02F2 + + + E4B69B4D0A3A1720003C02F2 + + buildConfigurations + + E4B69B4E0A3A1720003C02F2 + E4B69B4F0A3A1720003C02F2 + + defaultConfigurationIsVisible + 0 + defaultConfigurationName + Release + isa + XCConfigurationList + + E4B69B4E0A3A1720003C02F2 + + baseConfigurationReference + E4EB6923138AFD0F00A09F29 + buildSettings + + HEADER_SEARCH_PATHS + + $(OF_CORE_HEADERS) + ../../../addons/ofxAutoReloadedShader/src + + CONFIGURATION_BUILD_DIR + $(SRCROOT)/bin/ + COPY_PHASE_STRIP + NO + DEAD_CODE_STRIPPING + YES + GCC_AUTO_VECTORIZATION + YES + GCC_ENABLE_SSE3_EXTENSIONS + YES + GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS + YES + GCC_INLINES_ARE_PRIVATE_EXTERN + NO + GCC_OPTIMIZATION_LEVEL + 0 + GCC_SYMBOLS_PRIVATE_EXTERN + NO + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS + YES + GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO + NO + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL + NO + GCC_WARN_UNINITIALIZED_AUTOS + NO + GCC_WARN_UNUSED_VALUE + NO + GCC_WARN_UNUSED_VARIABLE + NO + MACOSX_DEPLOYMENT_TARGET + 10.8 + ONLY_ACTIVE_ARCH + YES + OTHER_CPLUSPLUSFLAGS + + -D__MACOSX_CORE__ + -mtune=native + + SDKROOT + macosx + + isa + XCBuildConfiguration + name + Debug + + E4B69B4F0A3A1720003C02F2 + + baseConfigurationReference + E4EB6923138AFD0F00A09F29 + buildSettings + + HEADER_SEARCH_PATHS + + $(OF_CORE_HEADERS) + ../../../addons/ofxAutoReloadedShader/src + + CONFIGURATION_BUILD_DIR + $(SRCROOT)/bin/ + COPY_PHASE_STRIP + YES + DEAD_CODE_STRIPPING + YES + GCC_AUTO_VECTORIZATION + YES + GCC_ENABLE_SSE3_EXTENSIONS + YES + GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS + YES + GCC_INLINES_ARE_PRIVATE_EXTERN + NO + GCC_OPTIMIZATION_LEVEL + 3 + GCC_SYMBOLS_PRIVATE_EXTERN + NO + GCC_UNROLL_LOOPS + YES + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS + YES + GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO + NO + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL + NO + GCC_WARN_UNINITIALIZED_AUTOS + NO + GCC_WARN_UNUSED_VALUE + NO + GCC_WARN_UNUSED_VARIABLE + NO + MACOSX_DEPLOYMENT_TARGET + 10.8 + OTHER_CPLUSPLUSFLAGS + + -D__MACOSX_CORE__ + -mtune=native + + SDKROOT + macosx + + isa + XCBuildConfiguration + name + Release + + E4B69B580A3A1756003C02F2 + + buildActionMask + 2147483647 + files + + E4B69E200A3A1BDC003C02F2 + E4B69E210A3A1BDC003C02F2 + 622F2B6B3FFAA37224C22AD2 + + isa + PBXSourcesBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + E4B69B590A3A1756003C02F2 + + buildActionMask + 2147483647 + files + + E4328149138ABC9F0047C5CB + + isa + PBXFrameworksBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + E4B69B5A0A3A1756003C02F2 + + buildConfigurationList + E4B69B5F0A3A1757003C02F2 + buildPhases + + E4B69B580A3A1756003C02F2 + E4B69B590A3A1756003C02F2 + E4B6FFFD0C3F9AB9008CF71C + E4C2427710CC5ABF004149E2 + + buildRules + + dependencies + + E4EEB9AC138B136A00A80321 + + isa + PBXNativeTarget + name + example-ShaderLiveCoding + productName + myOFApp + productReference + E4B69B5B0A3A1756003C02F2 + productType + com.apple.product-type.application + + E4B69B5B0A3A1756003C02F2 + + explicitFileType + wrapper.application + includeInIndex + 0 + isa + PBXFileReference + path + example-ShaderLiveCodingDebug.app + sourceTree + BUILT_PRODUCTS_DIR + + E4B69B5F0A3A1757003C02F2 + + buildConfigurations + + E4B69B600A3A1757003C02F2 + E4B69B610A3A1757003C02F2 + + defaultConfigurationIsVisible + 0 + defaultConfigurationName + Release + isa + XCConfigurationList + + E4B69B600A3A1757003C02F2 + + baseConfigurationReference + E4EB6923138AFD0F00A09F29 + buildSettings + + HEADER_SEARCH_PATHS + + $(OF_CORE_HEADERS) + ../../../addons/ofxAutoReloadedShader/src + + COMBINE_HIDPI_IMAGES + YES + COPY_PHASE_STRIP + NO + FRAMEWORK_SEARCH_PATHS + + $(inherited) + $(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1) + + FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 + "$(SRCROOT)/../../../libs/glut/lib/osx" + GCC_DYNAMIC_NO_PIC + NO + GCC_GENERATE_DEBUGGING_SYMBOLS + YES + GCC_MODEL_TUNING + NONE + ICON + $(ICON_NAME_DEBUG) + ICON_FILE + $(ICON_FILE_PATH)$(ICON) + INFOPLIST_FILE + openFrameworks-Info.plist + INSTALL_PATH + /Applications + LIBRARY_SEARCH_PATHS + $(inherited) + PRODUCT_NAME + $(TARGET_NAME)Debug + WRAPPER_EXTENSION + app + + isa + XCBuildConfiguration + name + Debug + + E4B69B610A3A1757003C02F2 + + baseConfigurationReference + E4EB6923138AFD0F00A09F29 + buildSettings + + HEADER_SEARCH_PATHS + + $(OF_CORE_HEADERS) + ../../../addons/ofxAutoReloadedShader/src + + COMBINE_HIDPI_IMAGES + YES + COPY_PHASE_STRIP + YES + FRAMEWORK_SEARCH_PATHS + + $(inherited) + $(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1) + + FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 + "$(SRCROOT)/../../../libs/glut/lib/osx" + GCC_GENERATE_DEBUGGING_SYMBOLS + YES + GCC_MODEL_TUNING + NONE + ICON + $(ICON_NAME_RELEASE) + ICON_FILE + $(ICON_FILE_PATH)$(ICON) + INFOPLIST_FILE + openFrameworks-Info.plist + INSTALL_PATH + /Applications + LIBRARY_SEARCH_PATHS + $(inherited) + PRODUCT_NAME + $(TARGET_NAME) + WRAPPER_EXTENSION + app + baseConfigurationReference + E4EB6923138AFD0F00A09F29 + + isa + XCBuildConfiguration + name + Release + + E4B69E1C0A3A1BDC003C02F2 + + children + + E4B69E1D0A3A1BDC003C02F2 + E4B69E1E0A3A1BDC003C02F2 + E4B69E1F0A3A1BDC003C02F2 + + isa + PBXGroup + path + src + sourceTree + SOURCE_ROOT + + E4B69E1D0A3A1BDC003C02F2 + + fileEncoding + 30 + isa + PBXFileReference + lastKnownFileType + sourcecode.cpp.cpp + name + main.cpp + path + src/main.cpp + sourceTree + SOURCE_ROOT + + E4B69E1E0A3A1BDC003C02F2 + + explicitFileType + sourcecode.cpp.cpp + fileEncoding + 30 + isa + PBXFileReference + name + ofApp.cpp + path + src/ofApp.cpp + sourceTree + SOURCE_ROOT + + E4B69E1F0A3A1BDC003C02F2 + + fileEncoding + 30 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + ofApp.h + path + src/ofApp.h + sourceTree + SOURCE_ROOT + + E4B69E200A3A1BDC003C02F2 + + fileRef + E4B69E1D0A3A1BDC003C02F2 + isa + PBXBuildFile + + E4B69E210A3A1BDC003C02F2 + + fileRef + E4B69E1E0A3A1BDC003C02F2 + isa + PBXBuildFile + + E4B6FCAD0C3E899E008CF71C + + fileEncoding + 30 + isa + PBXFileReference + lastKnownFileType + text.plist.xml + path + openFrameworks-Info.plist + sourceTree + <group> + + E4B6FFFD0C3F9AB9008CF71C + + buildActionMask + 2147483647 + files + + inputPaths + + isa + PBXShellScriptBuildPhase + outputPaths + + runOnlyForDeploymentPostprocessing + 0 + shellPath + /bin/sh + shellScript + mkdir -p "$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/" +# Copy default icon file into App/Resources +rsync -aved "$ICON_FILE" "$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/" +# Copy libfmod and change install directory for fmod to run +rsync -aved ../../../libs/fmodex/lib/osx/libfmodex.dylib "$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Frameworks/"; +install_name_tool -change @executable_path/libfmodex.dylib @executable_path/../Frameworks/libfmodex.dylib "$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME"; +# Copy GLUT framework (must remove for AppStore submissions) +rsync -aved ../../../libs/glut/lib/osx/GLUT.framework "$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Frameworks/" + + + E4C2427710CC5ABF004149E2 + + buildActionMask + 2147483647 + dstPath + + dstSubfolderSpec + 10 + files + + isa + PBXCopyFilesBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + E4EB691F138AFCF100A09F29 + + fileEncoding + 4 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + name + CoreOF.xcconfig + path + ../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig + sourceTree + SOURCE_ROOT + + E4EB6923138AFD0F00A09F29 + + fileEncoding + 4 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + Project.xcconfig + sourceTree + <group> + + E4EEB9AB138B136A00A80321 + + containerPortal + E4328143138ABC890047C5CB + isa + PBXContainerItemProxy + proxyType + 1 + remoteGlobalIDString + E4B27C1410CBEB8E00536013 + remoteInfo + openFrameworks + + E4EEB9AC138B136A00A80321 + + isa + PBXTargetDependency + name + openFrameworks + targetProxy + E4EEB9AB138B136A00A80321 + + E4EEC9E9138DF44700A80321 + + children + + E4EB691F138AFCF100A09F29 + E4328143138ABC890047C5CB + + isa + PBXGroup + name + openFrameworks + sourceTree + <group> + + + rootObject + E4B69B4C0A3A1720003C02F2 + + diff --git a/example-ShaderLiveCoding/ShaderLiveCoding.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/example-ShaderLiveCoding/example-ShaderLiveCoding.xcodeproj/project.xcworkspace/contents.xcworkspacedata old mode 100755 new mode 100644 similarity index 67% rename from example-ShaderLiveCoding/ShaderLiveCoding.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to example-ShaderLiveCoding/example-ShaderLiveCoding.xcodeproj/project.xcworkspace/contents.xcworkspacedata index 710ab33..919434a --- a/example-ShaderLiveCoding/ShaderLiveCoding.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ b/example-ShaderLiveCoding/example-ShaderLiveCoding.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -2,6 +2,6 @@ + location = "self:"> diff --git a/example-ShaderLiveCoding/ShaderLiveCoding.xcodeproj/xcshareddata/xcschemes/StandaloneTimingServer Debug.xcscheme b/example-ShaderLiveCoding/example-ShaderLiveCoding.xcodeproj/xcshareddata/xcschemes/example-ShaderLiveCoding Debug.xcscheme old mode 100755 new mode 100644 similarity index 73% rename from example-ShaderLiveCoding/ShaderLiveCoding.xcodeproj/xcshareddata/xcschemes/StandaloneTimingServer Debug.xcscheme rename to example-ShaderLiveCoding/example-ShaderLiveCoding.xcodeproj/xcshareddata/xcschemes/example-ShaderLiveCoding Debug.xcscheme index 38293c0..79ad172 --- a/example-ShaderLiveCoding/ShaderLiveCoding.xcodeproj/xcshareddata/xcschemes/StandaloneTimingServer Debug.xcscheme +++ b/example-ShaderLiveCoding/example-ShaderLiveCoding.xcodeproj/xcshareddata/xcschemes/example-ShaderLiveCoding Debug.xcscheme @@ -1,5 +1,6 @@ + BuildableName = "example-ShaderLiveCoding.app" + BlueprintName = "example-ShaderLiveCoding" + ReferencedContainer = "container:example-ShaderLiveCoding.xcodeproj"> @@ -32,15 +33,15 @@ + BuildableName = "example-ShaderLiveCoding.app" + BlueprintName = "example-ShaderLiveCoding" + ReferencedContainer = "container:example-ShaderLiveCoding.xcodeproj"> + BuildableName = "example-ShaderLiveCoding.app" + BlueprintName = "example-ShaderLiveCoding" + ReferencedContainer = "container:example-ShaderLiveCoding.xcodeproj"> @@ -69,9 +70,9 @@ + BuildableName = "example-ShaderLiveCoding.app" + BlueprintName = "example-ShaderLiveCoding" + ReferencedContainer = "container:example-ShaderLiveCoding.xcodeproj"> diff --git a/example-ShaderLiveCoding/ShaderLiveCoding.xcodeproj/xcuserdata/andreasmuller.xcuserdatad/xcschemes/StandaloneTimingServer Release.xcscheme b/example-ShaderLiveCoding/example-ShaderLiveCoding.xcodeproj/xcshareddata/xcschemes/example-ShaderLiveCoding Release.xcscheme old mode 100755 new mode 100644 similarity index 72% rename from example-ShaderLiveCoding/ShaderLiveCoding.xcodeproj/xcuserdata/andreasmuller.xcuserdatad/xcschemes/StandaloneTimingServer Release.xcscheme rename to example-ShaderLiveCoding/example-ShaderLiveCoding.xcodeproj/xcshareddata/xcschemes/example-ShaderLiveCoding Release.xcscheme index d6fa078..4aae915 --- a/example-ShaderLiveCoding/ShaderLiveCoding.xcodeproj/xcuserdata/andreasmuller.xcuserdatad/xcschemes/StandaloneTimingServer Release.xcscheme +++ b/example-ShaderLiveCoding/example-ShaderLiveCoding.xcodeproj/xcshareddata/xcschemes/example-ShaderLiveCoding Release.xcscheme @@ -1,5 +1,6 @@ + BuildableName = "example-ShaderLiveCoding.app" + BlueprintName = "example-ShaderLiveCoding" + ReferencedContainer = "container:example-ShaderLiveCoding.xcodeproj"> + buildConfiguration = "Release"> + BuildableName = "example-ShaderLiveCoding.app" + BlueprintName = "example-ShaderLiveCoding" + ReferencedContainer = "container:example-ShaderLiveCoding.xcodeproj"> + BuildableName = "example-ShaderLiveCoding.app" + BlueprintName = "example-ShaderLiveCoding" + ReferencedContainer = "container:example-ShaderLiveCoding.xcodeproj"> @@ -69,9 +70,9 @@ + BuildableName = "example-ShaderLiveCoding.app" + BlueprintName = "example-ShaderLiveCoding" + ReferencedContainer = "container:example-ShaderLiveCoding.xcodeproj"> diff --git a/example-ShaderLiveCoding/openFrameworks-Info.plist b/example-ShaderLiveCoding/openFrameworks-Info.plist old mode 100755 new mode 100644 index e5db555..8d64d2b --- a/example-ShaderLiveCoding/openFrameworks-Info.plist +++ b/example-ShaderLiveCoding/openFrameworks-Info.plist @@ -1,5 +1,5 @@ - + CFBundleDevelopmentRegion @@ -7,7 +7,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - com.yourcompany.openFrameworks + cc.openFrameworks.ofapp CFBundleInfoDictionaryVersion 6.0 CFBundlePackageType @@ -16,5 +16,7 @@ ???? CFBundleVersion 1.0 + CFBundleIconFile + ${ICON} diff --git a/example-ShaderLiveCoding/src/main.cpp b/example-ShaderLiveCoding/src/main.cpp old mode 100755 new mode 100644 index 610f50c..76712f0 --- a/example-ShaderLiveCoding/src/main.cpp +++ b/example-ShaderLiveCoding/src/main.cpp @@ -1,5 +1,5 @@ #include "ofMain.h" -#include "testApp.h" +#include "ofApp.h" #ifdef TARGET_OPENGLES #include "ofGLES2Renderer.h" #endif @@ -15,6 +15,6 @@ int main( ){ // this kicks off the running of my app // can be OF_WINDOW or OF_FULLSCREEN // pass in width and height too: - ofRunApp( new testApp()); + ofRunApp(new ofApp()); } diff --git a/example-ShaderLiveCoding/src/ofApp.cpp b/example-ShaderLiveCoding/src/ofApp.cpp new file mode 100644 index 0000000..fcf4bcc --- /dev/null +++ b/example-ShaderLiveCoding/src/ofApp.cpp @@ -0,0 +1,60 @@ +#include "ofApp.h" + +void ofApp::setup() { + ofSetLogLevel(OF_LOG_VERBOSE); + +#ifdef TARGET_OPENGLES + autoShader.load("Shaders/LiveShader"); + cout << "Loading mobile shader" << endl; +#else + autoShader.load("Shaders/LiveShaderDesktop"); + cout << "Loading desktop shader" << endl; +#endif + + fbo.allocate(ofGetWidth(), ofGetHeight()); + fbo.begin(); + ofClear(0, 0, 0, 0); + fbo.end(); + + image.load("Textures/landangui.jpg"); + + font.load(ofToDataPath("Fonts/DIN.otf"), 8); +} + +void ofApp::update() {} + +void ofApp::draw() { + // draw to the FBO + ofEnableAlphaBlending(); + fbo.begin(); + ofClear(0, 0, 0, 0); + autoShader.begin(); + autoShader.setUniform1f("u_time", ofGetElapsedTimef() ); + image.draw(0,0, ofGetWidth(), ofGetHeight() ); + autoShader.end(); + fbo.end(); + ofDisableAlphaBlending(); + + // draw the FBO to screen + fbo.draw(0, 0); + + // draw the FPS + sprintf(tempStr, "%4.1f", ofGetFrameRate() ); + ofVec2f pos( ofGetWidth()-30, ofGetHeight()-5 ); + ofSetColor(0); + font.drawString( tempStr, pos.x + 1, pos.y + 1 ); + ofSetColor( 255 ); + font.drawString( tempStr, pos.x, pos.y ); +} + +void ofApp::keyPressed(int key) {} +void ofApp::keyReleased(int key) {} +void ofApp::mouseMoved(int x, int y ) {} +void ofApp::mouseDragged(int x, int y, int button) {} +void ofApp::mousePressed(int x, int y, int button) {} +void ofApp::mouseReleased(int x, int y, int button) {} +void ofApp::mouseEntered(int x, int y) {} +void ofApp::mouseExited(int x, int y) {} +void ofApp::windowResized(int w, int h) {} +void ofApp::gotMessage(ofMessage msg) {} +void ofApp::dragEvent(ofDragInfo dragInfo) {} diff --git a/example-ShaderLiveCoding/src/testApp.h b/example-ShaderLiveCoding/src/ofApp.h old mode 100755 new mode 100644 similarity index 80% rename from example-ShaderLiveCoding/src/testApp.h rename to example-ShaderLiveCoding/src/ofApp.h index 5b5268e..62d60dc --- a/example-ShaderLiveCoding/src/testApp.h +++ b/example-ShaderLiveCoding/src/ofApp.h @@ -3,24 +3,25 @@ #include "ofMain.h" #include "ofxAutoReloadedShader.h" -class testApp : public ofBaseApp{ +class ofApp : public ofBaseApp{ public: - void setup(); void update(); void draw(); - + void keyPressed(int key); void keyReleased(int key); void mouseMoved(int x, int y ); void mouseDragged(int x, int y, int button); void mousePressed(int x, int y, int button); void mouseReleased(int x, int y, int button); + void mouseEntered(int x, int y); + void mouseExited(int x, int y); void windowResized(int w, int h); void dragEvent(ofDragInfo dragInfo); - void gotMessage(ofMessage msg); - + void gotMessage(ofMessage msg); + ofxAutoReloadedShader autoShader; ofFbo fbo; @@ -30,4 +31,3 @@ class testApp : public ofBaseApp{ char tempStr[512]; }; - diff --git a/example-ShaderLiveCoding/src/testApp.cpp b/example-ShaderLiveCoding/src/testApp.cpp deleted file mode 100755 index 9db5a14..0000000 --- a/example-ShaderLiveCoding/src/testApp.cpp +++ /dev/null @@ -1,102 +0,0 @@ -#include "testApp.h" - - -//-------------------------------------------------------------- -void testApp::setup() -{ - ofSetLogLevel(OF_LOG_VERBOSE); - -#ifdef TARGET_OPENGLES - autoShader.load("Shaders/LiveShader"); - cout << "Loading mobile shader" << endl; -#else - autoShader.load("Shaders/LiveShaderDesktop"); - cout << "Loading desktop shader" << endl; -#endif - - fbo.allocate(ofGetWidth(), ofGetHeight()); - fbo.begin(); - ofClear(0, 0, 0, 0); - fbo.end(); - - image.loadImage("Textures/landangui.jpg"); - - font.loadFont(ofToDataPath( "Fonts/DIN.otf"), 8 ); -} - -//-------------------------------------------------------------- -void testApp::update() -{ -} - -//-------------------------------------------------------------- -void testApp::draw() -{ - // draw to the FBO - ofEnableAlphaBlending(); - fbo.begin(); - ofClear(0, 0, 0, 0); - autoShader.begin(); - autoShader.setUniform1f("u_time", ofGetElapsedTimef() ); - image.draw(0,0, ofGetWidth(), ofGetHeight() ); - autoShader.end(); - fbo.end(); - ofDisableAlphaBlending(); - - // draw the FBO to screen - fbo.draw(0, 0); - - // draw the FPS - sprintf(tempStr, "%4.1f", ofGetFrameRate() ); - ofVec2f pos( ofGetWidth()-30, ofGetHeight()-5 ); - ofSetColor(0); - font.drawString( tempStr, pos.x + 1, pos.y + 1 ); - ofSetColor( 255 ); - font.drawString( tempStr, pos.x, pos.y ); -} - -//-------------------------------------------------------------- -void testApp::keyPressed (int key) -{ -} - -//-------------------------------------------------------------- -void testApp::keyReleased(int key) -{ -} - -//-------------------------------------------------------------- -void testApp::mouseMoved(int x, int y ) -{ -} - -//-------------------------------------------------------------- -void testApp::mouseDragged(int x, int y, int button) -{ -} - -//-------------------------------------------------------------- -void testApp::mousePressed(int x, int y, int button) -{ -} - -//-------------------------------------------------------------- -void testApp::mouseReleased(int x, int y, int button) -{ -} - -//-------------------------------------------------------------- -void testApp::windowResized(int w, int h) -{ -} - -//-------------------------------------------------------------- -void testApp::gotMessage(ofMessage msg) -{ -} - -//-------------------------------------------------------------- -void testApp::dragEvent(ofDragInfo dragInfo) -{ -} -