├── README.md ├── ofxPJControl_Example ├── Makefile ├── Project.xcconfig ├── addons.make ├── bin │ └── data │ │ └── .gitkeep ├── config.make ├── ofxPJControl_Example.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── ofxPJControl_Example.xccheckout │ │ └── xcuserdata │ │ │ ├── FakeMike.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ │ │ └── fakelove.xcuserdatad │ │ │ ├── UserInterfaceState.xcuserstate │ │ │ └── WorkspaceSettings.xcsettings │ ├── xcshareddata │ │ └── xcschemes │ │ │ ├── Pj_Control_Test Debug.xcscheme │ │ │ └── Pj_Control_Test Release.xcscheme │ └── xcuserdata │ │ ├── FakeMike.xcuserdatad │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── fakelove.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist ├── openFrameworks-Info.plist └── src │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── ofxPJControl_Timer_Automation_Example ├── Makefile ├── Project.xcconfig ├── addons.make ├── bin │ └── data │ │ └── .gitkeep ├── config.make ├── ofxPJControl_TimerAutomationExample.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── ofxPJControl_TimerAutomationExample.xccheckout │ │ └── xcuserdata │ │ │ └── FakeMike.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ ├── xcshareddata │ │ └── xcschemes │ │ │ ├── ofxPJControl_TimerAutomationExample Debug.xcscheme │ │ │ └── ofxPJControl_TimerAutomationExample Release.xcscheme │ └── xcuserdata │ │ └── FakeMike.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist ├── openFrameworks-Info.plist └── src │ ├── ProjectorTimer.cpp │ ├── ProjectorTimer.h │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h └── src ├── ofxPJControl.cpp └── ofxPJControl.h /README.md: -------------------------------------------------------------------------------- 1 | 2 | ofxPJControl 3 | =========== 4 | 5 | An openFrameworks addon to send commands to video projectors over a network 6 | 7 | #### Supported Projectors 8 | 9 | - PJLink (most projectors) 10 | - NEC projector 11 | - CHRISTIE, SANYO and EPSON via raw string commands 12 | - PROJECTION DESIGN (Now BARCO) 13 | 14 | #### Dependency 15 | 16 | - ofxNetwork core addon 17 | 18 | #### PJLink Specification 19 | 20 | http://pjlink.jbmia.or.jp/english/data/5-1_PJLink_eng_20131210.pdf 21 | 22 | "PJLink enables central control of projectors manufactured by different 23 | vendors and projectors can be operated by a controller." 24 | 25 | ------------------------------------------------------ 26 | 27 | #### Method list: 28 | ```cpp 29 | bool On(); //command to turn the projector on 30 | bool Off(); //command to turn the projector off 31 | bool sendPJLinkCommand(string command); //send any PJLink command to the projector 32 | void setup(string IP_add="192.168.0.100",int protocol=PJLINK_MODE, string password=""); //default 33 | void setProjectorType(int protocol); //NEC_MODE, PJLINK_MODE, etc 34 | void setProjectorIP(string IP_add); //the network IP of the projector 35 | void setProjectorPassword(string passwd); //password for PJLink authentication 36 | bool getProjectorStatus(); //return whether projector is on (true) or off (false) 37 | void setProjectorPort(int port); //the network port of the projector 38 | bool sendCommand(string command); //send any string command to the projector without password authentication 39 | 40 | ``` 41 | 42 | #### Projector Mode list: 43 | ```cpp 44 | PJLINK_MODE 45 | NEC_MODE 46 | CHRISTIE_MODE 47 | SANYO_MODE 48 | PJDESIGN_MODE 49 | ``` 50 | ------------------------------------------------------ 51 | 52 | #### Example: 53 | 54 | Step 1. in the testApp.h: 55 | ```cpp 56 | #include "ofxPJControl.h" 57 | ofxPJControl projector1; 58 | ``` 59 | 60 | Step 2. in the testApp.cpp: 61 | 62 | ```cpp 63 | //Your projectors IP, and if its not PJLINK try another mode. 64 | projector1.setup("192.168.1.281",PJLINK_MODE,"mypassword"); 65 | projector1.On(); 66 | projector1.Off(); 67 | ``` 68 | 69 | #### Author 70 | 71 | * [Noah Shibley](https://github.com/nullboundary) 72 | 73 | -------------------------------------------------------------------------------- /ofxPJControl_Example/Makefile: -------------------------------------------------------------------------------- 1 | # Attempt to load a config.make file. 2 | # If none is found, project defaults in config.project.make will be used. 3 | ifneq ($(wildcard config.make),) 4 | include config.make 5 | endif 6 | 7 | # make sure the the OF_ROOT location is defined 8 | ifndef OF_ROOT 9 | OF_ROOT=../../.. 10 | endif 11 | 12 | # call the project makefile! 13 | include $(OF_ROOT)/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk 14 | -------------------------------------------------------------------------------- /ofxPJControl_Example/Project.xcconfig: -------------------------------------------------------------------------------- 1 | //THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT. 2 | //THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED 3 | OF_PATH = ../../.. 4 | 5 | //THIS HAS ALL THE HEADER AND LIBS FOR OF CORE 6 | #include "../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig" 7 | 8 | //ICONS - NEW IN 0072 9 | ICON_NAME_DEBUG = icon-debug.icns 10 | ICON_NAME_RELEASE = icon.icns 11 | ICON_FILE_PATH = $(OF_PATH)/libs/openFrameworksCompiled/project/osx/ 12 | 13 | //IF YOU WANT AN APP TO HAVE A CUSTOM ICON - PUT THEM IN YOUR DATA FOLDER AND CHANGE ICON_FILE_PATH to: 14 | //ICON_FILE_PATH = bin/data/ 15 | 16 | OTHER_LDFLAGS = $(OF_CORE_LIBS) 17 | HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS) 18 | -------------------------------------------------------------------------------- /ofxPJControl_Example/addons.make: -------------------------------------------------------------------------------- 1 | ofxNetwork 2 | ofxPJControl 3 | -------------------------------------------------------------------------------- /ofxPJControl_Example/bin/data/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nullboundary/ofxPJControl/042a6daced5c948f98ac8f01254070201f6a1cb0/ofxPJControl_Example/bin/data/.gitkeep -------------------------------------------------------------------------------- /ofxPJControl_Example/config.make: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # CONFIGURE PROJECT MAKEFILE (optional) 3 | # This file is where we make project specific configurations. 4 | ################################################################################ 5 | 6 | ################################################################################ 7 | # OF ROOT 8 | # The location of your root openFrameworks installation 9 | # (default) OF_ROOT = ../../.. 10 | ################################################################################ 11 | # OF_ROOT = ../../.. 12 | 13 | ################################################################################ 14 | # PROJECT ROOT 15 | # The location of the project - a starting place for searching for files 16 | # (default) PROJECT_ROOT = . (this directory) 17 | # 18 | ################################################################################ 19 | # PROJECT_ROOT = . 20 | 21 | ################################################################################ 22 | # PROJECT SPECIFIC CHECKS 23 | # This is a project defined section to create internal makefile flags to 24 | # conditionally enable or disable the addition of various features within 25 | # this makefile. For instance, if you want to make changes based on whether 26 | # GTK is installed, one might test that here and create a variable to check. 27 | ################################################################################ 28 | # None 29 | 30 | ################################################################################ 31 | # PROJECT EXTERNAL SOURCE PATHS 32 | # These are fully qualified paths that are not within the PROJECT_ROOT folder. 33 | # Like source folders in the PROJECT_ROOT, these paths are subject to 34 | # exlclusion via the PROJECT_EXLCUSIONS list. 35 | # 36 | # (default) PROJECT_EXTERNAL_SOURCE_PATHS = (blank) 37 | # 38 | # Note: Leave a leading space when adding list items with the += operator 39 | ################################################################################ 40 | # PROJECT_EXTERNAL_SOURCE_PATHS = 41 | 42 | ################################################################################ 43 | # PROJECT EXCLUSIONS 44 | # These makefiles assume that all folders in your current project directory 45 | # and any listed in the PROJECT_EXTERNAL_SOURCH_PATHS are are valid locations 46 | # to look for source code. The any folders or files that match any of the 47 | # items in the PROJECT_EXCLUSIONS list below will be ignored. 48 | # 49 | # Each item in the PROJECT_EXCLUSIONS list will be treated as a complete 50 | # string unless teh user adds a wildcard (%) operator to match subdirectories. 51 | # GNU make only allows one wildcard for matching. The second wildcard (%) is 52 | # treated literally. 53 | # 54 | # (default) PROJECT_EXCLUSIONS = (blank) 55 | # 56 | # Will automatically exclude the following: 57 | # 58 | # $(PROJECT_ROOT)/bin% 59 | # $(PROJECT_ROOT)/obj% 60 | # $(PROJECT_ROOT)/%.xcodeproj 61 | # 62 | # Note: Leave a leading space when adding list items with the += operator 63 | ################################################################################ 64 | # PROJECT_EXCLUSIONS = 65 | 66 | ################################################################################ 67 | # PROJECT LINKER FLAGS 68 | # These flags will be sent to the linker when compiling the executable. 69 | # 70 | # (default) PROJECT_LDFLAGS = -Wl,-rpath=./libs 71 | # 72 | # Note: Leave a leading space when adding list items with the += operator 73 | ################################################################################ 74 | 75 | # Currently, shared libraries that are needed are copied to the 76 | # $(PROJECT_ROOT)/bin/libs directory. The following LDFLAGS tell the linker to 77 | # add a runtime path to search for those shared libraries, since they aren't 78 | # incorporated directly into the final executable application binary. 79 | # TODO: should this be a default setting? 80 | # PROJECT_LDFLAGS=-Wl,-rpath=./libs 81 | 82 | ################################################################################ 83 | # PROJECT DEFINES 84 | # Create a space-delimited list of DEFINES. The list will be converted into 85 | # CFLAGS with the "-D" flag later in the makefile. 86 | # 87 | # (default) PROJECT_DEFINES = (blank) 88 | # 89 | # Note: Leave a leading space when adding list items with the += operator 90 | ################################################################################ 91 | # PROJECT_DEFINES = 92 | 93 | ################################################################################ 94 | # PROJECT CFLAGS 95 | # This is a list of fully qualified CFLAGS required when compiling for this 96 | # project. These CFLAGS will be used IN ADDITION TO the PLATFORM_CFLAGS 97 | # defined in your platform specific core configuration files. These flags are 98 | # presented to the compiler BEFORE the PROJECT_OPTIMIZATION_CFLAGS below. 99 | # 100 | # (default) PROJECT_CFLAGS = (blank) 101 | # 102 | # Note: Before adding PROJECT_CFLAGS, note that the PLATFORM_CFLAGS defined in 103 | # your platform specific configuration file will be applied by default and 104 | # further flags here may not be needed. 105 | # 106 | # Note: Leave a leading space when adding list items with the += operator 107 | ################################################################################ 108 | # PROJECT_CFLAGS = 109 | 110 | ################################################################################ 111 | # PROJECT OPTIMIZATION CFLAGS 112 | # These are lists of CFLAGS that are target-specific. While any flags could 113 | # be conditionally added, they are usually limited to optimization flags. 114 | # These flags are added BEFORE the PROJECT_CFLAGS. 115 | # 116 | # PROJECT_OPTIMIZATION_CFLAGS_RELEASE flags are only applied to RELEASE targets. 117 | # 118 | # (default) PROJECT_OPTIMIZATION_CFLAGS_RELEASE = (blank) 119 | # 120 | # PROJECT_OPTIMIZATION_CFLAGS_DEBUG flags are only applied to DEBUG targets. 121 | # 122 | # (default) PROJECT_OPTIMIZATION_CFLAGS_DEBUG = (blank) 123 | # 124 | # Note: Before adding PROJECT_OPTIMIZATION_CFLAGS, please note that the 125 | # PLATFORM_OPTIMIZATION_CFLAGS defined in your platform specific configuration 126 | # file will be applied by default and further optimization flags here may not 127 | # be needed. 128 | # 129 | # Note: Leave a leading space when adding list items with the += operator 130 | ################################################################################ 131 | # PROJECT_OPTIMIZATION_CFLAGS_RELEASE = 132 | # PROJECT_OPTIMIZATION_CFLAGS_DEBUG = 133 | 134 | ################################################################################ 135 | # PROJECT COMPILERS 136 | # Custom compilers can be set for CC and CXX 137 | # (default) PROJECT_CXX = (blank) 138 | # (default) PROJECT_CC = (blank) 139 | # Note: Leave a leading space when adding list items with the += operator 140 | ################################################################################ 141 | # PROJECT_CXX = 142 | # PROJECT_CC = 143 | -------------------------------------------------------------------------------- /ofxPJControl_Example/ofxPJControl_Example.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 125506CD3E5F428AAFE5CC65 /* ofxTCPManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F399B91E98DC31CDA6DDACB4 /* ofxTCPManager.cpp */; }; 11 | 3EEA1869B8F0B84BCA5C7DD5 /* ofxPJControl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C5CA1CEFF8DC6AE176FB35F0 /* ofxPJControl.cpp */; }; 12 | 66CA411C5A9664E27326BF36 /* ofxTCPServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C085E327DAB912CFA2A443D /* ofxTCPServer.cpp */; }; 13 | 960D20B191346612D5C05A6A /* ofxTCPClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BF88F02779DD820913ACEA06 /* ofxTCPClient.cpp */; }; 14 | BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; }; 15 | E2564CF7DDB3713772BB682E /* ofxUDPManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35BB9BB90DBABFD3B39F8DB6 /* ofxUDPManager.cpp */; }; 16 | E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4328148138ABC890047C5CB /* openFrameworksDebug.a */; }; 17 | E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9710E8CC7DD009D7055 /* AGL.framework */; }; 18 | E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */; }; 19 | E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */; }; 20 | E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */; }; 21 | E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */; }; 22 | E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9770E8CC7DD009D7055 /* CoreServices.framework */; }; 23 | E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9790E8CC7DD009D7055 /* OpenGL.framework */; }; 24 | E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */; }; 25 | E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1D0A3A1BDC003C02F2 /* main.cpp */; }; 26 | E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */; }; 27 | E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424410CC5A17004149E2 /* AppKit.framework */; }; 28 | E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424510CC5A17004149E2 /* Cocoa.framework */; }; 29 | E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424610CC5A17004149E2 /* IOKit.framework */; }; 30 | E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; }; 31 | E7E077E515D3B63C0020DFD4 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */; }; 32 | E7E077E815D3B6510020DFD4 /* QTKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7E077E715D3B6510020DFD4 /* QTKit.framework */; }; 33 | E7F985F815E0DEA3003869B5 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7F985F515E0DE99003869B5 /* Accelerate.framework */; }; 34 | /* End PBXBuildFile section */ 35 | 36 | /* Begin PBXContainerItemProxy section */ 37 | E4328147138ABC890047C5CB /* PBXContainerItemProxy */ = { 38 | isa = PBXContainerItemProxy; 39 | containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; 40 | proxyType = 2; 41 | remoteGlobalIDString = E4B27C1510CBEB8E00536013; 42 | remoteInfo = openFrameworks; 43 | }; 44 | E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */ = { 45 | isa = PBXContainerItemProxy; 46 | containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; 47 | proxyType = 1; 48 | remoteGlobalIDString = E4B27C1410CBEB8E00536013; 49 | remoteInfo = openFrameworks; 50 | }; 51 | /* End PBXContainerItemProxy section */ 52 | 53 | /* Begin PBXCopyFilesBuildPhase section */ 54 | E4C2427710CC5ABF004149E2 /* CopyFiles */ = { 55 | isa = PBXCopyFilesBuildPhase; 56 | buildActionMask = 2147483647; 57 | dstPath = ""; 58 | dstSubfolderSpec = 10; 59 | files = ( 60 | BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */, 61 | ); 62 | runOnlyForDeploymentPostprocessing = 0; 63 | }; 64 | /* End PBXCopyFilesBuildPhase section */ 65 | 66 | /* Begin PBXFileReference section */ 67 | 1C085E327DAB912CFA2A443D /* ofxTCPServer.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxTCPServer.cpp; path = ../../ofxNetwork/src/ofxTCPServer.cpp; sourceTree = SOURCE_ROOT; }; 68 | 1DFA26F2C6BBD1B8AC24C0B1 /* ofxNetworkUtils.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxNetworkUtils.h; path = ../../ofxNetwork/src/ofxNetworkUtils.h; sourceTree = SOURCE_ROOT; }; 69 | 26EF3E71A07C6948EAF6709E /* ofxTCPManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxTCPManager.h; path = ../../ofxNetwork/src/ofxTCPManager.h; sourceTree = SOURCE_ROOT; }; 70 | 2F519EB3B0DCD7378FB86ABE /* ofxUDPManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxUDPManager.h; path = ../../ofxNetwork/src/ofxUDPManager.h; sourceTree = SOURCE_ROOT; }; 71 | 30841703B7AC8487D16FB4AA /* ofxTCPServer.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxTCPServer.h; path = ../../ofxNetwork/src/ofxTCPServer.h; sourceTree = SOURCE_ROOT; }; 72 | 35BB9BB90DBABFD3B39F8DB6 /* ofxUDPManager.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxUDPManager.cpp; path = ../../ofxNetwork/src/ofxUDPManager.cpp; sourceTree = SOURCE_ROOT; }; 73 | BBAB23BE13894E4700AA2426 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../libs/glut/lib/osx/GLUT.framework; sourceTree = ""; }; 74 | BF88F02779DD820913ACEA06 /* ofxTCPClient.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxTCPClient.cpp; path = ../../ofxNetwork/src/ofxTCPClient.cpp; sourceTree = SOURCE_ROOT; }; 75 | C5CA1CEFF8DC6AE176FB35F0 /* ofxPJControl.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxPJControl.cpp; path = ../src/ofxPJControl.cpp; sourceTree = SOURCE_ROOT; }; 76 | C8C9B823D7872F9CBF03A813 /* ofxTCPClient.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxTCPClient.h; path = ../../ofxNetwork/src/ofxTCPClient.h; sourceTree = SOURCE_ROOT; }; 77 | E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openFrameworksLib.xcodeproj; path = ../../../libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj; sourceTree = SOURCE_ROOT; }; 78 | E45BE9710E8CC7DD009D7055 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = ""; }; 79 | E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = ""; }; 80 | E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; 81 | E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; 82 | E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; }; 83 | E45BE9770E8CC7DD009D7055 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; 84 | E45BE9790E8CC7DD009D7055 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; }; 85 | E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; }; 86 | E4B69B5B0A3A1756003C02F2 /* ofxPJControl_ExampleDebug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ofxPJControl_ExampleDebug.app; sourceTree = BUILT_PRODUCTS_DIR; }; 87 | E4B69E1D0A3A1BDC003C02F2 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; }; 88 | E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofApp.cpp; path = src/ofApp.cpp; sourceTree = SOURCE_ROOT; }; 89 | E4B69E1F0A3A1BDC003C02F2 /* ofApp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ofApp.h; path = src/ofApp.h; sourceTree = SOURCE_ROOT; }; 90 | E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = "openFrameworks-Info.plist"; sourceTree = ""; }; 91 | E4C2424410CC5A17004149E2 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; 92 | E4C2424510CC5A17004149E2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; 93 | E4C2424610CC5A17004149E2 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = ""; }; 94 | E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CoreOF.xcconfig; path = ../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig; sourceTree = SOURCE_ROOT; }; 95 | E4EB6923138AFD0F00A09F29 /* Project.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Project.xcconfig; sourceTree = ""; }; 96 | E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = /System/Library/Frameworks/CoreVideo.framework; sourceTree = ""; }; 97 | E7E077E715D3B6510020DFD4 /* QTKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = /System/Library/Frameworks/QTKit.framework; sourceTree = ""; }; 98 | E7F985F515E0DE99003869B5 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = /System/Library/Frameworks/Accelerate.framework; sourceTree = ""; }; 99 | F03210CE4F5DF388B8BD82C9 /* ofxPJControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxPJControl.h; path = ../src/ofxPJControl.h; sourceTree = SOURCE_ROOT; }; 100 | F399B91E98DC31CDA6DDACB4 /* ofxTCPManager.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxTCPManager.cpp; path = ../../ofxNetwork/src/ofxTCPManager.cpp; sourceTree = SOURCE_ROOT; }; 101 | F66993296A3AEEC70FD444F5 /* ofxNetwork.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxNetwork.h; path = ../../ofxNetwork/src/ofxNetwork.h; sourceTree = SOURCE_ROOT; }; 102 | /* End PBXFileReference section */ 103 | 104 | /* Begin PBXFrameworksBuildPhase section */ 105 | E4B69B590A3A1756003C02F2 /* Frameworks */ = { 106 | isa = PBXFrameworksBuildPhase; 107 | buildActionMask = 2147483647; 108 | files = ( 109 | E7F985F815E0DEA3003869B5 /* Accelerate.framework in Frameworks */, 110 | E7E077E815D3B6510020DFD4 /* QTKit.framework in Frameworks */, 111 | E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */, 112 | E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */, 113 | E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */, 114 | E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */, 115 | E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */, 116 | E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */, 117 | E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */, 118 | E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */, 119 | E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */, 120 | E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */, 121 | E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */, 122 | E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */, 123 | E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */, 124 | E7E077E515D3B63C0020DFD4 /* CoreVideo.framework in Frameworks */, 125 | ); 126 | runOnlyForDeploymentPostprocessing = 0; 127 | }; 128 | /* End PBXFrameworksBuildPhase section */ 129 | 130 | /* Begin PBXGroup section */ 131 | 18240ECCE4076FB0833A8578 /* ofxNetwork */ = { 132 | isa = PBXGroup; 133 | children = ( 134 | 219374A14594D121F27FED3A /* src */, 135 | ); 136 | name = ofxNetwork; 137 | sourceTree = ""; 138 | }; 139 | 219374A14594D121F27FED3A /* src */ = { 140 | isa = PBXGroup; 141 | children = ( 142 | F66993296A3AEEC70FD444F5 /* ofxNetwork.h */, 143 | 1DFA26F2C6BBD1B8AC24C0B1 /* ofxNetworkUtils.h */, 144 | BF88F02779DD820913ACEA06 /* ofxTCPClient.cpp */, 145 | C8C9B823D7872F9CBF03A813 /* ofxTCPClient.h */, 146 | F399B91E98DC31CDA6DDACB4 /* ofxTCPManager.cpp */, 147 | 26EF3E71A07C6948EAF6709E /* ofxTCPManager.h */, 148 | 1C085E327DAB912CFA2A443D /* ofxTCPServer.cpp */, 149 | 30841703B7AC8487D16FB4AA /* ofxTCPServer.h */, 150 | 35BB9BB90DBABFD3B39F8DB6 /* ofxUDPManager.cpp */, 151 | 2F519EB3B0DCD7378FB86ABE /* ofxUDPManager.h */, 152 | ); 153 | name = src; 154 | sourceTree = ""; 155 | }; 156 | 8D85BDCAA51DA8B14A2D8410 /* ofxPJControl */ = { 157 | isa = PBXGroup; 158 | children = ( 159 | A34E6243AA7780E55A8046B7 /* src */, 160 | ); 161 | name = ofxPJControl; 162 | sourceTree = ""; 163 | }; 164 | A34E6243AA7780E55A8046B7 /* src */ = { 165 | isa = PBXGroup; 166 | children = ( 167 | C5CA1CEFF8DC6AE176FB35F0 /* ofxPJControl.cpp */, 168 | F03210CE4F5DF388B8BD82C9 /* ofxPJControl.h */, 169 | ); 170 | name = src; 171 | sourceTree = ""; 172 | }; 173 | BB4B014C10F69532006C3DED /* addons */ = { 174 | isa = PBXGroup; 175 | children = ( 176 | 18240ECCE4076FB0833A8578 /* ofxNetwork */, 177 | 8D85BDCAA51DA8B14A2D8410 /* ofxPJControl */, 178 | ); 179 | name = addons; 180 | sourceTree = ""; 181 | }; 182 | BBAB23C913894ECA00AA2426 /* system frameworks */ = { 183 | isa = PBXGroup; 184 | children = ( 185 | E7F985F515E0DE99003869B5 /* Accelerate.framework */, 186 | E4C2424410CC5A17004149E2 /* AppKit.framework */, 187 | E4C2424510CC5A17004149E2 /* Cocoa.framework */, 188 | E4C2424610CC5A17004149E2 /* IOKit.framework */, 189 | E45BE9710E8CC7DD009D7055 /* AGL.framework */, 190 | E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */, 191 | E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */, 192 | E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */, 193 | E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */, 194 | E45BE9770E8CC7DD009D7055 /* CoreServices.framework */, 195 | E45BE9790E8CC7DD009D7055 /* OpenGL.framework */, 196 | E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */, 197 | E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */, 198 | E7E077E715D3B6510020DFD4 /* QTKit.framework */, 199 | ); 200 | name = "system frameworks"; 201 | sourceTree = ""; 202 | }; 203 | BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */ = { 204 | isa = PBXGroup; 205 | children = ( 206 | BBAB23BE13894E4700AA2426 /* GLUT.framework */, 207 | ); 208 | name = "3rd party frameworks"; 209 | sourceTree = ""; 210 | }; 211 | E4328144138ABC890047C5CB /* Products */ = { 212 | isa = PBXGroup; 213 | children = ( 214 | E4328148138ABC890047C5CB /* openFrameworksDebug.a */, 215 | ); 216 | name = Products; 217 | sourceTree = ""; 218 | }; 219 | E45BE5980E8CC70C009D7055 /* frameworks */ = { 220 | isa = PBXGroup; 221 | children = ( 222 | BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */, 223 | BBAB23C913894ECA00AA2426 /* system frameworks */, 224 | ); 225 | name = frameworks; 226 | sourceTree = ""; 227 | }; 228 | E4B69B4A0A3A1720003C02F2 = { 229 | isa = PBXGroup; 230 | children = ( 231 | E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */, 232 | E4EB6923138AFD0F00A09F29 /* Project.xcconfig */, 233 | E4B69E1C0A3A1BDC003C02F2 /* src */, 234 | E4EEC9E9138DF44700A80321 /* openFrameworks */, 235 | BB4B014C10F69532006C3DED /* addons */, 236 | E45BE5980E8CC70C009D7055 /* frameworks */, 237 | E4B69B5B0A3A1756003C02F2 /* ofxPJControl_ExampleDebug.app */, 238 | ); 239 | sourceTree = ""; 240 | }; 241 | E4B69E1C0A3A1BDC003C02F2 /* src */ = { 242 | isa = PBXGroup; 243 | children = ( 244 | E4B69E1D0A3A1BDC003C02F2 /* main.cpp */, 245 | E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */, 246 | E4B69E1F0A3A1BDC003C02F2 /* ofApp.h */, 247 | ); 248 | path = src; 249 | sourceTree = SOURCE_ROOT; 250 | }; 251 | E4EEC9E9138DF44700A80321 /* openFrameworks */ = { 252 | isa = PBXGroup; 253 | children = ( 254 | E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */, 255 | E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */, 256 | ); 257 | name = openFrameworks; 258 | sourceTree = ""; 259 | }; 260 | /* End PBXGroup section */ 261 | 262 | /* Begin PBXNativeTarget section */ 263 | E4B69B5A0A3A1756003C02F2 /* ofxPJControl_Example */ = { 264 | isa = PBXNativeTarget; 265 | buildConfigurationList = E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "ofxPJControl_Example" */; 266 | buildPhases = ( 267 | E4B69B580A3A1756003C02F2 /* Sources */, 268 | E4B69B590A3A1756003C02F2 /* Frameworks */, 269 | E4B6FFFD0C3F9AB9008CF71C /* ShellScript */, 270 | E4C2427710CC5ABF004149E2 /* CopyFiles */, 271 | ); 272 | buildRules = ( 273 | ); 274 | dependencies = ( 275 | E4EEB9AC138B136A00A80321 /* PBXTargetDependency */, 276 | ); 277 | name = ofxPJControl_Example; 278 | productName = myOFApp; 279 | productReference = E4B69B5B0A3A1756003C02F2 /* ofxPJControl_ExampleDebug.app */; 280 | productType = "com.apple.product-type.application"; 281 | }; 282 | /* End PBXNativeTarget section */ 283 | 284 | /* Begin PBXProject section */ 285 | E4B69B4C0A3A1720003C02F2 /* Project object */ = { 286 | isa = PBXProject; 287 | attributes = { 288 | LastUpgradeCheck = 0460; 289 | }; 290 | buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "ofxPJControl_Example" */; 291 | compatibilityVersion = "Xcode 3.2"; 292 | developmentRegion = English; 293 | hasScannedForEncodings = 0; 294 | knownRegions = ( 295 | English, 296 | Japanese, 297 | French, 298 | German, 299 | ); 300 | mainGroup = E4B69B4A0A3A1720003C02F2; 301 | productRefGroup = E4B69B4A0A3A1720003C02F2; 302 | projectDirPath = ""; 303 | projectReferences = ( 304 | { 305 | ProductGroup = E4328144138ABC890047C5CB /* Products */; 306 | ProjectRef = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; 307 | }, 308 | ); 309 | projectRoot = ""; 310 | targets = ( 311 | E4B69B5A0A3A1756003C02F2 /* ofxPJControl_Example */, 312 | ); 313 | }; 314 | /* End PBXProject section */ 315 | 316 | /* Begin PBXReferenceProxy section */ 317 | E4328148138ABC890047C5CB /* openFrameworksDebug.a */ = { 318 | isa = PBXReferenceProxy; 319 | fileType = archive.ar; 320 | path = openFrameworksDebug.a; 321 | remoteRef = E4328147138ABC890047C5CB /* PBXContainerItemProxy */; 322 | sourceTree = BUILT_PRODUCTS_DIR; 323 | }; 324 | /* End PBXReferenceProxy section */ 325 | 326 | /* Begin PBXShellScriptBuildPhase section */ 327 | E4B6FFFD0C3F9AB9008CF71C /* ShellScript */ = { 328 | isa = PBXShellScriptBuildPhase; 329 | buildActionMask = 2147483647; 330 | files = ( 331 | ); 332 | inputPaths = ( 333 | ); 334 | outputPaths = ( 335 | ); 336 | runOnlyForDeploymentPostprocessing = 0; 337 | shellPath = /bin/sh; 338 | 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\";\nmkdir -p \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/\"\ncp -f \"$ICON_FILE\" \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/\"\n"; 339 | }; 340 | /* End PBXShellScriptBuildPhase section */ 341 | 342 | /* Begin PBXSourcesBuildPhase section */ 343 | E4B69B580A3A1756003C02F2 /* Sources */ = { 344 | isa = PBXSourcesBuildPhase; 345 | buildActionMask = 2147483647; 346 | files = ( 347 | E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */, 348 | E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */, 349 | 960D20B191346612D5C05A6A /* ofxTCPClient.cpp in Sources */, 350 | 125506CD3E5F428AAFE5CC65 /* ofxTCPManager.cpp in Sources */, 351 | 66CA411C5A9664E27326BF36 /* ofxTCPServer.cpp in Sources */, 352 | E2564CF7DDB3713772BB682E /* ofxUDPManager.cpp in Sources */, 353 | 3EEA1869B8F0B84BCA5C7DD5 /* ofxPJControl.cpp in Sources */, 354 | ); 355 | runOnlyForDeploymentPostprocessing = 0; 356 | }; 357 | /* End PBXSourcesBuildPhase section */ 358 | 359 | /* Begin PBXTargetDependency section */ 360 | E4EEB9AC138B136A00A80321 /* PBXTargetDependency */ = { 361 | isa = PBXTargetDependency; 362 | name = openFrameworks; 363 | targetProxy = E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */; 364 | }; 365 | /* End PBXTargetDependency section */ 366 | 367 | /* Begin XCBuildConfiguration section */ 368 | E4B69B4E0A3A1720003C02F2 /* Debug */ = { 369 | isa = XCBuildConfiguration; 370 | baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; 371 | buildSettings = { 372 | ARCHS = "$(NATIVE_ARCH)"; 373 | CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; 374 | COPY_PHASE_STRIP = NO; 375 | DEAD_CODE_STRIPPING = YES; 376 | GCC_AUTO_VECTORIZATION = YES; 377 | GCC_ENABLE_SSE3_EXTENSIONS = YES; 378 | GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; 379 | GCC_INLINES_ARE_PRIVATE_EXTERN = NO; 380 | GCC_OPTIMIZATION_LEVEL = 0; 381 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 382 | GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES; 383 | GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; 384 | GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; 385 | GCC_WARN_UNINITIALIZED_AUTOS = NO; 386 | GCC_WARN_UNUSED_VALUE = NO; 387 | GCC_WARN_UNUSED_VARIABLE = NO; 388 | HEADER_SEARCH_PATHS = ( 389 | "$(OF_CORE_HEADERS)", 390 | ../../../addons/ofxNetwork/libs, 391 | ../../../addons/ofxNetwork/src, 392 | ../../../addons/ofxPJControl/libs, 393 | ../../../addons/ofxPJControl/src, 394 | ); 395 | MACOSX_DEPLOYMENT_TARGET = 10.6; 396 | OTHER_CPLUSPLUSFLAGS = ( 397 | "-D__MACOSX_CORE__", 398 | "-lpthread", 399 | "-mtune=native", 400 | ); 401 | SDKROOT = macosx; 402 | }; 403 | name = Debug; 404 | }; 405 | E4B69B4F0A3A1720003C02F2 /* Release */ = { 406 | isa = XCBuildConfiguration; 407 | baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; 408 | buildSettings = { 409 | ARCHS = "$(NATIVE_ARCH)"; 410 | CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; 411 | COPY_PHASE_STRIP = YES; 412 | DEAD_CODE_STRIPPING = YES; 413 | GCC_AUTO_VECTORIZATION = YES; 414 | GCC_ENABLE_SSE3_EXTENSIONS = YES; 415 | GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; 416 | GCC_INLINES_ARE_PRIVATE_EXTERN = NO; 417 | GCC_OPTIMIZATION_LEVEL = 3; 418 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 419 | GCC_UNROLL_LOOPS = YES; 420 | GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES; 421 | GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; 422 | GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; 423 | GCC_WARN_UNINITIALIZED_AUTOS = NO; 424 | GCC_WARN_UNUSED_VALUE = NO; 425 | GCC_WARN_UNUSED_VARIABLE = NO; 426 | HEADER_SEARCH_PATHS = ( 427 | "$(OF_CORE_HEADERS)", 428 | ../../../addons/ofxNetwork/libs, 429 | ../../../addons/ofxNetwork/src, 430 | ../../../addons/ofxPJControl/libs, 431 | ../../../addons/ofxPJControl/src, 432 | ); 433 | MACOSX_DEPLOYMENT_TARGET = 10.6; 434 | OTHER_CPLUSPLUSFLAGS = ( 435 | "-D__MACOSX_CORE__", 436 | "-lpthread", 437 | "-mtune=native", 438 | ); 439 | SDKROOT = macosx; 440 | }; 441 | name = Release; 442 | }; 443 | E4B69B600A3A1757003C02F2 /* Debug */ = { 444 | isa = XCBuildConfiguration; 445 | buildSettings = { 446 | COMBINE_HIDPI_IMAGES = YES; 447 | COPY_PHASE_STRIP = NO; 448 | FRAMEWORK_SEARCH_PATHS = ( 449 | "$(inherited)", 450 | "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", 451 | ); 452 | FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; 453 | GCC_DYNAMIC_NO_PIC = NO; 454 | GCC_GENERATE_DEBUGGING_SYMBOLS = YES; 455 | GCC_MODEL_TUNING = NONE; 456 | ICON = "$(ICON_NAME_DEBUG)"; 457 | ICON_FILE = "$(ICON_FILE_PATH)$(ICON)"; 458 | INFOPLIST_FILE = "openFrameworks-Info.plist"; 459 | INSTALL_PATH = "$(HOME)/Applications"; 460 | LIBRARY_SEARCH_PATHS = ( 461 | "$(inherited)", 462 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", 463 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", 464 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", 465 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", 466 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", 467 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", 468 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", 469 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", 470 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", 471 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", 472 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", 473 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", 474 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", 475 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", 476 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", 477 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", 478 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", 479 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", 480 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", 481 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", 482 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", 483 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", 484 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", 485 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", 486 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)", 487 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)", 488 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)", 489 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)", 490 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)", 491 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)", 492 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)", 493 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)", 494 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)", 495 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)", 496 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)", 497 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)", 498 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)", 499 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)", 500 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)", 501 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)", 502 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)", 503 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)", 504 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)", 505 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)", 506 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)", 507 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)", 508 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)", 509 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)", 510 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)", 511 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)", 512 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)", 513 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)", 514 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)", 515 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)", 516 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)", 517 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)", 518 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)", 519 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)", 520 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)", 521 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)", 522 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_52)", 523 | ); 524 | PRODUCT_NAME = ofxPJControl_ExampleDebug; 525 | WRAPPER_EXTENSION = app; 526 | }; 527 | name = Debug; 528 | }; 529 | E4B69B610A3A1757003C02F2 /* Release */ = { 530 | isa = XCBuildConfiguration; 531 | buildSettings = { 532 | COMBINE_HIDPI_IMAGES = YES; 533 | COPY_PHASE_STRIP = YES; 534 | FRAMEWORK_SEARCH_PATHS = ( 535 | "$(inherited)", 536 | "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", 537 | ); 538 | FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; 539 | GCC_GENERATE_DEBUGGING_SYMBOLS = YES; 540 | GCC_MODEL_TUNING = NONE; 541 | ICON = "$(ICON_NAME_RELEASE)"; 542 | ICON_FILE = "$(ICON_FILE_PATH)$(ICON)"; 543 | INFOPLIST_FILE = "openFrameworks-Info.plist"; 544 | INSTALL_PATH = "$(HOME)/Applications"; 545 | LIBRARY_SEARCH_PATHS = ( 546 | "$(inherited)", 547 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", 548 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", 549 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", 550 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", 551 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", 552 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", 553 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", 554 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", 555 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", 556 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", 557 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", 558 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", 559 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", 560 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", 561 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", 562 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", 563 | "$(LIBRARY_SEARCH_PATHS_QUOTED_1)", 564 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", 565 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", 566 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", 567 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", 568 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", 569 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", 570 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", 571 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", 572 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)", 573 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)", 574 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)", 575 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)", 576 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)", 577 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)", 578 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)", 579 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)", 580 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)", 581 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)", 582 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)", 583 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)", 584 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)", 585 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)", 586 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)", 587 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)", 588 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)", 589 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)", 590 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)", 591 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)", 592 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)", 593 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)", 594 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)", 595 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)", 596 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)", 597 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)", 598 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)", 599 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)", 600 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)", 601 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)", 602 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)", 603 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)", 604 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)", 605 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)", 606 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)", 607 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)", 608 | ); 609 | PRODUCT_NAME = ofxPJControl_Example; 610 | WRAPPER_EXTENSION = app; 611 | }; 612 | name = Release; 613 | }; 614 | /* End XCBuildConfiguration section */ 615 | 616 | /* Begin XCConfigurationList section */ 617 | E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "ofxPJControl_Example" */ = { 618 | isa = XCConfigurationList; 619 | buildConfigurations = ( 620 | E4B69B4E0A3A1720003C02F2 /* Debug */, 621 | E4B69B4F0A3A1720003C02F2 /* Release */, 622 | ); 623 | defaultConfigurationIsVisible = 0; 624 | defaultConfigurationName = Release; 625 | }; 626 | E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "ofxPJControl_Example" */ = { 627 | isa = XCConfigurationList; 628 | buildConfigurations = ( 629 | E4B69B600A3A1757003C02F2 /* Debug */, 630 | E4B69B610A3A1757003C02F2 /* Release */, 631 | ); 632 | defaultConfigurationIsVisible = 0; 633 | defaultConfigurationName = Release; 634 | }; 635 | /* End XCConfigurationList section */ 636 | }; 637 | rootObject = E4B69B4C0A3A1720003C02F2 /* Project object */; 638 | } 639 | -------------------------------------------------------------------------------- /ofxPJControl_Example/ofxPJControl_Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ofxPJControl_Example/ofxPJControl_Example.xcodeproj/project.xcworkspace/xcshareddata/ofxPJControl_Example.xccheckout: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDESourceControlProjectFavoriteDictionaryKey 6 | 7 | IDESourceControlProjectIdentifier 8 | 3B8BCCE0-719C-4C32-87F0-841ADD9C5194 9 | IDESourceControlProjectName 10 | ofxPJControl_Example 11 | IDESourceControlProjectOriginsDictionary 12 | 13 | DB1F07EBE468BDBA8CED3296EF731B8E8D3145FB 14 | https://github.com/fakelove/ofxPJControl.git 15 | 16 | IDESourceControlProjectPath 17 | ofxPJControl_Example/ofxPJControl_Example.xcodeproj 18 | IDESourceControlProjectRelativeInstallPathDictionary 19 | 20 | DB1F07EBE468BDBA8CED3296EF731B8E8D3145FB 21 | ../../.. 22 | 23 | IDESourceControlProjectURL 24 | https://github.com/fakelove/ofxPJControl.git 25 | IDESourceControlProjectVersion 26 | 111 27 | IDESourceControlProjectWCCIdentifier 28 | DB1F07EBE468BDBA8CED3296EF731B8E8D3145FB 29 | IDESourceControlProjectWCConfigurations 30 | 31 | 32 | IDESourceControlRepositoryExtensionIdentifierKey 33 | public.vcs.git 34 | IDESourceControlWCCIdentifierKey 35 | DB1F07EBE468BDBA8CED3296EF731B8E8D3145FB 36 | IDESourceControlWCCName 37 | ofxPJControl 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /ofxPJControl_Example/ofxPJControl_Example.xcodeproj/project.xcworkspace/xcuserdata/FakeMike.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nullboundary/ofxPJControl/042a6daced5c948f98ac8f01254070201f6a1cb0/ofxPJControl_Example/ofxPJControl_Example.xcodeproj/project.xcworkspace/xcuserdata/FakeMike.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /ofxPJControl_Example/ofxPJControl_Example.xcodeproj/project.xcworkspace/xcuserdata/fakelove.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nullboundary/ofxPJControl/042a6daced5c948f98ac8f01254070201f6a1cb0/ofxPJControl_Example/ofxPJControl_Example.xcodeproj/project.xcworkspace/xcuserdata/fakelove.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /ofxPJControl_Example/ofxPJControl_Example.xcodeproj/project.xcworkspace/xcuserdata/fakelove.xcuserdatad/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges 6 | 7 | SnapshotAutomaticallyBeforeSignificantChanges 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ofxPJControl_Example/ofxPJControl_Example.xcodeproj/xcshareddata/xcschemes/Pj_Control_Test Debug.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 39 | 40 | 41 | 42 | 51 | 53 | 59 | 60 | 61 | 62 | 63 | 64 | 70 | 72 | 78 | 79 | 80 | 81 | 83 | 84 | 87 | 88 | 89 | -------------------------------------------------------------------------------- /ofxPJControl_Example/ofxPJControl_Example.xcodeproj/xcshareddata/xcschemes/Pj_Control_Test Release.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 39 | 40 | 41 | 42 | 51 | 53 | 59 | 60 | 61 | 62 | 63 | 64 | 70 | 72 | 78 | 79 | 80 | 81 | 83 | 84 | 87 | 88 | 89 | -------------------------------------------------------------------------------- /ofxPJControl_Example/ofxPJControl_Example.xcodeproj/xcuserdata/FakeMike.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SuppressBuildableAutocreation 6 | 7 | E4B69B5A0A3A1756003C02F2 8 | 9 | primary 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /ofxPJControl_Example/ofxPJControl_Example.xcodeproj/xcuserdata/fakelove.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SuppressBuildableAutocreation 6 | 7 | E4B69B5A0A3A1756003C02F2 8 | 9 | primary 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /ofxPJControl_Example/openFrameworks-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | cc.openFrameworks.ofapp 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | APPL 15 | CFBundleSignature 16 | ???? 17 | CFBundleVersion 18 | 1.0 19 | CFBundleIconFile 20 | ${ICON} 21 | 22 | 23 | -------------------------------------------------------------------------------- /ofxPJControl_Example/src/main.cpp: -------------------------------------------------------------------------------- 1 | #include "ofMain.h" 2 | #include "ofApp.h" 3 | 4 | //======================================================================== 5 | int main( ){ 6 | ofSetupOpenGL(320,240,OF_WINDOW); // <-------- setup the GL context 7 | 8 | // this kicks off the running of my app 9 | // can be OF_WINDOW or OF_FULLSCREEN 10 | // pass in width and height too: 11 | ofRunApp(new ofApp()); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ofxPJControl_Example/src/ofApp.cpp: -------------------------------------------------------------------------------- 1 | #include "ofApp.h" 2 | 3 | //-------------------------------------------------------------- 4 | void ofApp::setup(){ 5 | 6 | ofBackground(ofColor::black); 7 | 8 | projector.setup(); 9 | string myProjectorIP = "172.16.1.201"; 10 | 11 | //Plug an ethernet into your projector and check it settings to find this IP 12 | projector.setProjectorIP(myProjectorIP); 13 | 14 | //You can set a password on your projector to access PJ Link 15 | projector.setProjectorPassword("somePassword"); 16 | projector.setProjectorType(PJLINK_MODE); 17 | 18 | 19 | addressDebug = myProjectorIP; 20 | colorDebug = ofColor::red; 21 | ofSetCircleResolution(60); 22 | } 23 | 24 | //-------------------------------------------------------------- 25 | void ofApp::update(){ 26 | 27 | 28 | 29 | } 30 | 31 | //-------------------------------------------------------------- 32 | void ofApp::draw(){ 33 | 34 | ofSetColor(ofColor::green); 35 | ofDrawBitmapString("Projector IP Address: " + ofToString(addressDebug), ofPoint(ofGetWidth() * .10, ofGetHeight() * .15)); 36 | ofDrawBitmapString("Press '1' ON / Press '2' OFF", ofPoint(ofGetWidth() * .10, ofGetHeight() * .25)); 37 | 38 | ofSetColor(colorDebug); 39 | ofCircle(ofPoint(ofGetWidth() * .5, ofGetHeight() * .5), 30); 40 | 41 | } 42 | 43 | //-------------------------------------------------------------- 44 | void ofApp::keyPressed(int key){ 45 | 46 | //Now turn it off and on// 47 | 48 | if(key == '1') { 49 | projector.On(); 50 | cout << projector.getProjectorStatus() << endl; 51 | colorDebug = ofColor::green; 52 | 53 | } 54 | 55 | if (key == '2') { 56 | projector.Off(); 57 | cout << projector.getProjectorStatus() << endl; 58 | colorDebug = ofColor::crimson; 59 | } 60 | 61 | } 62 | 63 | //-------------------------------------------------------------- 64 | void ofApp::keyReleased(int key){ 65 | 66 | } 67 | 68 | //-------------------------------------------------------------- 69 | void ofApp::mouseMoved(int x, int y ){ 70 | 71 | } 72 | 73 | //-------------------------------------------------------------- 74 | void ofApp::mouseDragged(int x, int y, int button){ 75 | 76 | } 77 | 78 | //-------------------------------------------------------------- 79 | void ofApp::mousePressed(int x, int y, int button){ 80 | 81 | } 82 | 83 | //-------------------------------------------------------------- 84 | void ofApp::mouseReleased(int x, int y, int button){ 85 | 86 | } 87 | 88 | //-------------------------------------------------------------- 89 | void ofApp::windowResized(int w, int h){ 90 | 91 | } 92 | 93 | //-------------------------------------------------------------- 94 | void ofApp::gotMessage(ofMessage msg){ 95 | 96 | } 97 | 98 | //-------------------------------------------------------------- 99 | void ofApp::dragEvent(ofDragInfo dragInfo){ 100 | 101 | } 102 | -------------------------------------------------------------------------------- /ofxPJControl_Example/src/ofApp.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "ofMain.h" 4 | #include "ofxPJControl.h" 5 | 6 | class ofApp : public ofBaseApp{ 7 | 8 | public: 9 | void setup(); 10 | void update(); 11 | void draw(); 12 | 13 | void keyPressed(int key); 14 | void keyReleased(int key); 15 | void mouseMoved(int x, int y ); 16 | void mouseDragged(int x, int y, int button); 17 | void mousePressed(int x, int y, int button); 18 | void mouseReleased(int x, int y, int button); 19 | void windowResized(int w, int h); 20 | void dragEvent(ofDragInfo dragInfo); 21 | void gotMessage(ofMessage msg); 22 | 23 | ofxPJControl projector; 24 | 25 | string addressDebug; 26 | ofColor colorDebug; 27 | 28 | 29 | }; 30 | -------------------------------------------------------------------------------- /ofxPJControl_Timer_Automation_Example/Makefile: -------------------------------------------------------------------------------- 1 | # Attempt to load a config.make file. 2 | # If none is found, project defaults in config.project.make will be used. 3 | ifneq ($(wildcard config.make),) 4 | include config.make 5 | endif 6 | 7 | # make sure the the OF_ROOT location is defined 8 | ifndef OF_ROOT 9 | OF_ROOT=../../.. 10 | endif 11 | 12 | # call the project makefile! 13 | include $(OF_ROOT)/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk 14 | -------------------------------------------------------------------------------- /ofxPJControl_Timer_Automation_Example/Project.xcconfig: -------------------------------------------------------------------------------- 1 | //THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT. 2 | //THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED 3 | OF_PATH = ../../.. 4 | 5 | //THIS HAS ALL THE HEADER AND LIBS FOR OF CORE 6 | #include "../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig" 7 | 8 | //ICONS - NEW IN 0072 9 | ICON_NAME_DEBUG = icon-debug.icns 10 | ICON_NAME_RELEASE = icon.icns 11 | ICON_FILE_PATH = $(OF_PATH)/libs/openFrameworksCompiled/project/osx/ 12 | 13 | //IF YOU WANT AN APP TO HAVE A CUSTOM ICON - PUT THEM IN YOUR DATA FOLDER AND CHANGE ICON_FILE_PATH to: 14 | //ICON_FILE_PATH = bin/data/ 15 | 16 | OTHER_LDFLAGS = $(OF_CORE_LIBS) 17 | HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS) 18 | -------------------------------------------------------------------------------- /ofxPJControl_Timer_Automation_Example/addons.make: -------------------------------------------------------------------------------- 1 | ofxGui 2 | ofxXmlSettings 3 | ofxPJControl 4 | -------------------------------------------------------------------------------- /ofxPJControl_Timer_Automation_Example/bin/data/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nullboundary/ofxPJControl/042a6daced5c948f98ac8f01254070201f6a1cb0/ofxPJControl_Timer_Automation_Example/bin/data/.gitkeep -------------------------------------------------------------------------------- /ofxPJControl_Timer_Automation_Example/config.make: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # CONFIGURE PROJECT MAKEFILE (optional) 3 | # This file is where we make project specific configurations. 4 | ################################################################################ 5 | 6 | ################################################################################ 7 | # OF ROOT 8 | # The location of your root openFrameworks installation 9 | # (default) OF_ROOT = ../../.. 10 | ################################################################################ 11 | # OF_ROOT = ../../.. 12 | 13 | ################################################################################ 14 | # PROJECT ROOT 15 | # The location of the project - a starting place for searching for files 16 | # (default) PROJECT_ROOT = . (this directory) 17 | # 18 | ################################################################################ 19 | # PROJECT_ROOT = . 20 | 21 | ################################################################################ 22 | # PROJECT SPECIFIC CHECKS 23 | # This is a project defined section to create internal makefile flags to 24 | # conditionally enable or disable the addition of various features within 25 | # this makefile. For instance, if you want to make changes based on whether 26 | # GTK is installed, one might test that here and create a variable to check. 27 | ################################################################################ 28 | # None 29 | 30 | ################################################################################ 31 | # PROJECT EXTERNAL SOURCE PATHS 32 | # These are fully qualified paths that are not within the PROJECT_ROOT folder. 33 | # Like source folders in the PROJECT_ROOT, these paths are subject to 34 | # exlclusion via the PROJECT_EXLCUSIONS list. 35 | # 36 | # (default) PROJECT_EXTERNAL_SOURCE_PATHS = (blank) 37 | # 38 | # Note: Leave a leading space when adding list items with the += operator 39 | ################################################################################ 40 | # PROJECT_EXTERNAL_SOURCE_PATHS = 41 | 42 | ################################################################################ 43 | # PROJECT EXCLUSIONS 44 | # These makefiles assume that all folders in your current project directory 45 | # and any listed in the PROJECT_EXTERNAL_SOURCH_PATHS are are valid locations 46 | # to look for source code. The any folders or files that match any of the 47 | # items in the PROJECT_EXCLUSIONS list below will be ignored. 48 | # 49 | # Each item in the PROJECT_EXCLUSIONS list will be treated as a complete 50 | # string unless teh user adds a wildcard (%) operator to match subdirectories. 51 | # GNU make only allows one wildcard for matching. The second wildcard (%) is 52 | # treated literally. 53 | # 54 | # (default) PROJECT_EXCLUSIONS = (blank) 55 | # 56 | # Will automatically exclude the following: 57 | # 58 | # $(PROJECT_ROOT)/bin% 59 | # $(PROJECT_ROOT)/obj% 60 | # $(PROJECT_ROOT)/%.xcodeproj 61 | # 62 | # Note: Leave a leading space when adding list items with the += operator 63 | ################################################################################ 64 | # PROJECT_EXCLUSIONS = 65 | 66 | ################################################################################ 67 | # PROJECT LINKER FLAGS 68 | # These flags will be sent to the linker when compiling the executable. 69 | # 70 | # (default) PROJECT_LDFLAGS = -Wl,-rpath=./libs 71 | # 72 | # Note: Leave a leading space when adding list items with the += operator 73 | ################################################################################ 74 | 75 | # Currently, shared libraries that are needed are copied to the 76 | # $(PROJECT_ROOT)/bin/libs directory. The following LDFLAGS tell the linker to 77 | # add a runtime path to search for those shared libraries, since they aren't 78 | # incorporated directly into the final executable application binary. 79 | # TODO: should this be a default setting? 80 | # PROJECT_LDFLAGS=-Wl,-rpath=./libs 81 | 82 | ################################################################################ 83 | # PROJECT DEFINES 84 | # Create a space-delimited list of DEFINES. The list will be converted into 85 | # CFLAGS with the "-D" flag later in the makefile. 86 | # 87 | # (default) PROJECT_DEFINES = (blank) 88 | # 89 | # Note: Leave a leading space when adding list items with the += operator 90 | ################################################################################ 91 | # PROJECT_DEFINES = 92 | 93 | ################################################################################ 94 | # PROJECT CFLAGS 95 | # This is a list of fully qualified CFLAGS required when compiling for this 96 | # project. These CFLAGS will be used IN ADDITION TO the PLATFORM_CFLAGS 97 | # defined in your platform specific core configuration files. These flags are 98 | # presented to the compiler BEFORE the PROJECT_OPTIMIZATION_CFLAGS below. 99 | # 100 | # (default) PROJECT_CFLAGS = (blank) 101 | # 102 | # Note: Before adding PROJECT_CFLAGS, note that the PLATFORM_CFLAGS defined in 103 | # your platform specific configuration file will be applied by default and 104 | # further flags here may not be needed. 105 | # 106 | # Note: Leave a leading space when adding list items with the += operator 107 | ################################################################################ 108 | # PROJECT_CFLAGS = 109 | 110 | ################################################################################ 111 | # PROJECT OPTIMIZATION CFLAGS 112 | # These are lists of CFLAGS that are target-specific. While any flags could 113 | # be conditionally added, they are usually limited to optimization flags. 114 | # These flags are added BEFORE the PROJECT_CFLAGS. 115 | # 116 | # PROJECT_OPTIMIZATION_CFLAGS_RELEASE flags are only applied to RELEASE targets. 117 | # 118 | # (default) PROJECT_OPTIMIZATION_CFLAGS_RELEASE = (blank) 119 | # 120 | # PROJECT_OPTIMIZATION_CFLAGS_DEBUG flags are only applied to DEBUG targets. 121 | # 122 | # (default) PROJECT_OPTIMIZATION_CFLAGS_DEBUG = (blank) 123 | # 124 | # Note: Before adding PROJECT_OPTIMIZATION_CFLAGS, please note that the 125 | # PLATFORM_OPTIMIZATION_CFLAGS defined in your platform specific configuration 126 | # file will be applied by default and further optimization flags here may not 127 | # be needed. 128 | # 129 | # Note: Leave a leading space when adding list items with the += operator 130 | ################################################################################ 131 | # PROJECT_OPTIMIZATION_CFLAGS_RELEASE = 132 | # PROJECT_OPTIMIZATION_CFLAGS_DEBUG = 133 | 134 | ################################################################################ 135 | # PROJECT COMPILERS 136 | # Custom compilers can be set for CC and CXX 137 | # (default) PROJECT_CXX = (blank) 138 | # (default) PROJECT_CC = (blank) 139 | # Note: Leave a leading space when adding list items with the += operator 140 | ################################################################################ 141 | # PROJECT_CXX = 142 | # PROJECT_CC = 143 | -------------------------------------------------------------------------------- /ofxPJControl_Timer_Automation_Example/ofxPJControl_TimerAutomationExample.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 1CD33E884D9E3358252E82A1 /* ofxToggle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 907C5B5E104864A2D3A25745 /* ofxToggle.cpp */; }; 11 | 3EEA1869B8F0B84BCA5C7DD5 /* ofxPJControl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C5CA1CEFF8DC6AE176FB35F0 /* ofxPJControl.cpp */; }; 12 | 483908258D00B98B4BE69F07 /* ofxLabel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 78D67A00EB899FAC09430597 /* ofxLabel.cpp */; }; 13 | 5A4349E9754D6FA14C0F2A3A /* tinyxmlparser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC5DA1C87211D4F6377DA719 /* tinyxmlparser.cpp */; }; 14 | 5CBB2AB3A60F65431D7B555D /* ofxButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C88333E71C9457E441C33474 /* ofxButton.cpp */; }; 15 | 5D62C2391B78FDB900E954A0 /* ofxTCPClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D62C2311B78FDB900E954A0 /* ofxTCPClient.cpp */; }; 16 | 5D62C23A1B78FDB900E954A0 /* ofxTCPManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D62C2331B78FDB900E954A0 /* ofxTCPManager.cpp */; }; 17 | 5D62C23B1B78FDB900E954A0 /* ofxTCPServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D62C2351B78FDB900E954A0 /* ofxTCPServer.cpp */; }; 18 | 5D62C23C1B78FDB900E954A0 /* ofxUDPManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D62C2371B78FDB900E954A0 /* ofxUDPManager.cpp */; }; 19 | 5D62C23F1B78FDEF00E954A0 /* ProjectorTimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D62C23D1B78FDEF00E954A0 /* ProjectorTimer.cpp */; }; 20 | 63B57AC5BF4EF088491E0317 /* ofxXmlSettings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 50DF87D612C5AAE17AAFA6C0 /* ofxXmlSettings.cpp */; }; 21 | 837220E80EB56CD44AD27F2A /* ofxSlider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 15F2C6477A769C03A56D1401 /* ofxSlider.cpp */; }; 22 | 856AA354D08AB4B323081444 /* ofxBaseGui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9604B925D32EE39065747725 /* ofxBaseGui.cpp */; }; 23 | 933A2227713C720CEFF80FD9 /* tinyxml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B40EDA85BEB63E46785BC29 /* tinyxml.cpp */; }; 24 | 9D44DC88EF9E7991B4A09951 /* tinyxmlerror.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 832BDC407620CDBA568B713D /* tinyxmlerror.cpp */; }; 25 | B266578FC55D23BFEBC042E7 /* ofxGuiGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ECF8674C7975F1063C5E30CA /* ofxGuiGroup.cpp */; }; 26 | B56FE57CC35806596D38118C /* ofxSliderGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 802251BAF1B35B1D67B32FD0 /* ofxSliderGroup.cpp */; }; 27 | BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; }; 28 | E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4328148138ABC890047C5CB /* openFrameworksDebug.a */; }; 29 | E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9710E8CC7DD009D7055 /* AGL.framework */; }; 30 | E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */; }; 31 | E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */; }; 32 | E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */; }; 33 | E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */; }; 34 | E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9770E8CC7DD009D7055 /* CoreServices.framework */; }; 35 | E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9790E8CC7DD009D7055 /* OpenGL.framework */; }; 36 | E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */; }; 37 | E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1D0A3A1BDC003C02F2 /* main.cpp */; }; 38 | E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */; }; 39 | E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424410CC5A17004149E2 /* AppKit.framework */; }; 40 | E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424510CC5A17004149E2 /* Cocoa.framework */; }; 41 | E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424610CC5A17004149E2 /* IOKit.framework */; }; 42 | E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; }; 43 | E7E077E515D3B63C0020DFD4 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */; }; 44 | E7E077E815D3B6510020DFD4 /* QTKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7E077E715D3B6510020DFD4 /* QTKit.framework */; }; 45 | E7F985F815E0DEA3003869B5 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7F985F515E0DE99003869B5 /* Accelerate.framework */; }; 46 | F285EB3169F1566CA3D93C20 /* ofxPanel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E112B3AEBEA2C091BF2B40AE /* ofxPanel.cpp */; }; 47 | /* End PBXBuildFile section */ 48 | 49 | /* Begin PBXContainerItemProxy section */ 50 | E4328147138ABC890047C5CB /* PBXContainerItemProxy */ = { 51 | isa = PBXContainerItemProxy; 52 | containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; 53 | proxyType = 2; 54 | remoteGlobalIDString = E4B27C1510CBEB8E00536013; 55 | remoteInfo = openFrameworks; 56 | }; 57 | E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */ = { 58 | isa = PBXContainerItemProxy; 59 | containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; 60 | proxyType = 1; 61 | remoteGlobalIDString = E4B27C1410CBEB8E00536013; 62 | remoteInfo = openFrameworks; 63 | }; 64 | /* End PBXContainerItemProxy section */ 65 | 66 | /* Begin PBXCopyFilesBuildPhase section */ 67 | E4C2427710CC5ABF004149E2 /* CopyFiles */ = { 68 | isa = PBXCopyFilesBuildPhase; 69 | buildActionMask = 2147483647; 70 | dstPath = ""; 71 | dstSubfolderSpec = 10; 72 | files = ( 73 | BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */, 74 | ); 75 | runOnlyForDeploymentPostprocessing = 0; 76 | }; 77 | /* End PBXCopyFilesBuildPhase section */ 78 | 79 | /* Begin PBXFileReference section */ 80 | 01DCC0911400F9ACF5B65578 /* ofxXmlSettings.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxXmlSettings.h; path = ../../../addons/ofxXmlSettings/src/ofxXmlSettings.h; sourceTree = SOURCE_ROOT; }; 81 | 0A1DAC09F322AE313A40706D /* ofxToggle.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxToggle.h; path = ../../../addons/ofxGui/src/ofxToggle.h; sourceTree = SOURCE_ROOT; }; 82 | 15F2C6477A769C03A56D1401 /* ofxSlider.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxSlider.cpp; path = ../../../addons/ofxGui/src/ofxSlider.cpp; sourceTree = SOURCE_ROOT; }; 83 | 17E65988300FBD9AAA2CD0CA /* ofxGui.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxGui.h; path = ../../../addons/ofxGui/src/ofxGui.h; sourceTree = SOURCE_ROOT; }; 84 | 1C0DA2561397A7DE0246858B /* ofxGuiGroup.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxGuiGroup.h; path = ../../../addons/ofxGui/src/ofxGuiGroup.h; sourceTree = SOURCE_ROOT; }; 85 | 2834D88A62CD23F3DE2C47D1 /* ofxButton.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxButton.h; path = ../../../addons/ofxGui/src/ofxButton.h; sourceTree = SOURCE_ROOT; }; 86 | 2B40EDA85BEB63E46785BC29 /* tinyxml.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = tinyxml.cpp; path = ../../../addons/ofxXmlSettings/libs/tinyxml.cpp; sourceTree = SOURCE_ROOT; }; 87 | 50DF87D612C5AAE17AAFA6C0 /* ofxXmlSettings.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxXmlSettings.cpp; path = ../../../addons/ofxXmlSettings/src/ofxXmlSettings.cpp; sourceTree = SOURCE_ROOT; }; 88 | 52AFA1F08C420992CAAAE648 /* ofxSlider.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxSlider.h; path = ../../../addons/ofxGui/src/ofxSlider.h; sourceTree = SOURCE_ROOT; }; 89 | 5D62C22F1B78FDB900E954A0 /* ofxNetwork.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxNetwork.h; sourceTree = ""; }; 90 | 5D62C2301B78FDB900E954A0 /* ofxNetworkUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxNetworkUtils.h; sourceTree = ""; }; 91 | 5D62C2311B78FDB900E954A0 /* ofxTCPClient.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxTCPClient.cpp; sourceTree = ""; }; 92 | 5D62C2321B78FDB900E954A0 /* ofxTCPClient.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxTCPClient.h; sourceTree = ""; }; 93 | 5D62C2331B78FDB900E954A0 /* ofxTCPManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxTCPManager.cpp; sourceTree = ""; }; 94 | 5D62C2341B78FDB900E954A0 /* ofxTCPManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxTCPManager.h; sourceTree = ""; }; 95 | 5D62C2351B78FDB900E954A0 /* ofxTCPServer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxTCPServer.cpp; sourceTree = ""; }; 96 | 5D62C2361B78FDB900E954A0 /* ofxTCPServer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxTCPServer.h; sourceTree = ""; }; 97 | 5D62C2371B78FDB900E954A0 /* ofxUDPManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ofxUDPManager.cpp; sourceTree = ""; }; 98 | 5D62C2381B78FDB900E954A0 /* ofxUDPManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ofxUDPManager.h; sourceTree = ""; }; 99 | 5D62C23D1B78FDEF00E954A0 /* ProjectorTimer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ProjectorTimer.cpp; sourceTree = ""; }; 100 | 5D62C23E1B78FDEF00E954A0 /* ProjectorTimer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProjectorTimer.h; sourceTree = ""; }; 101 | 78D67A00EB899FAC09430597 /* ofxLabel.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxLabel.cpp; path = ../../../addons/ofxGui/src/ofxLabel.cpp; sourceTree = SOURCE_ROOT; }; 102 | 802251BAF1B35B1D67B32FD0 /* ofxSliderGroup.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxSliderGroup.cpp; path = ../../../addons/ofxGui/src/ofxSliderGroup.cpp; sourceTree = SOURCE_ROOT; }; 103 | 832BDC407620CDBA568B713D /* tinyxmlerror.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = tinyxmlerror.cpp; path = ../../../addons/ofxXmlSettings/libs/tinyxmlerror.cpp; sourceTree = SOURCE_ROOT; }; 104 | 87F26B4B24CBD428AD9EEBAA /* ofxBaseGui.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxBaseGui.h; path = ../../../addons/ofxGui/src/ofxBaseGui.h; sourceTree = SOURCE_ROOT; }; 105 | 89449E3044D456F7DE7BEA14 /* ofxPanel.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxPanel.h; path = ../../../addons/ofxGui/src/ofxPanel.h; sourceTree = SOURCE_ROOT; }; 106 | 907C5B5E104864A2D3A25745 /* ofxToggle.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxToggle.cpp; path = ../../../addons/ofxGui/src/ofxToggle.cpp; sourceTree = SOURCE_ROOT; }; 107 | 9604B925D32EE39065747725 /* ofxBaseGui.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxBaseGui.cpp; path = ../../../addons/ofxGui/src/ofxBaseGui.cpp; sourceTree = SOURCE_ROOT; }; 108 | B21E7E5F548EEA92F368040B /* tinyxml.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = tinyxml.h; path = ../../../addons/ofxXmlSettings/libs/tinyxml.h; sourceTree = SOURCE_ROOT; }; 109 | B87C60311EC1FE841C1ECD89 /* ofxLabel.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxLabel.h; path = ../../../addons/ofxGui/src/ofxLabel.h; sourceTree = SOURCE_ROOT; }; 110 | BBAB23BE13894E4700AA2426 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../libs/glut/lib/osx/GLUT.framework; sourceTree = ""; }; 111 | C5CA1CEFF8DC6AE176FB35F0 /* ofxPJControl.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxPJControl.cpp; path = ../../../addons/ofxPJControl/src/ofxPJControl.cpp; sourceTree = SOURCE_ROOT; }; 112 | C70D8946940288799E82131E /* ofxSliderGroup.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxSliderGroup.h; path = ../../../addons/ofxGui/src/ofxSliderGroup.h; sourceTree = SOURCE_ROOT; }; 113 | C88333E71C9457E441C33474 /* ofxButton.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxButton.cpp; path = ../../../addons/ofxGui/src/ofxButton.cpp; sourceTree = SOURCE_ROOT; }; 114 | E112B3AEBEA2C091BF2B40AE /* ofxPanel.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxPanel.cpp; path = ../../../addons/ofxGui/src/ofxPanel.cpp; sourceTree = SOURCE_ROOT; }; 115 | E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openFrameworksLib.xcodeproj; path = ../../../libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj; sourceTree = SOURCE_ROOT; }; 116 | E45BE9710E8CC7DD009D7055 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = ""; }; 117 | E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = ""; }; 118 | E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; 119 | E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; 120 | E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; }; 121 | E45BE9770E8CC7DD009D7055 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; 122 | E45BE9790E8CC7DD009D7055 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; }; 123 | E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; }; 124 | E4B69B5B0A3A1756003C02F2 /* ofxPJControl_TimerAutomationExampleDebug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ofxPJControl_TimerAutomationExampleDebug.app; sourceTree = BUILT_PRODUCTS_DIR; }; 125 | E4B69E1D0A3A1BDC003C02F2 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; }; 126 | E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofApp.cpp; path = src/ofApp.cpp; sourceTree = SOURCE_ROOT; }; 127 | E4B69E1F0A3A1BDC003C02F2 /* ofApp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ofApp.h; path = src/ofApp.h; sourceTree = SOURCE_ROOT; }; 128 | E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = "openFrameworks-Info.plist"; sourceTree = ""; }; 129 | E4C2424410CC5A17004149E2 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; 130 | E4C2424510CC5A17004149E2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; 131 | E4C2424610CC5A17004149E2 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = ""; }; 132 | E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CoreOF.xcconfig; path = ../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig; sourceTree = SOURCE_ROOT; }; 133 | E4EB6923138AFD0F00A09F29 /* Project.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Project.xcconfig; sourceTree = ""; }; 134 | E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = /System/Library/Frameworks/CoreVideo.framework; sourceTree = ""; }; 135 | E7E077E715D3B6510020DFD4 /* QTKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = /System/Library/Frameworks/QTKit.framework; sourceTree = ""; }; 136 | E7F985F515E0DE99003869B5 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = /System/Library/Frameworks/Accelerate.framework; sourceTree = ""; }; 137 | ECF8674C7975F1063C5E30CA /* ofxGuiGroup.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxGuiGroup.cpp; path = ../../../addons/ofxGui/src/ofxGuiGroup.cpp; sourceTree = SOURCE_ROOT; }; 138 | F03210CE4F5DF388B8BD82C9 /* ofxPJControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxPJControl.h; path = ../../../addons/ofxPJControl/src/ofxPJControl.h; sourceTree = SOURCE_ROOT; }; 139 | FC5DA1C87211D4F6377DA719 /* tinyxmlparser.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = tinyxmlparser.cpp; path = ../../../addons/ofxXmlSettings/libs/tinyxmlparser.cpp; sourceTree = SOURCE_ROOT; }; 140 | /* End PBXFileReference section */ 141 | 142 | /* Begin PBXFrameworksBuildPhase section */ 143 | E4B69B590A3A1756003C02F2 /* Frameworks */ = { 144 | isa = PBXFrameworksBuildPhase; 145 | buildActionMask = 2147483647; 146 | files = ( 147 | E7F985F815E0DEA3003869B5 /* Accelerate.framework in Frameworks */, 148 | E7E077E815D3B6510020DFD4 /* QTKit.framework in Frameworks */, 149 | E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */, 150 | E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */, 151 | E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */, 152 | E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */, 153 | E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */, 154 | E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */, 155 | E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */, 156 | E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */, 157 | E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */, 158 | E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */, 159 | E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */, 160 | E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */, 161 | E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */, 162 | E7E077E515D3B63C0020DFD4 /* CoreVideo.framework in Frameworks */, 163 | ); 164 | runOnlyForDeploymentPostprocessing = 0; 165 | }; 166 | /* End PBXFrameworksBuildPhase section */ 167 | 168 | /* Begin PBXGroup section */ 169 | 1F4FB5C423662B96ADFDCC0B /* ofxXmlSettings */ = { 170 | isa = PBXGroup; 171 | children = ( 172 | 6ECEF0D76BC33727823EADFF /* src */, 173 | 6E54289412D2D94F45A05113 /* libs */, 174 | ); 175 | name = ofxXmlSettings; 176 | sourceTree = ""; 177 | }; 178 | 480A780D8D0308AE4A368801 /* ofxGui */ = { 179 | isa = PBXGroup; 180 | children = ( 181 | A763ED608B35AE3310251DEE /* src */, 182 | ); 183 | name = ofxGui; 184 | sourceTree = ""; 185 | }; 186 | 5D62C22D1B78FDB900E954A0 /* ofxNetwork */ = { 187 | isa = PBXGroup; 188 | children = ( 189 | 5D62C22E1B78FDB900E954A0 /* src */, 190 | ); 191 | name = ofxNetwork; 192 | sourceTree = ""; 193 | }; 194 | 5D62C22E1B78FDB900E954A0 /* src */ = { 195 | isa = PBXGroup; 196 | children = ( 197 | 5D62C22F1B78FDB900E954A0 /* ofxNetwork.h */, 198 | 5D62C2301B78FDB900E954A0 /* ofxNetworkUtils.h */, 199 | 5D62C2311B78FDB900E954A0 /* ofxTCPClient.cpp */, 200 | 5D62C2321B78FDB900E954A0 /* ofxTCPClient.h */, 201 | 5D62C2331B78FDB900E954A0 /* ofxTCPManager.cpp */, 202 | 5D62C2341B78FDB900E954A0 /* ofxTCPManager.h */, 203 | 5D62C2351B78FDB900E954A0 /* ofxTCPServer.cpp */, 204 | 5D62C2361B78FDB900E954A0 /* ofxTCPServer.h */, 205 | 5D62C2371B78FDB900E954A0 /* ofxUDPManager.cpp */, 206 | 5D62C2381B78FDB900E954A0 /* ofxUDPManager.h */, 207 | ); 208 | name = src; 209 | path = ../../ofxNetwork/src; 210 | sourceTree = ""; 211 | }; 212 | 6E54289412D2D94F45A05113 /* libs */ = { 213 | isa = PBXGroup; 214 | children = ( 215 | 2B40EDA85BEB63E46785BC29 /* tinyxml.cpp */, 216 | B21E7E5F548EEA92F368040B /* tinyxml.h */, 217 | 832BDC407620CDBA568B713D /* tinyxmlerror.cpp */, 218 | FC5DA1C87211D4F6377DA719 /* tinyxmlparser.cpp */, 219 | ); 220 | name = libs; 221 | sourceTree = ""; 222 | }; 223 | 6ECEF0D76BC33727823EADFF /* src */ = { 224 | isa = PBXGroup; 225 | children = ( 226 | 50DF87D612C5AAE17AAFA6C0 /* ofxXmlSettings.cpp */, 227 | 01DCC0911400F9ACF5B65578 /* ofxXmlSettings.h */, 228 | ); 229 | name = src; 230 | sourceTree = ""; 231 | }; 232 | 8D85BDCAA51DA8B14A2D8410 /* ofxPJControl */ = { 233 | isa = PBXGroup; 234 | children = ( 235 | A34E6243AA7780E55A8046B7 /* src */, 236 | ); 237 | name = ofxPJControl; 238 | sourceTree = ""; 239 | }; 240 | A34E6243AA7780E55A8046B7 /* src */ = { 241 | isa = PBXGroup; 242 | children = ( 243 | C5CA1CEFF8DC6AE176FB35F0 /* ofxPJControl.cpp */, 244 | F03210CE4F5DF388B8BD82C9 /* ofxPJControl.h */, 245 | ); 246 | name = src; 247 | sourceTree = ""; 248 | }; 249 | A763ED608B35AE3310251DEE /* src */ = { 250 | isa = PBXGroup; 251 | children = ( 252 | 9604B925D32EE39065747725 /* ofxBaseGui.cpp */, 253 | 87F26B4B24CBD428AD9EEBAA /* ofxBaseGui.h */, 254 | C88333E71C9457E441C33474 /* ofxButton.cpp */, 255 | 2834D88A62CD23F3DE2C47D1 /* ofxButton.h */, 256 | 17E65988300FBD9AAA2CD0CA /* ofxGui.h */, 257 | ECF8674C7975F1063C5E30CA /* ofxGuiGroup.cpp */, 258 | 1C0DA2561397A7DE0246858B /* ofxGuiGroup.h */, 259 | 78D67A00EB899FAC09430597 /* ofxLabel.cpp */, 260 | B87C60311EC1FE841C1ECD89 /* ofxLabel.h */, 261 | E112B3AEBEA2C091BF2B40AE /* ofxPanel.cpp */, 262 | 89449E3044D456F7DE7BEA14 /* ofxPanel.h */, 263 | 15F2C6477A769C03A56D1401 /* ofxSlider.cpp */, 264 | 52AFA1F08C420992CAAAE648 /* ofxSlider.h */, 265 | 802251BAF1B35B1D67B32FD0 /* ofxSliderGroup.cpp */, 266 | C70D8946940288799E82131E /* ofxSliderGroup.h */, 267 | 907C5B5E104864A2D3A25745 /* ofxToggle.cpp */, 268 | 0A1DAC09F322AE313A40706D /* ofxToggle.h */, 269 | ); 270 | name = src; 271 | sourceTree = ""; 272 | }; 273 | BB4B014C10F69532006C3DED /* addons */ = { 274 | isa = PBXGroup; 275 | children = ( 276 | 480A780D8D0308AE4A368801 /* ofxGui */, 277 | 1F4FB5C423662B96ADFDCC0B /* ofxXmlSettings */, 278 | 8D85BDCAA51DA8B14A2D8410 /* ofxPJControl */, 279 | 5D62C22D1B78FDB900E954A0 /* ofxNetwork */, 280 | ); 281 | name = addons; 282 | sourceTree = ""; 283 | }; 284 | BBAB23C913894ECA00AA2426 /* system frameworks */ = { 285 | isa = PBXGroup; 286 | children = ( 287 | E7F985F515E0DE99003869B5 /* Accelerate.framework */, 288 | E4C2424410CC5A17004149E2 /* AppKit.framework */, 289 | E4C2424510CC5A17004149E2 /* Cocoa.framework */, 290 | E4C2424610CC5A17004149E2 /* IOKit.framework */, 291 | E45BE9710E8CC7DD009D7055 /* AGL.framework */, 292 | E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */, 293 | E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */, 294 | E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */, 295 | E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */, 296 | E45BE9770E8CC7DD009D7055 /* CoreServices.framework */, 297 | E45BE9790E8CC7DD009D7055 /* OpenGL.framework */, 298 | E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */, 299 | E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */, 300 | E7E077E715D3B6510020DFD4 /* QTKit.framework */, 301 | ); 302 | name = "system frameworks"; 303 | sourceTree = ""; 304 | }; 305 | BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */ = { 306 | isa = PBXGroup; 307 | children = ( 308 | BBAB23BE13894E4700AA2426 /* GLUT.framework */, 309 | ); 310 | name = "3rd party frameworks"; 311 | sourceTree = ""; 312 | }; 313 | E4328144138ABC890047C5CB /* Products */ = { 314 | isa = PBXGroup; 315 | children = ( 316 | E4328148138ABC890047C5CB /* openFrameworksDebug.a */, 317 | ); 318 | name = Products; 319 | sourceTree = ""; 320 | }; 321 | E45BE5980E8CC70C009D7055 /* frameworks */ = { 322 | isa = PBXGroup; 323 | children = ( 324 | BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */, 325 | BBAB23C913894ECA00AA2426 /* system frameworks */, 326 | ); 327 | name = frameworks; 328 | sourceTree = ""; 329 | }; 330 | E4B69B4A0A3A1720003C02F2 = { 331 | isa = PBXGroup; 332 | children = ( 333 | E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */, 334 | E4EB6923138AFD0F00A09F29 /* Project.xcconfig */, 335 | E4B69E1C0A3A1BDC003C02F2 /* src */, 336 | E4EEC9E9138DF44700A80321 /* openFrameworks */, 337 | BB4B014C10F69532006C3DED /* addons */, 338 | E45BE5980E8CC70C009D7055 /* frameworks */, 339 | E4B69B5B0A3A1756003C02F2 /* ofxPJControl_TimerAutomationExampleDebug.app */, 340 | ); 341 | sourceTree = ""; 342 | }; 343 | E4B69E1C0A3A1BDC003C02F2 /* src */ = { 344 | isa = PBXGroup; 345 | children = ( 346 | E4B69E1D0A3A1BDC003C02F2 /* main.cpp */, 347 | E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */, 348 | E4B69E1F0A3A1BDC003C02F2 /* ofApp.h */, 349 | 5D62C23D1B78FDEF00E954A0 /* ProjectorTimer.cpp */, 350 | 5D62C23E1B78FDEF00E954A0 /* ProjectorTimer.h */, 351 | ); 352 | path = src; 353 | sourceTree = SOURCE_ROOT; 354 | }; 355 | E4EEC9E9138DF44700A80321 /* openFrameworks */ = { 356 | isa = PBXGroup; 357 | children = ( 358 | E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */, 359 | E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */, 360 | ); 361 | name = openFrameworks; 362 | sourceTree = ""; 363 | }; 364 | /* End PBXGroup section */ 365 | 366 | /* Begin PBXNativeTarget section */ 367 | E4B69B5A0A3A1756003C02F2 /* ofxPJControl_TimerAutomationExample */ = { 368 | isa = PBXNativeTarget; 369 | buildConfigurationList = E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "ofxPJControl_TimerAutomationExample" */; 370 | buildPhases = ( 371 | E4B69B580A3A1756003C02F2 /* Sources */, 372 | E4B69B590A3A1756003C02F2 /* Frameworks */, 373 | E4B6FFFD0C3F9AB9008CF71C /* ShellScript */, 374 | E4C2427710CC5ABF004149E2 /* CopyFiles */, 375 | ); 376 | buildRules = ( 377 | ); 378 | dependencies = ( 379 | E4EEB9AC138B136A00A80321 /* PBXTargetDependency */, 380 | ); 381 | name = ofxPJControl_TimerAutomationExample; 382 | productName = myOFApp; 383 | productReference = E4B69B5B0A3A1756003C02F2 /* ofxPJControl_TimerAutomationExampleDebug.app */; 384 | productType = "com.apple.product-type.application"; 385 | }; 386 | /* End PBXNativeTarget section */ 387 | 388 | /* Begin PBXProject section */ 389 | E4B69B4C0A3A1720003C02F2 /* Project object */ = { 390 | isa = PBXProject; 391 | attributes = { 392 | LastUpgradeCheck = 0460; 393 | }; 394 | buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "ofxPJControl_TimerAutomationExample" */; 395 | compatibilityVersion = "Xcode 3.2"; 396 | developmentRegion = English; 397 | hasScannedForEncodings = 0; 398 | knownRegions = ( 399 | English, 400 | Japanese, 401 | French, 402 | German, 403 | ); 404 | mainGroup = E4B69B4A0A3A1720003C02F2; 405 | productRefGroup = E4B69B4A0A3A1720003C02F2; 406 | projectDirPath = ""; 407 | projectReferences = ( 408 | { 409 | ProductGroup = E4328144138ABC890047C5CB /* Products */; 410 | ProjectRef = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; 411 | }, 412 | ); 413 | projectRoot = ""; 414 | targets = ( 415 | E4B69B5A0A3A1756003C02F2 /* ofxPJControl_TimerAutomationExample */, 416 | ); 417 | }; 418 | /* End PBXProject section */ 419 | 420 | /* Begin PBXReferenceProxy section */ 421 | E4328148138ABC890047C5CB /* openFrameworksDebug.a */ = { 422 | isa = PBXReferenceProxy; 423 | fileType = archive.ar; 424 | path = openFrameworksDebug.a; 425 | remoteRef = E4328147138ABC890047C5CB /* PBXContainerItemProxy */; 426 | sourceTree = BUILT_PRODUCTS_DIR; 427 | }; 428 | /* End PBXReferenceProxy section */ 429 | 430 | /* Begin PBXShellScriptBuildPhase section */ 431 | E4B6FFFD0C3F9AB9008CF71C /* ShellScript */ = { 432 | isa = PBXShellScriptBuildPhase; 433 | buildActionMask = 2147483647; 434 | files = ( 435 | ); 436 | inputPaths = ( 437 | ); 438 | outputPaths = ( 439 | ); 440 | runOnlyForDeploymentPostprocessing = 0; 441 | shellPath = /bin/sh; 442 | 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\";\nmkdir -p \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/\"\ncp -f \"$ICON_FILE\" \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/\"\n"; 443 | }; 444 | /* End PBXShellScriptBuildPhase section */ 445 | 446 | /* Begin PBXSourcesBuildPhase section */ 447 | E4B69B580A3A1756003C02F2 /* Sources */ = { 448 | isa = PBXSourcesBuildPhase; 449 | buildActionMask = 2147483647; 450 | files = ( 451 | E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */, 452 | E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */, 453 | 856AA354D08AB4B323081444 /* ofxBaseGui.cpp in Sources */, 454 | 5CBB2AB3A60F65431D7B555D /* ofxButton.cpp in Sources */, 455 | 5D62C2391B78FDB900E954A0 /* ofxTCPClient.cpp in Sources */, 456 | B266578FC55D23BFEBC042E7 /* ofxGuiGroup.cpp in Sources */, 457 | 483908258D00B98B4BE69F07 /* ofxLabel.cpp in Sources */, 458 | F285EB3169F1566CA3D93C20 /* ofxPanel.cpp in Sources */, 459 | 5D62C23B1B78FDB900E954A0 /* ofxTCPServer.cpp in Sources */, 460 | 837220E80EB56CD44AD27F2A /* ofxSlider.cpp in Sources */, 461 | 5D62C23A1B78FDB900E954A0 /* ofxTCPManager.cpp in Sources */, 462 | 5D62C23C1B78FDB900E954A0 /* ofxUDPManager.cpp in Sources */, 463 | B56FE57CC35806596D38118C /* ofxSliderGroup.cpp in Sources */, 464 | 1CD33E884D9E3358252E82A1 /* ofxToggle.cpp in Sources */, 465 | 63B57AC5BF4EF088491E0317 /* ofxXmlSettings.cpp in Sources */, 466 | 933A2227713C720CEFF80FD9 /* tinyxml.cpp in Sources */, 467 | 5D62C23F1B78FDEF00E954A0 /* ProjectorTimer.cpp in Sources */, 468 | 9D44DC88EF9E7991B4A09951 /* tinyxmlerror.cpp in Sources */, 469 | 5A4349E9754D6FA14C0F2A3A /* tinyxmlparser.cpp in Sources */, 470 | 3EEA1869B8F0B84BCA5C7DD5 /* ofxPJControl.cpp in Sources */, 471 | ); 472 | runOnlyForDeploymentPostprocessing = 0; 473 | }; 474 | /* End PBXSourcesBuildPhase section */ 475 | 476 | /* Begin PBXTargetDependency section */ 477 | E4EEB9AC138B136A00A80321 /* PBXTargetDependency */ = { 478 | isa = PBXTargetDependency; 479 | name = openFrameworks; 480 | targetProxy = E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */; 481 | }; 482 | /* End PBXTargetDependency section */ 483 | 484 | /* Begin XCBuildConfiguration section */ 485 | E4B69B4E0A3A1720003C02F2 /* Debug */ = { 486 | isa = XCBuildConfiguration; 487 | baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; 488 | buildSettings = { 489 | ARCHS = "$(NATIVE_ARCH)"; 490 | CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; 491 | COPY_PHASE_STRIP = NO; 492 | DEAD_CODE_STRIPPING = YES; 493 | GCC_AUTO_VECTORIZATION = YES; 494 | GCC_ENABLE_SSE3_EXTENSIONS = YES; 495 | GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; 496 | GCC_INLINES_ARE_PRIVATE_EXTERN = NO; 497 | GCC_OPTIMIZATION_LEVEL = 0; 498 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 499 | GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES; 500 | GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; 501 | GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; 502 | GCC_WARN_UNINITIALIZED_AUTOS = NO; 503 | GCC_WARN_UNUSED_VALUE = NO; 504 | GCC_WARN_UNUSED_VARIABLE = NO; 505 | HEADER_SEARCH_PATHS = ( 506 | "$(OF_CORE_HEADERS)", 507 | ../../../addons/ofxGui/libs, 508 | ../../../addons/ofxGui/src, 509 | ../../../addons/ofxXmlSettings/libs, 510 | ../../../addons/ofxXmlSettings/src, 511 | ../../../addons/ofxPJControl/libs, 512 | ../../../addons/ofxPJControl/src, 513 | ); 514 | MACOSX_DEPLOYMENT_TARGET = 10.6; 515 | OTHER_CPLUSPLUSFLAGS = ( 516 | "-D__MACOSX_CORE__", 517 | "-lpthread", 518 | "-mtune=native", 519 | ); 520 | SDKROOT = macosx; 521 | }; 522 | name = Debug; 523 | }; 524 | E4B69B4F0A3A1720003C02F2 /* Release */ = { 525 | isa = XCBuildConfiguration; 526 | baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; 527 | buildSettings = { 528 | ARCHS = "$(NATIVE_ARCH)"; 529 | CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; 530 | COPY_PHASE_STRIP = YES; 531 | DEAD_CODE_STRIPPING = YES; 532 | GCC_AUTO_VECTORIZATION = YES; 533 | GCC_ENABLE_SSE3_EXTENSIONS = YES; 534 | GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; 535 | GCC_INLINES_ARE_PRIVATE_EXTERN = NO; 536 | GCC_OPTIMIZATION_LEVEL = 3; 537 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 538 | GCC_UNROLL_LOOPS = YES; 539 | GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES; 540 | GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; 541 | GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; 542 | GCC_WARN_UNINITIALIZED_AUTOS = NO; 543 | GCC_WARN_UNUSED_VALUE = NO; 544 | GCC_WARN_UNUSED_VARIABLE = NO; 545 | HEADER_SEARCH_PATHS = ( 546 | "$(OF_CORE_HEADERS)", 547 | ../../../addons/ofxGui/libs, 548 | ../../../addons/ofxGui/src, 549 | ../../../addons/ofxXmlSettings/libs, 550 | ../../../addons/ofxXmlSettings/src, 551 | ../../../addons/ofxPJControl/libs, 552 | ../../../addons/ofxPJControl/src, 553 | ); 554 | MACOSX_DEPLOYMENT_TARGET = 10.6; 555 | OTHER_CPLUSPLUSFLAGS = ( 556 | "-D__MACOSX_CORE__", 557 | "-lpthread", 558 | "-mtune=native", 559 | ); 560 | SDKROOT = macosx; 561 | }; 562 | name = Release; 563 | }; 564 | E4B69B600A3A1757003C02F2 /* Debug */ = { 565 | isa = XCBuildConfiguration; 566 | buildSettings = { 567 | COMBINE_HIDPI_IMAGES = YES; 568 | COPY_PHASE_STRIP = NO; 569 | FRAMEWORK_SEARCH_PATHS = ( 570 | "$(inherited)", 571 | "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", 572 | ); 573 | FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; 574 | GCC_DYNAMIC_NO_PIC = NO; 575 | GCC_GENERATE_DEBUGGING_SYMBOLS = YES; 576 | GCC_MODEL_TUNING = NONE; 577 | ICON = "$(ICON_NAME_DEBUG)"; 578 | ICON_FILE = "$(ICON_FILE_PATH)$(ICON)"; 579 | INFOPLIST_FILE = "openFrameworks-Info.plist"; 580 | INSTALL_PATH = "$(HOME)/Applications"; 581 | LIBRARY_SEARCH_PATHS = ( 582 | "$(inherited)", 583 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", 584 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", 585 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", 586 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", 587 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", 588 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", 589 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", 590 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", 591 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", 592 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", 593 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", 594 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", 595 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", 596 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", 597 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", 598 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", 599 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", 600 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", 601 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", 602 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", 603 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", 604 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", 605 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", 606 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", 607 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)", 608 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)", 609 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)", 610 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)", 611 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)", 612 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)", 613 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)", 614 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)", 615 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)", 616 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)", 617 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)", 618 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)", 619 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)", 620 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)", 621 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)", 622 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)", 623 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)", 624 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)", 625 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)", 626 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)", 627 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)", 628 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)", 629 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)", 630 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)", 631 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)", 632 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)", 633 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)", 634 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)", 635 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)", 636 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)", 637 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)", 638 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)", 639 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)", 640 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)", 641 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)", 642 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)", 643 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_52)", 644 | ); 645 | PRODUCT_NAME = "$(TARGET_NAME)Debug"; 646 | USER_HEADER_SEARCH_PATHS = ""; 647 | WRAPPER_EXTENSION = app; 648 | }; 649 | name = Debug; 650 | }; 651 | E4B69B610A3A1757003C02F2 /* Release */ = { 652 | isa = XCBuildConfiguration; 653 | buildSettings = { 654 | COMBINE_HIDPI_IMAGES = YES; 655 | COPY_PHASE_STRIP = YES; 656 | FRAMEWORK_SEARCH_PATHS = ( 657 | "$(inherited)", 658 | "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", 659 | ); 660 | FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; 661 | GCC_GENERATE_DEBUGGING_SYMBOLS = YES; 662 | GCC_MODEL_TUNING = NONE; 663 | ICON = "$(ICON_NAME_RELEASE)"; 664 | ICON_FILE = "$(ICON_FILE_PATH)$(ICON)"; 665 | INFOPLIST_FILE = "openFrameworks-Info.plist"; 666 | INSTALL_PATH = "$(HOME)/Applications"; 667 | LIBRARY_SEARCH_PATHS = ( 668 | "$(inherited)", 669 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", 670 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", 671 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", 672 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", 673 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", 674 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", 675 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", 676 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", 677 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", 678 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", 679 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", 680 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", 681 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", 682 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", 683 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", 684 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", 685 | "$(LIBRARY_SEARCH_PATHS_QUOTED_1)", 686 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", 687 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", 688 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", 689 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", 690 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", 691 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", 692 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", 693 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", 694 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)", 695 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)", 696 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)", 697 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)", 698 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)", 699 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)", 700 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)", 701 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)", 702 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)", 703 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)", 704 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)", 705 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)", 706 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)", 707 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)", 708 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)", 709 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)", 710 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)", 711 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)", 712 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)", 713 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)", 714 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)", 715 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)", 716 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)", 717 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)", 718 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)", 719 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)", 720 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)", 721 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)", 722 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)", 723 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)", 724 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)", 725 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)", 726 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)", 727 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)", 728 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)", 729 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)", 730 | ); 731 | PRODUCT_NAME = "$(TARGET_NAME)"; 732 | USER_HEADER_SEARCH_PATHS = ""; 733 | WRAPPER_EXTENSION = app; 734 | }; 735 | name = Release; 736 | }; 737 | /* End XCBuildConfiguration section */ 738 | 739 | /* Begin XCConfigurationList section */ 740 | E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "ofxPJControl_TimerAutomationExample" */ = { 741 | isa = XCConfigurationList; 742 | buildConfigurations = ( 743 | E4B69B4E0A3A1720003C02F2 /* Debug */, 744 | E4B69B4F0A3A1720003C02F2 /* Release */, 745 | ); 746 | defaultConfigurationIsVisible = 0; 747 | defaultConfigurationName = Release; 748 | }; 749 | E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "ofxPJControl_TimerAutomationExample" */ = { 750 | isa = XCConfigurationList; 751 | buildConfigurations = ( 752 | E4B69B600A3A1757003C02F2 /* Debug */, 753 | E4B69B610A3A1757003C02F2 /* Release */, 754 | ); 755 | defaultConfigurationIsVisible = 0; 756 | defaultConfigurationName = Release; 757 | }; 758 | /* End XCConfigurationList section */ 759 | }; 760 | rootObject = E4B69B4C0A3A1720003C02F2 /* Project object */; 761 | } 762 | -------------------------------------------------------------------------------- /ofxPJControl_Timer_Automation_Example/ofxPJControl_TimerAutomationExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ofxPJControl_Timer_Automation_Example/ofxPJControl_TimerAutomationExample.xcodeproj/project.xcworkspace/xcshareddata/ofxPJControl_TimerAutomationExample.xccheckout: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDESourceControlProjectFavoriteDictionaryKey 6 | 7 | IDESourceControlProjectIdentifier 8 | CC60D827-9DE7-4E66-ADD0-013860851E1C 9 | IDESourceControlProjectName 10 | ofxPJControl_TimerAutomationExample 11 | IDESourceControlProjectOriginsDictionary 12 | 13 | DB1F07EBE468BDBA8CED3296EF731B8E8D3145FB 14 | https://github.com/fakelove/ofxPJControl.git 15 | 16 | IDESourceControlProjectPath 17 | ofxPJControl_Timer_Automation_Example/ofxPJControl_TimerAutomationExample.xcodeproj 18 | IDESourceControlProjectRelativeInstallPathDictionary 19 | 20 | DB1F07EBE468BDBA8CED3296EF731B8E8D3145FB 21 | ../../.. 22 | 23 | IDESourceControlProjectURL 24 | https://github.com/fakelove/ofxPJControl.git 25 | IDESourceControlProjectVersion 26 | 111 27 | IDESourceControlProjectWCCIdentifier 28 | DB1F07EBE468BDBA8CED3296EF731B8E8D3145FB 29 | IDESourceControlProjectWCConfigurations 30 | 31 | 32 | IDESourceControlRepositoryExtensionIdentifierKey 33 | public.vcs.git 34 | IDESourceControlWCCIdentifierKey 35 | DB1F07EBE468BDBA8CED3296EF731B8E8D3145FB 36 | IDESourceControlWCCName 37 | ofxPJControl 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /ofxPJControl_Timer_Automation_Example/ofxPJControl_TimerAutomationExample.xcodeproj/project.xcworkspace/xcuserdata/FakeMike.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nullboundary/ofxPJControl/042a6daced5c948f98ac8f01254070201f6a1cb0/ofxPJControl_Timer_Automation_Example/ofxPJControl_TimerAutomationExample.xcodeproj/project.xcworkspace/xcuserdata/FakeMike.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /ofxPJControl_Timer_Automation_Example/ofxPJControl_TimerAutomationExample.xcodeproj/xcshareddata/xcschemes/ofxPJControl_TimerAutomationExample Debug.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 39 | 40 | 41 | 42 | 51 | 52 | 58 | 59 | 60 | 61 | 62 | 63 | 69 | 70 | 76 | 77 | 78 | 79 | 81 | 82 | 85 | 86 | 87 | -------------------------------------------------------------------------------- /ofxPJControl_Timer_Automation_Example/ofxPJControl_TimerAutomationExample.xcodeproj/xcshareddata/xcschemes/ofxPJControl_TimerAutomationExample Release.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 39 | 40 | 41 | 42 | 51 | 52 | 58 | 59 | 60 | 61 | 62 | 63 | 69 | 70 | 76 | 77 | 78 | 79 | 81 | 82 | 85 | 86 | 87 | -------------------------------------------------------------------------------- /ofxPJControl_Timer_Automation_Example/ofxPJControl_TimerAutomationExample.xcodeproj/xcuserdata/FakeMike.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SuppressBuildableAutocreation 6 | 7 | E4B69B5A0A3A1756003C02F2 8 | 9 | primary 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /ofxPJControl_Timer_Automation_Example/openFrameworks-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | cc.openFrameworks.ofapp 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | APPL 15 | CFBundleSignature 16 | ???? 17 | CFBundleVersion 18 | 1.0 19 | CFBundleIconFile 20 | ${ICON} 21 | 22 | 23 | -------------------------------------------------------------------------------- /ofxPJControl_Timer_Automation_Example/src/ProjectorTimer.cpp: -------------------------------------------------------------------------------- 1 | 2 | 3 | //Created by Fake Love 8.10.15// 4 | 5 | #include "ProjectorTimer.h" 6 | 7 | 8 | void ProjectorTimer::setup(){ 9 | 10 | projOnHour.set("Projector_Auto_On_at", 8, 0, 23); 11 | projOffHour.set("Projector_Auto_Off_at", 19, 0, 23); 12 | projectorPower.set("Projector_Power", false); 13 | automaticProjectorPower.set("Auto_Power_Projector", true); 14 | daysToAutoPower.setName("Days_to_Power_Projector"); 15 | autoPwrMon.set("Monday", false) ; 16 | daysToAutoPower.add(autoPwrMon); 17 | autoPwrTues.set("Tuesday", false); 18 | daysToAutoPower.add(autoPwrTues); 19 | autoPwrWeds.set("Wednesday", false); 20 | daysToAutoPower.add(autoPwrWeds); 21 | autoPwrThurs.set("Thursday", false); 22 | daysToAutoPower.add(autoPwrThurs); 23 | autoPwrFri.set("Friday", false); 24 | daysToAutoPower.add(autoPwrFri); 25 | autoPwrSat.set("Saturday", false); 26 | daysToAutoPower.add(autoPwrSat); 27 | autoPwrSun.set("Sunday", false); 28 | daysToAutoPower.add(autoPwrSun); 29 | 30 | fakeHours.set("Fake_Hours",0,0,23); 31 | fakeMinutes.set("Fake_Minutes",0,0,60); 32 | fakeDay.set("Fake_Day",3,0,6); 33 | useFakeTime.set("Use_Fake_Time",false); 34 | fakeTime.setName("Fake_Time"); 35 | fakeTime.add(useFakeTime); 36 | fakeTime.add(fakeHours); 37 | fakeTime.add(fakeMinutes); 38 | fakeTime.add(fakeDay); 39 | 40 | projectorParamGroup.setName("Projector_Controls"); 41 | projectorParamGroup.add(projectorPower); 42 | projectorParamGroup.add(automaticProjectorPower); 43 | projectorParamGroup.add(projOnHour); 44 | projectorParamGroup.add(projOffHour); 45 | projectorParamGroup.add(daysToAutoPower); 46 | 47 | projectorControls.setup(projectorParamGroup); 48 | projectorFakeTime.setup(fakeTime); 49 | projectorFakeTime.setPosition(ofPoint(ofGetWidth() * .45, ofGetHeight() * .03)); 50 | 51 | 52 | /// SETUP PROJECTOR CONTROL /// 53 | pjControl.setup(PROJECTOR_IP, PROJECTOR_PORT, PJLINK_MODE, PROJECTOR_PW); 54 | 55 | //PJControl get status getProjectorStatus works based on if you app has started the projector 56 | 57 | startupProjectors(); 58 | projectorPower = pjControl.getProjectorStatus(); 59 | cout << "projector ? " << projectorPower << endl; 60 | 61 | } 62 | 63 | void ProjectorTimer::update(){ 64 | 65 | if (bPowerButtonChanged) { 66 | automaticProjectorPower = false; 67 | bPowerButtonChanged = false; 68 | } 69 | 70 | if(projectorPower && !pjControl.getProjectorStatus() && !automaticProjectorPower){ 71 | startupProjectors(); 72 | projectorPower = pjControl.getProjectorStatus(); 73 | bPowerButtonChanged = true; 74 | } else if (!projectorPower && pjControl.getProjectorStatus() && !automaticProjectorPower) { 75 | shutdownProjectors(); 76 | projectorPower = pjControl.getProjectorStatus(); 77 | bPowerButtonChanged = true; 78 | 79 | } else if( projectorPower != pjControl.getProjectorStatus() &&automaticProjectorPower){ 80 | bPowerButtonChanged = true; 81 | 82 | } 83 | 84 | /// Check projector status every few seconds /// 85 | if(automaticProjectorPower && int(ofGetElapsedTimef())%10 == 0) checkProjectorPower(); 86 | 87 | 88 | } 89 | 90 | void ProjectorTimer::draw() { 91 | 92 | ofPushMatrix(); 93 | projectorControls.draw(); 94 | ofPopMatrix(); 95 | 96 | ofPushMatrix(); 97 | projectorFakeTime.draw(); 98 | ofPopMatrix(); 99 | } 100 | 101 | void ProjectorTimer::checkProjectorPower(){ 102 | 103 | int currentHour; 104 | int currentDay; 105 | if(useFakeTime){ 106 | currentHour = fakeHours; 107 | currentDay = fakeDay; 108 | } else { 109 | currentHour = ofGetHours(); 110 | currentDay = ofGetWeekday(); 111 | } 112 | bool dayEnabled = false; 113 | 114 | switch (currentDay) { //is today enabled? 115 | case 0: 116 | dayEnabled = autoPwrSun; 117 | break; 118 | case 1: 119 | dayEnabled = autoPwrMon; 120 | break; 121 | case 2: 122 | dayEnabled = autoPwrTues; 123 | break; 124 | case 3: 125 | dayEnabled = autoPwrWeds; 126 | break; 127 | case 4: 128 | dayEnabled = autoPwrThurs; 129 | break; 130 | case 5: 131 | dayEnabled = autoPwrFri; 132 | break; 133 | case 6: 134 | dayEnabled = autoPwrSat; 135 | break; 136 | 137 | default: 138 | break; 139 | } 140 | 141 | //if it's between the on hour and the off hour, and the projector's off, and today is enabled, turn it on. if it's later than the off hour and the projector is on, and today is enabled, turn it off. 142 | if (currentHour >= projOnHour && currentHour < projOffHour && !pjControl.getProjectorStatus() && dayEnabled) { 143 | startupProjectors(); 144 | projectorPower = true; 145 | ofLogWarning()<<"started projector automatically at "<< currentHour<<":"<= projOffHour && pjControl.getProjectorStatus() && dayEnabled){ 147 | shutdownProjectors(); 148 | projectorPower = false; 149 | ofLogWarning()<<"shut down projector automatically at "<< currentHour<<":"< projOnHour; 54 | ofParameter projOffHour; 55 | 56 | ofParameter automaticProjectorPower; 57 | ofParameter projectorPower; 58 | 59 | ofParameterGroup daysToAutoPower; 60 | ofParameter autoPwrMon; 61 | ofParameter autoPwrTues; 62 | ofParameter autoPwrWeds; 63 | ofParameter autoPwrThurs; 64 | ofParameter autoPwrFri; 65 | ofParameter autoPwrSat; 66 | ofParameter autoPwrSun; 67 | 68 | ofParameter fakeHours; 69 | ofParameter fakeMinutes; 70 | ofParameter fakeDay; 71 | ofParameter useFakeTime; 72 | bool bPowerButtonChanged = false; 73 | 74 | }; 75 | -------------------------------------------------------------------------------- /ofxPJControl_Timer_Automation_Example/src/main.cpp: -------------------------------------------------------------------------------- 1 | #include "ofMain.h" 2 | #include "ofApp.h" 3 | 4 | //======================================================================== 5 | int main( ){ 6 | ofSetupOpenGL(640,480,OF_WINDOW); // <-------- setup the GL context 7 | 8 | // this kicks off the running of my app 9 | // can be OF_WINDOW or OF_FULLSCREEN 10 | // pass in width and height too: 11 | ofRunApp(new ofApp()); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ofxPJControl_Timer_Automation_Example/src/ofApp.cpp: -------------------------------------------------------------------------------- 1 | #include "ofApp.h" 2 | 3 | //-------------------------------------------------------------- 4 | void ofApp::setup(){ 5 | 6 | ofBackground(ofColor::whiteSmoke); 7 | 8 | projector.setup(); 9 | 10 | } 11 | 12 | //-------------------------------------------------------------- 13 | void ofApp::update(){ 14 | 15 | projector.update(); 16 | } 17 | 18 | //-------------------------------------------------------------- 19 | void ofApp::draw(){ 20 | 21 | projector.draw(); 22 | } 23 | 24 | //-------------------------------------------------------------- 25 | void ofApp::keyPressed(int key){ 26 | 27 | } 28 | 29 | //-------------------------------------------------------------- 30 | void ofApp::keyReleased(int key){ 31 | 32 | } 33 | 34 | //-------------------------------------------------------------- 35 | void ofApp::mouseMoved(int x, int y ){ 36 | 37 | } 38 | 39 | //-------------------------------------------------------------- 40 | void ofApp::mouseDragged(int x, int y, int button){ 41 | 42 | } 43 | 44 | //-------------------------------------------------------------- 45 | void ofApp::mousePressed(int x, int y, int button){ 46 | 47 | } 48 | 49 | //-------------------------------------------------------------- 50 | void ofApp::mouseReleased(int x, int y, int button){ 51 | 52 | } 53 | 54 | //-------------------------------------------------------------- 55 | void ofApp::windowResized(int w, int h){ 56 | 57 | } 58 | 59 | //-------------------------------------------------------------- 60 | void ofApp::gotMessage(ofMessage msg){ 61 | 62 | } 63 | 64 | //-------------------------------------------------------------- 65 | void ofApp::dragEvent(ofDragInfo dragInfo){ 66 | 67 | } 68 | -------------------------------------------------------------------------------- /ofxPJControl_Timer_Automation_Example/src/ofApp.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "ofMain.h" 4 | #include "ProjectorTimer.h" 5 | 6 | class ofApp : public ofBaseApp{ 7 | 8 | public: 9 | void setup(); 10 | void update(); 11 | void draw(); 12 | 13 | void keyPressed(int key); 14 | void keyReleased(int key); 15 | void mouseMoved(int x, int y ); 16 | void mouseDragged(int x, int y, int button); 17 | void mousePressed(int x, int y, int button); 18 | void mouseReleased(int x, int y, int button); 19 | void windowResized(int w, int h); 20 | void dragEvent(ofDragInfo dragInfo); 21 | void gotMessage(ofMessage msg); 22 | 23 | ProjectorTimer projector; 24 | 25 | //Addons to run this example include: // 26 | //ofxGui, ofxXmlSettings, ofxPJControl, ofxNetwork// 27 | }; 28 | -------------------------------------------------------------------------------- /src/ofxPJControl.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * pjControl.h 3 | * 4 | * Created by Noah Shibley on 8/9/10. 5 | * Updated by Martial GALLORINI on 19/03/2015 6 | * 7 | Video projector control class. 8 | * 9 | * 10 | */ 11 | 12 | #include "ofxPJControl.h" 13 | #include "ofMain.h" 14 | 15 | ofxPJControl::ofxPJControl() 16 | { 17 | connected = false; 18 | projStatus = false; 19 | } 20 | 21 | ofxPJControl::~ofxPJControl() 22 | { 23 | } 24 | 25 | bool ofxPJControl::getProjectorStatus() 26 | { 27 | return projStatus; 28 | } 29 | 30 | void ofxPJControl::setProjectorType(int protocol) 31 | { 32 | //NEC_MODE or PJLINK_MODE 33 | commMode = protocol; 34 | } 35 | 36 | void ofxPJControl::setup(string IP_add, int port, int protocol, string password) 37 | { 38 | setProjectorIP(IP_add); 39 | setProjectorType(protocol); 40 | setProjectorPort(port); 41 | setProjectorPassword(password); 42 | } 43 | 44 | void ofxPJControl::setProjectorIP(string IP_add) 45 | { 46 | IPAddress = IP_add; 47 | } 48 | 49 | void ofxPJControl::setProjectorPort(int port) 50 | { 51 | pjPort = port; 52 | } 53 | 54 | void ofxPJControl::setProjectorPassword(string passwd) 55 | { 56 | password = passwd; 57 | } 58 | 59 | 60 | bool ofxPJControl::On() 61 | { 62 | if (commMode == NEC_MODE) 63 | { 64 | return nec_On(); 65 | } 66 | else if (commMode == PJLINK_MODE) 67 | { 68 | return pjLink_On(); 69 | } 70 | else if (commMode == CHRISTIE_MODE) 71 | { 72 | return christie_On(); 73 | } 74 | else if (commMode == SANYO_MODE) 75 | { 76 | return sanyo_On(); 77 | } 78 | else if (commMode == PJDESIGN_MODE) 79 | { 80 | return pjDesign_On(); 81 | } 82 | return false; 83 | } 84 | 85 | bool ofxPJControl::Off() 86 | { 87 | if (commMode == NEC_MODE) 88 | { 89 | return nec_Off(); 90 | } 91 | else if (commMode == PJLINK_MODE) 92 | { 93 | return pjLink_Off(); 94 | } 95 | else if (commMode == CHRISTIE_MODE) 96 | { 97 | return christie_Off(); 98 | } 99 | else if (commMode == SANYO_MODE) 100 | { 101 | return sanyo_Off(); 102 | } 103 | else if (commMode == PJDESIGN_MODE) 104 | { 105 | return pjDesign_Off(); 106 | } 107 | return false; 108 | } 109 | 110 | bool ofxPJControl::sendPJLinkCommand(string command) 111 | { 112 | string msgRx = ""; 113 | 114 | if (!pjClient.isConnected()) 115 | { 116 | //pjClient.setVerbose(true); 117 | connected = pjClient.setup(IPAddress, pjPort, true); 118 | if (connected) 119 | { 120 | ofLogNotice("", "connection established to %s:%i", IPAddress.c_str(), pjPort); 121 | string response = ""; 122 | while (msgRx.length() < 8) 123 | { 124 | msgRx = pjClient.receiveRaw(); 125 | } 126 | ofLogNotice("", "received response: %s", msgRx.c_str()); 127 | } 128 | } 129 | 130 | if (connected) 131 | { 132 | string authToken = ""; 133 | 134 | //eg. PJLINK 1 604cc14d 135 | if (msgRx[7] == '1') 136 | { 137 | ofLogNotice("", "try with authentication"); 138 | MD5Engine md5; 139 | md5.reset(); 140 | string hash = msgRx.substr(9, 8); 141 | ofLogNotice() << hash << endl; 142 | md5.update(hash + password); 143 | authToken = DigestEngine::digestToHex(md5.digest()); 144 | } 145 | ofLogNotice("sending command: %s %s", authToken.c_str(), command.c_str()); 146 | pjClient.sendRaw(authToken + command); 147 | msgRx = ""; 148 | while (msgRx.length() < 8) 149 | { 150 | msgRx = pjClient.receiveRaw(); 151 | } 152 | ofLogNotice("", "received response: %s ", msgRx.c_str()); 153 | 154 | pjClient.close(); 155 | return true; 156 | } 157 | 158 | ofLogError("", "couldn't connect"); 159 | pjClient.close(); 160 | return false; 161 | } 162 | 163 | bool ofxPJControl::sendCommand(string command) 164 | { 165 | if (!pjClient.isConnected()) 166 | { 167 | pjClient.setVerbose(true); 168 | ofLogNotice() << "connecting to : " << IPAddress << ":" << pjPort << endl; 169 | connected = pjClient.setup(IPAddress, pjPort, true); 170 | ofLogNotice() << "connection state : " << connected; 171 | } 172 | ofLogNotice() << "sending command : " << command << endl; 173 | bool result = pjClient.sendRaw(command); 174 | ofLogNotice() << "Response length (Bytes) : " << pjClient.getNumReceivedBytes() << endl; 175 | msgRx = ""; 176 | msgRx = pjClient.receiveRaw(); 177 | ofLogNotice() << "received response : " << msgRx << endl; 178 | 179 | pjClient.close(); 180 | return result; 181 | } 182 | 183 | bool ofxPJControl::nec_On() 184 | { 185 | pjClient.close(); //close any open connections first 186 | char* buffer = new char[6]; //02H 00H 00H 00H 00H 02H (the on command in hex) 187 | buffer[0] = 2; 188 | buffer[1] = 0; 189 | buffer[2] = 0; 190 | buffer[3] = 0; 191 | buffer[4] = 0; 192 | buffer[5] = 2; 193 | 194 | pjClient.setVerbose(true); 195 | if (!pjClient.isConnected()) 196 | { 197 | connected = pjClient.setup(IPAddress, NEC_PORT); 198 | ofLogNotice() << "connection established: " << IPAddress << ":" << NEC_PORT << endl; 199 | } 200 | ofLogNotice() << "sending command: ON" << endl; 201 | 202 | bool result = pjClient.sendRawBytes(buffer, 6); 203 | 204 | printf("sent: %x %x %x %x %x %x\n", buffer[0], buffer[1], buffer[2], buffer[3], buffer[4], buffer[5]); 205 | 206 | char* rxBuffer = new char[6]; 207 | 208 | pjClient.receiveRawBytes(rxBuffer, 6); 209 | 210 | printf("received: %x %x %x %x %x %x\n", rxBuffer[0], rxBuffer[1], rxBuffer[2], rxBuffer[3], rxBuffer[4], 211 | rxBuffer[5]); 212 | 213 | projStatus = true; 214 | 215 | delete rxBuffer; 216 | delete buffer; 217 | return result; 218 | } 219 | 220 | bool ofxPJControl::nec_Off() 221 | { 222 | char* buffer = new char[6]; //02H 01H 00H 00H 00H 03H (the off command in hex) 223 | buffer[0] = 2; 224 | buffer[1] = 1; 225 | buffer[2] = 0; 226 | buffer[3] = 0; 227 | buffer[4] = 0; 228 | buffer[5] = 3; 229 | 230 | projStatus = true; 231 | 232 | pjClient.setVerbose(true); 233 | 234 | if (!pjClient.isConnected()) 235 | { 236 | connected = pjClient.setup(IPAddress, NEC_PORT); 237 | ofLogNotice() << "connection established: " << IPAddress << ":" << NEC_PORT << endl; 238 | } 239 | 240 | ofLogNotice() << "sending command: OFF " << endl; 241 | 242 | bool result = pjClient.sendRawBytes(buffer, 6); 243 | printf("send: %x %x %x %x %x %x\n", buffer[0], buffer[1], buffer[2], buffer[3], buffer[4], buffer[5]); 244 | 245 | 246 | char* rxBuffer = new char[6]; 247 | 248 | pjClient.receiveRawBytes(rxBuffer, 6); 249 | 250 | printf("receive: %x %x %x %x %x %x\n", rxBuffer[0], rxBuffer[1], rxBuffer[2], rxBuffer[3], rxBuffer[4], 251 | rxBuffer[5]); 252 | 253 | projStatus = false; 254 | 255 | delete rxBuffer; 256 | delete buffer; 257 | return result; 258 | } 259 | 260 | bool ofxPJControl::pjLink_On() 261 | { 262 | string command = "%1POWR 1\r"; 263 | projStatus = sendPJLinkCommand(command); 264 | return projStatus; 265 | } 266 | 267 | bool ofxPJControl::pjLink_Off() 268 | { 269 | string command = "%1POWR 0\r"; 270 | projStatus = !sendPJLinkCommand(command); 271 | return !projStatus; 272 | } 273 | 274 | bool ofxPJControl::sanyo_On() 275 | { 276 | string command = "PWR ON\r"; 277 | projStatus = sendCommand(command); 278 | return projStatus; 279 | } 280 | 281 | bool ofxPJControl::sanyo_Off() 282 | { 283 | string command = "PWR OFF\r"; 284 | projStatus = !sendCommand(command); 285 | return !projStatus; 286 | } 287 | 288 | bool ofxPJControl::christie_On() 289 | { 290 | string command = "(PWR1)"; 291 | projStatus = sendCommand(command); 292 | return projStatus; 293 | } 294 | 295 | bool ofxPJControl::christie_Off() 296 | { 297 | string command = "(PWR0)"; 298 | projStatus = !sendCommand(command); 299 | return !projStatus; 300 | } 301 | 302 | bool ofxPJControl::pjDesign_On() 303 | { 304 | string command = ":POWR 1\r"; 305 | projStatus = sendCommand(command); 306 | return projStatus; 307 | } 308 | 309 | bool ofxPJControl::pjDesign_Off() 310 | { 311 | string command = ":POWR 0\r"; 312 | projStatus = !sendCommand(command); 313 | return !projStatus; 314 | } 315 | -------------------------------------------------------------------------------- /src/ofxPJControl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * pjControl.h 3 | * 4 | * Created by Noah Shibley on 8/9/10. 5 | * Updated by Martial GALLORINI on 19/03/2015 6 | * 7 | Video projector control class. 8 | * 9 | * 10 | */ 11 | 12 | #ifndef OFXPJCONTROL_H 13 | #define OFXPJCONTROL_H 14 | 15 | #include "ofxNetwork.h" 16 | #include "Poco/MD5Engine.h" 17 | #include "Poco/DigestStream.h" 18 | #include "Poco/StreamCopier.h" 19 | 20 | using Poco::DigestEngine; 21 | using Poco::MD5Engine; 22 | using Poco::DigestOutputStream; 23 | using Poco::StreamCopier; 24 | 25 | 26 | const int NEC_PORT = 7142; //NEC projector port 27 | const int PJLINK_PORT = 4352; //PJLink projector protocol port 28 | const int CHRISTIE_PORT = 3002; //CHRISTIE projector protocol port 29 | const int SANYO_PORT = 100; //SANYO projector protocol port 30 | const int PJDESIGN_PORT = 1025; //Projectino Design projector protocol port 31 | 32 | const int PJLINK_MODE = 0; 33 | const int NEC_MODE = 1; 34 | const int CHRISTIE_MODE = 2; 35 | const int SANYO_MODE = 3; 36 | const int PJDESIGN_MODE = 4; 37 | 38 | 39 | class ofxPJControl 40 | { 41 | public: 42 | ofxPJControl(); 43 | ~ofxPJControl(); 44 | 45 | //methods 46 | bool On(); //command to turn the projector off 47 | bool Off(); //command to turn the projector on 48 | bool sendPJLinkCommand(std::string command); //send any PJLink command to the projector 49 | void setup(std::string IP_add="192.168.0.100",int port = 4352, int protocol=PJLINK_MODE, std::string password=""); //default 50 | void setProjectorType(int protocol); //NEC_MODE or PJLINK_MODE 51 | void setProjectorIP(std::string IP_add); //the network IP of the projector 52 | void setProjectorPassword(std::string passwd); //password for PJLink authentication 53 | bool getProjectorStatus(); //return whether projector is on (true) or off (false) 54 | void setProjectorPort(int port); //the network port of the projector 55 | bool sendCommand(std::string command); //send any string command to the projector without password authentication 56 | 57 | private: 58 | 59 | bool nec_On(); 60 | bool nec_Off(); 61 | bool pjLink_On(); 62 | bool pjLink_Off(); 63 | bool sanyo_On(); 64 | bool sanyo_Off(); 65 | bool christie_On(); 66 | bool christie_Off(); 67 | bool pjDesign_On(); 68 | bool pjDesign_Off(); 69 | 70 | ofxTCPClient pjClient; 71 | 72 | std::string IPAddress; 73 | int pjPort; 74 | std::string password; 75 | 76 | bool projStatus; 77 | std::string msgTx; 78 | std::string msgRx; 79 | bool connected; 80 | int commMode; 81 | 82 | }; 83 | 84 | #endif 85 | 86 | --------------------------------------------------------------------------------