├── LICENSE ├── README.md ├── ofxMonitorInfo.png ├── ofxMonitorInfoExample ├── Makefile ├── Project.xcconfig ├── addons.make ├── bin │ └── data │ │ └── .gitkeep ├── config.make ├── ofxMonitorInfoExample.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── xcshareddata │ │ │ └── ofxMonitorInfoExample.xccheckout │ │ └── xcuserdata │ │ │ └── yasuhiro_hoshino.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ ├── xcshareddata │ │ └── xcschemes │ │ │ ├── ofxMonitorInfoExample Debug.xcscheme │ │ │ └── ofxMonitorInfoExample Release.xcscheme │ └── xcuserdata │ │ └── yasuhiro_hoshino.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist ├── openFrameworks-Info.plist └── src │ ├── main.cpp │ ├── ofApp.cpp │ └── ofApp.h ├── ofxaddons_thumbnail.png └── src ├── ofxMonitorInfo.cpp └── ofxMonitorInfo.h /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Yasuhiro Hoshino 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ofxMonitorInfo 2 | 3 | ofxMonitorInfo is a simple addon to get monitors information for openFrameworks. 4 | 5 | ![sample image](ofxMonitorInfo.png) 6 | 7 | Mac/Win compatible. 8 | 9 | 10 | By Yasuhiro Hoshino 11 | 12 | yasuhiro.hoshino.0122 at gmail.com 13 | 14 | http://www.yasuhirohoshino.com 15 | -------------------------------------------------------------------------------- /ofxMonitorInfo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yasuhirohoshino/ofxMonitorInfo/9a052de502971be1dfba21aa9271a3c2bd3285f3/ofxMonitorInfo.png -------------------------------------------------------------------------------- /ofxMonitorInfoExample/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 | -------------------------------------------------------------------------------- /ofxMonitorInfoExample/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 | -------------------------------------------------------------------------------- /ofxMonitorInfoExample/addons.make: -------------------------------------------------------------------------------- 1 | ofxMonitorInfo 2 | -------------------------------------------------------------------------------- /ofxMonitorInfoExample/bin/data/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yasuhirohoshino/ofxMonitorInfo/9a052de502971be1dfba21aa9271a3c2bd3285f3/ofxMonitorInfoExample/bin/data/.gitkeep -------------------------------------------------------------------------------- /ofxMonitorInfoExample/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 | -------------------------------------------------------------------------------- /ofxMonitorInfoExample/ofxMonitorInfoExample.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 931B341F1BAD539200A80D4C /* ofxMonitorInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 931B341D1BAD539200A80D4C /* ofxMonitorInfo.cpp */; }; 11 | BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; }; 12 | E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4328148138ABC890047C5CB /* openFrameworksDebug.a */; }; 13 | E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9710E8CC7DD009D7055 /* AGL.framework */; }; 14 | E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */; }; 15 | E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */; }; 16 | E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */; }; 17 | E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */; }; 18 | E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9770E8CC7DD009D7055 /* CoreServices.framework */; }; 19 | E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9790E8CC7DD009D7055 /* OpenGL.framework */; }; 20 | E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */; }; 21 | E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1D0A3A1BDC003C02F2 /* main.cpp */; }; 22 | E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */; }; 23 | E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424410CC5A17004149E2 /* AppKit.framework */; }; 24 | E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424510CC5A17004149E2 /* Cocoa.framework */; }; 25 | E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424610CC5A17004149E2 /* IOKit.framework */; }; 26 | E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; }; 27 | E7E077E515D3B63C0020DFD4 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */; }; 28 | E7E077E815D3B6510020DFD4 /* QTKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7E077E715D3B6510020DFD4 /* QTKit.framework */; }; 29 | E7F985F815E0DEA3003869B5 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7F985F515E0DE99003869B5 /* Accelerate.framework */; }; 30 | /* End PBXBuildFile section */ 31 | 32 | /* Begin PBXContainerItemProxy section */ 33 | E4328147138ABC890047C5CB /* PBXContainerItemProxy */ = { 34 | isa = PBXContainerItemProxy; 35 | containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; 36 | proxyType = 2; 37 | remoteGlobalIDString = E4B27C1510CBEB8E00536013; 38 | remoteInfo = openFrameworks; 39 | }; 40 | E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */ = { 41 | isa = PBXContainerItemProxy; 42 | containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; 43 | proxyType = 1; 44 | remoteGlobalIDString = E4B27C1410CBEB8E00536013; 45 | remoteInfo = openFrameworks; 46 | }; 47 | /* End PBXContainerItemProxy section */ 48 | 49 | /* Begin PBXCopyFilesBuildPhase section */ 50 | E4C2427710CC5ABF004149E2 /* CopyFiles */ = { 51 | isa = PBXCopyFilesBuildPhase; 52 | buildActionMask = 2147483647; 53 | dstPath = ""; 54 | dstSubfolderSpec = 10; 55 | files = ( 56 | BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */, 57 | ); 58 | runOnlyForDeploymentPostprocessing = 0; 59 | }; 60 | /* End PBXCopyFilesBuildPhase section */ 61 | 62 | /* Begin PBXFileReference section */ 63 | 931B341D1BAD539200A80D4C /* ofxMonitorInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ofxMonitorInfo.cpp; sourceTree = ""; }; 64 | 931B341E1BAD539200A80D4C /* ofxMonitorInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxMonitorInfo.h; sourceTree = ""; }; 65 | BBAB23BE13894E4700AA2426 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../libs/glut/lib/osx/GLUT.framework; sourceTree = ""; }; 66 | E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openFrameworksLib.xcodeproj; path = ../../../libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj; sourceTree = SOURCE_ROOT; }; 67 | E45BE9710E8CC7DD009D7055 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = ""; }; 68 | E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = ""; }; 69 | E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; 70 | E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; 71 | E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; }; 72 | E45BE9770E8CC7DD009D7055 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; 73 | E45BE9790E8CC7DD009D7055 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; }; 74 | E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; }; 75 | E4B69B5B0A3A1756003C02F2 /* ofxMonitorInfoExampleDebug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ofxMonitorInfoExampleDebug.app; sourceTree = BUILT_PRODUCTS_DIR; }; 76 | E4B69E1D0A3A1BDC003C02F2 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; }; 77 | E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofApp.cpp; path = src/ofApp.cpp; sourceTree = SOURCE_ROOT; }; 78 | E4B69E1F0A3A1BDC003C02F2 /* ofApp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ofApp.h; path = src/ofApp.h; sourceTree = SOURCE_ROOT; }; 79 | E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = "openFrameworks-Info.plist"; sourceTree = ""; }; 80 | E4C2424410CC5A17004149E2 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; 81 | E4C2424510CC5A17004149E2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; 82 | E4C2424610CC5A17004149E2 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = ""; }; 83 | E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CoreOF.xcconfig; path = ../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig; sourceTree = SOURCE_ROOT; }; 84 | E4EB6923138AFD0F00A09F29 /* Project.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Project.xcconfig; sourceTree = ""; }; 85 | E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = /System/Library/Frameworks/CoreVideo.framework; sourceTree = ""; }; 86 | E7E077E715D3B6510020DFD4 /* QTKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = /System/Library/Frameworks/QTKit.framework; sourceTree = ""; }; 87 | E7F985F515E0DE99003869B5 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = /System/Library/Frameworks/Accelerate.framework; sourceTree = ""; }; 88 | /* End PBXFileReference section */ 89 | 90 | /* Begin PBXFrameworksBuildPhase section */ 91 | E4B69B590A3A1756003C02F2 /* Frameworks */ = { 92 | isa = PBXFrameworksBuildPhase; 93 | buildActionMask = 2147483647; 94 | files = ( 95 | E7F985F815E0DEA3003869B5 /* Accelerate.framework in Frameworks */, 96 | E7E077E815D3B6510020DFD4 /* QTKit.framework in Frameworks */, 97 | E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */, 98 | E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */, 99 | E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */, 100 | E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */, 101 | E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */, 102 | E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */, 103 | E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */, 104 | E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */, 105 | E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */, 106 | E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */, 107 | E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */, 108 | E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */, 109 | E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */, 110 | E7E077E515D3B63C0020DFD4 /* CoreVideo.framework in Frameworks */, 111 | ); 112 | runOnlyForDeploymentPostprocessing = 0; 113 | }; 114 | /* End PBXFrameworksBuildPhase section */ 115 | 116 | /* Begin PBXGroup section */ 117 | 931B341A1BAD539200A80D4C /* ofxMonitorInfo */ = { 118 | isa = PBXGroup; 119 | children = ( 120 | 931B341C1BAD539200A80D4C /* src */, 121 | ); 122 | name = ofxMonitorInfo; 123 | path = ../../../addons/ofxMonitorInfo; 124 | sourceTree = ""; 125 | }; 126 | 931B341C1BAD539200A80D4C /* src */ = { 127 | isa = PBXGroup; 128 | children = ( 129 | 931B341D1BAD539200A80D4C /* ofxMonitorInfo.cpp */, 130 | 931B341E1BAD539200A80D4C /* ofxMonitorInfo.h */, 131 | ); 132 | path = src; 133 | sourceTree = ""; 134 | }; 135 | BB4B014C10F69532006C3DED /* addons */ = { 136 | isa = PBXGroup; 137 | children = ( 138 | 931B341A1BAD539200A80D4C /* ofxMonitorInfo */, 139 | ); 140 | name = addons; 141 | sourceTree = ""; 142 | }; 143 | BBAB23C913894ECA00AA2426 /* system frameworks */ = { 144 | isa = PBXGroup; 145 | children = ( 146 | E7F985F515E0DE99003869B5 /* Accelerate.framework */, 147 | E4C2424410CC5A17004149E2 /* AppKit.framework */, 148 | E4C2424510CC5A17004149E2 /* Cocoa.framework */, 149 | E4C2424610CC5A17004149E2 /* IOKit.framework */, 150 | E45BE9710E8CC7DD009D7055 /* AGL.framework */, 151 | E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */, 152 | E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */, 153 | E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */, 154 | E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */, 155 | E45BE9770E8CC7DD009D7055 /* CoreServices.framework */, 156 | E45BE9790E8CC7DD009D7055 /* OpenGL.framework */, 157 | E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */, 158 | E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */, 159 | E7E077E715D3B6510020DFD4 /* QTKit.framework */, 160 | ); 161 | name = "system frameworks"; 162 | sourceTree = ""; 163 | }; 164 | BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */ = { 165 | isa = PBXGroup; 166 | children = ( 167 | BBAB23BE13894E4700AA2426 /* GLUT.framework */, 168 | ); 169 | name = "3rd party frameworks"; 170 | sourceTree = ""; 171 | }; 172 | E4328144138ABC890047C5CB /* Products */ = { 173 | isa = PBXGroup; 174 | children = ( 175 | E4328148138ABC890047C5CB /* openFrameworksDebug.a */, 176 | ); 177 | name = Products; 178 | sourceTree = ""; 179 | }; 180 | E45BE5980E8CC70C009D7055 /* frameworks */ = { 181 | isa = PBXGroup; 182 | children = ( 183 | BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */, 184 | BBAB23C913894ECA00AA2426 /* system frameworks */, 185 | ); 186 | name = frameworks; 187 | sourceTree = ""; 188 | }; 189 | E4B69B4A0A3A1720003C02F2 = { 190 | isa = PBXGroup; 191 | children = ( 192 | E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */, 193 | E4EB6923138AFD0F00A09F29 /* Project.xcconfig */, 194 | E4B69E1C0A3A1BDC003C02F2 /* src */, 195 | E4EEC9E9138DF44700A80321 /* openFrameworks */, 196 | BB4B014C10F69532006C3DED /* addons */, 197 | E45BE5980E8CC70C009D7055 /* frameworks */, 198 | E4B69B5B0A3A1756003C02F2 /* ofxMonitorInfoExampleDebug.app */, 199 | ); 200 | sourceTree = ""; 201 | }; 202 | E4B69E1C0A3A1BDC003C02F2 /* src */ = { 203 | isa = PBXGroup; 204 | children = ( 205 | E4B69E1D0A3A1BDC003C02F2 /* main.cpp */, 206 | E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */, 207 | E4B69E1F0A3A1BDC003C02F2 /* ofApp.h */, 208 | ); 209 | path = src; 210 | sourceTree = SOURCE_ROOT; 211 | }; 212 | E4EEC9E9138DF44700A80321 /* openFrameworks */ = { 213 | isa = PBXGroup; 214 | children = ( 215 | E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */, 216 | E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */, 217 | ); 218 | name = openFrameworks; 219 | sourceTree = ""; 220 | }; 221 | /* End PBXGroup section */ 222 | 223 | /* Begin PBXNativeTarget section */ 224 | E4B69B5A0A3A1756003C02F2 /* ofxMonitorInfoExample */ = { 225 | isa = PBXNativeTarget; 226 | buildConfigurationList = E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "ofxMonitorInfoExample" */; 227 | buildPhases = ( 228 | E4B69B580A3A1756003C02F2 /* Sources */, 229 | E4B69B590A3A1756003C02F2 /* Frameworks */, 230 | E4B6FFFD0C3F9AB9008CF71C /* ShellScript */, 231 | E4C2427710CC5ABF004149E2 /* CopyFiles */, 232 | ); 233 | buildRules = ( 234 | ); 235 | dependencies = ( 236 | E4EEB9AC138B136A00A80321 /* PBXTargetDependency */, 237 | ); 238 | name = ofxMonitorInfoExample; 239 | productName = myOFApp; 240 | productReference = E4B69B5B0A3A1756003C02F2 /* ofxMonitorInfoExampleDebug.app */; 241 | productType = "com.apple.product-type.application"; 242 | }; 243 | /* End PBXNativeTarget section */ 244 | 245 | /* Begin PBXProject section */ 246 | E4B69B4C0A3A1720003C02F2 /* Project object */ = { 247 | isa = PBXProject; 248 | attributes = { 249 | LastUpgradeCheck = 0460; 250 | }; 251 | buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "ofxMonitorInfoExample" */; 252 | compatibilityVersion = "Xcode 3.2"; 253 | developmentRegion = English; 254 | hasScannedForEncodings = 0; 255 | knownRegions = ( 256 | English, 257 | Japanese, 258 | French, 259 | German, 260 | ); 261 | mainGroup = E4B69B4A0A3A1720003C02F2; 262 | productRefGroup = E4B69B4A0A3A1720003C02F2; 263 | projectDirPath = ""; 264 | projectReferences = ( 265 | { 266 | ProductGroup = E4328144138ABC890047C5CB /* Products */; 267 | ProjectRef = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; 268 | }, 269 | ); 270 | projectRoot = ""; 271 | targets = ( 272 | E4B69B5A0A3A1756003C02F2 /* ofxMonitorInfoExample */, 273 | ); 274 | }; 275 | /* End PBXProject section */ 276 | 277 | /* Begin PBXReferenceProxy section */ 278 | E4328148138ABC890047C5CB /* openFrameworksDebug.a */ = { 279 | isa = PBXReferenceProxy; 280 | fileType = archive.ar; 281 | path = openFrameworksDebug.a; 282 | remoteRef = E4328147138ABC890047C5CB /* PBXContainerItemProxy */; 283 | sourceTree = BUILT_PRODUCTS_DIR; 284 | }; 285 | /* End PBXReferenceProxy section */ 286 | 287 | /* Begin PBXShellScriptBuildPhase section */ 288 | E4B6FFFD0C3F9AB9008CF71C /* ShellScript */ = { 289 | isa = PBXShellScriptBuildPhase; 290 | buildActionMask = 2147483647; 291 | files = ( 292 | ); 293 | inputPaths = ( 294 | ); 295 | outputPaths = ( 296 | ); 297 | runOnlyForDeploymentPostprocessing = 0; 298 | shellPath = /bin/sh; 299 | 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"; 300 | }; 301 | /* End PBXShellScriptBuildPhase section */ 302 | 303 | /* Begin PBXSourcesBuildPhase section */ 304 | E4B69B580A3A1756003C02F2 /* Sources */ = { 305 | isa = PBXSourcesBuildPhase; 306 | buildActionMask = 2147483647; 307 | files = ( 308 | 931B341F1BAD539200A80D4C /* ofxMonitorInfo.cpp in Sources */, 309 | E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */, 310 | E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */, 311 | ); 312 | runOnlyForDeploymentPostprocessing = 0; 313 | }; 314 | /* End PBXSourcesBuildPhase section */ 315 | 316 | /* Begin PBXTargetDependency section */ 317 | E4EEB9AC138B136A00A80321 /* PBXTargetDependency */ = { 318 | isa = PBXTargetDependency; 319 | name = openFrameworks; 320 | targetProxy = E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */; 321 | }; 322 | /* End PBXTargetDependency section */ 323 | 324 | /* Begin XCBuildConfiguration section */ 325 | E4B69B4E0A3A1720003C02F2 /* Debug */ = { 326 | isa = XCBuildConfiguration; 327 | baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; 328 | buildSettings = { 329 | ARCHS = "$(NATIVE_ARCH)"; 330 | CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; 331 | COPY_PHASE_STRIP = NO; 332 | DEAD_CODE_STRIPPING = YES; 333 | GCC_AUTO_VECTORIZATION = YES; 334 | GCC_ENABLE_SSE3_EXTENSIONS = YES; 335 | GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; 336 | GCC_INLINES_ARE_PRIVATE_EXTERN = NO; 337 | GCC_OPTIMIZATION_LEVEL = 0; 338 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 339 | GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES; 340 | GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; 341 | GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; 342 | GCC_WARN_UNINITIALIZED_AUTOS = NO; 343 | GCC_WARN_UNUSED_VALUE = NO; 344 | GCC_WARN_UNUSED_VARIABLE = NO; 345 | HEADER_SEARCH_PATHS = ( 346 | "$(OF_CORE_HEADERS)", 347 | ../../../addons/ofxMonitorInfo/libs, 348 | ../../../addons/ofxMonitorInfo/src, 349 | ); 350 | MACOSX_DEPLOYMENT_TARGET = 10.6; 351 | OTHER_CPLUSPLUSFLAGS = ( 352 | "-D__MACOSX_CORE__", 353 | "-lpthread", 354 | "-mtune=native", 355 | ); 356 | SDKROOT = macosx; 357 | }; 358 | name = Debug; 359 | }; 360 | E4B69B4F0A3A1720003C02F2 /* Release */ = { 361 | isa = XCBuildConfiguration; 362 | baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; 363 | buildSettings = { 364 | ARCHS = "$(NATIVE_ARCH)"; 365 | CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; 366 | COPY_PHASE_STRIP = YES; 367 | DEAD_CODE_STRIPPING = YES; 368 | GCC_AUTO_VECTORIZATION = YES; 369 | GCC_ENABLE_SSE3_EXTENSIONS = YES; 370 | GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; 371 | GCC_INLINES_ARE_PRIVATE_EXTERN = NO; 372 | GCC_OPTIMIZATION_LEVEL = 3; 373 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 374 | GCC_UNROLL_LOOPS = YES; 375 | GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES; 376 | GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; 377 | GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; 378 | GCC_WARN_UNINITIALIZED_AUTOS = NO; 379 | GCC_WARN_UNUSED_VALUE = NO; 380 | GCC_WARN_UNUSED_VARIABLE = NO; 381 | HEADER_SEARCH_PATHS = ( 382 | "$(OF_CORE_HEADERS)", 383 | ../../../addons/ofxMonitorInfo/libs, 384 | ../../../addons/ofxMonitorInfo/src, 385 | ); 386 | MACOSX_DEPLOYMENT_TARGET = 10.6; 387 | OTHER_CPLUSPLUSFLAGS = ( 388 | "-D__MACOSX_CORE__", 389 | "-lpthread", 390 | "-mtune=native", 391 | ); 392 | SDKROOT = macosx; 393 | }; 394 | name = Release; 395 | }; 396 | E4B69B600A3A1757003C02F2 /* Debug */ = { 397 | isa = XCBuildConfiguration; 398 | buildSettings = { 399 | COMBINE_HIDPI_IMAGES = YES; 400 | COPY_PHASE_STRIP = NO; 401 | FRAMEWORK_SEARCH_PATHS = ( 402 | "$(inherited)", 403 | "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", 404 | ); 405 | FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; 406 | GCC_DYNAMIC_NO_PIC = NO; 407 | GCC_GENERATE_DEBUGGING_SYMBOLS = YES; 408 | GCC_MODEL_TUNING = NONE; 409 | ICON = "$(ICON_NAME_DEBUG)"; 410 | ICON_FILE = "$(ICON_FILE_PATH)$(ICON)"; 411 | INFOPLIST_FILE = "openFrameworks-Info.plist"; 412 | INSTALL_PATH = "$(HOME)/Applications"; 413 | LIBRARY_SEARCH_PATHS = ( 414 | "$(inherited)", 415 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", 416 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", 417 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", 418 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", 419 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", 420 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", 421 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", 422 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", 423 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", 424 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", 425 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", 426 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", 427 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", 428 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", 429 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", 430 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", 431 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", 432 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", 433 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", 434 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", 435 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", 436 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", 437 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", 438 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", 439 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)", 440 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)", 441 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)", 442 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)", 443 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)", 444 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)", 445 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)", 446 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)", 447 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)", 448 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)", 449 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)", 450 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)", 451 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)", 452 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)", 453 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)", 454 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)", 455 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)", 456 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)", 457 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)", 458 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)", 459 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)", 460 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)", 461 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)", 462 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)", 463 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)", 464 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)", 465 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)", 466 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)", 467 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)", 468 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)", 469 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)", 470 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)", 471 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)", 472 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)", 473 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)", 474 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)", 475 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_52)", 476 | ); 477 | PRODUCT_NAME = "$(TARGET_NAME)Debug"; 478 | WRAPPER_EXTENSION = app; 479 | }; 480 | name = Debug; 481 | }; 482 | E4B69B610A3A1757003C02F2 /* Release */ = { 483 | isa = XCBuildConfiguration; 484 | buildSettings = { 485 | COMBINE_HIDPI_IMAGES = YES; 486 | COPY_PHASE_STRIP = YES; 487 | FRAMEWORK_SEARCH_PATHS = ( 488 | "$(inherited)", 489 | "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", 490 | ); 491 | FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; 492 | GCC_GENERATE_DEBUGGING_SYMBOLS = YES; 493 | GCC_MODEL_TUNING = NONE; 494 | ICON = "$(ICON_NAME_RELEASE)"; 495 | ICON_FILE = "$(ICON_FILE_PATH)$(ICON)"; 496 | INFOPLIST_FILE = "openFrameworks-Info.plist"; 497 | INSTALL_PATH = "$(HOME)/Applications"; 498 | LIBRARY_SEARCH_PATHS = ( 499 | "$(inherited)", 500 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", 501 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", 502 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", 503 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", 504 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", 505 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", 506 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", 507 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", 508 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", 509 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", 510 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", 511 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", 512 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", 513 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", 514 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", 515 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", 516 | "$(LIBRARY_SEARCH_PATHS_QUOTED_1)", 517 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", 518 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", 519 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", 520 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", 521 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", 522 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", 523 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", 524 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", 525 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)", 526 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)", 527 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)", 528 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)", 529 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)", 530 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)", 531 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)", 532 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)", 533 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)", 534 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)", 535 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)", 536 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)", 537 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)", 538 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)", 539 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)", 540 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)", 541 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)", 542 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)", 543 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)", 544 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)", 545 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)", 546 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)", 547 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)", 548 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)", 549 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)", 550 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)", 551 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)", 552 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)", 553 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)", 554 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)", 555 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)", 556 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)", 557 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)", 558 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)", 559 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)", 560 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)", 561 | ); 562 | PRODUCT_NAME = "$(TARGET_NAME)"; 563 | WRAPPER_EXTENSION = app; 564 | }; 565 | name = Release; 566 | }; 567 | /* End XCBuildConfiguration section */ 568 | 569 | /* Begin XCConfigurationList section */ 570 | E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "ofxMonitorInfoExample" */ = { 571 | isa = XCConfigurationList; 572 | buildConfigurations = ( 573 | E4B69B4E0A3A1720003C02F2 /* Debug */, 574 | E4B69B4F0A3A1720003C02F2 /* Release */, 575 | ); 576 | defaultConfigurationIsVisible = 0; 577 | defaultConfigurationName = Release; 578 | }; 579 | E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "ofxMonitorInfoExample" */ = { 580 | isa = XCConfigurationList; 581 | buildConfigurations = ( 582 | E4B69B600A3A1757003C02F2 /* Debug */, 583 | E4B69B610A3A1757003C02F2 /* Release */, 584 | ); 585 | defaultConfigurationIsVisible = 0; 586 | defaultConfigurationName = Release; 587 | }; 588 | /* End XCConfigurationList section */ 589 | }; 590 | rootObject = E4B69B4C0A3A1720003C02F2 /* Project object */; 591 | } 592 | -------------------------------------------------------------------------------- /ofxMonitorInfoExample/ofxMonitorInfoExample.xcodeproj/project.xcworkspace/xcshareddata/ofxMonitorInfoExample.xccheckout: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDESourceControlProjectFavoriteDictionaryKey 6 | 7 | IDESourceControlProjectIdentifier 8 | 72719D14-4D93-47B8-9D4C-22BA9935EA43 9 | IDESourceControlProjectName 10 | ofxMonitorInfoExample 11 | IDESourceControlProjectOriginsDictionary 12 | 13 | 46D9B8E125152832FE086CECA52C1442F32AEABF 14 | https://github.com/yasuhirohoshino/ofxMonitorInfo.git 15 | 16 | IDESourceControlProjectPath 17 | ofxMonitorInfoExample/ofxMonitorInfoExample.xcodeproj 18 | IDESourceControlProjectRelativeInstallPathDictionary 19 | 20 | 46D9B8E125152832FE086CECA52C1442F32AEABF 21 | ../../.. 22 | 23 | IDESourceControlProjectURL 24 | https://github.com/yasuhirohoshino/ofxMonitorInfo.git 25 | IDESourceControlProjectVersion 26 | 111 27 | IDESourceControlProjectWCCIdentifier 28 | 46D9B8E125152832FE086CECA52C1442F32AEABF 29 | IDESourceControlProjectWCConfigurations 30 | 31 | 32 | IDESourceControlRepositoryExtensionIdentifierKey 33 | public.vcs.git 34 | IDESourceControlWCCIdentifierKey 35 | 46D9B8E125152832FE086CECA52C1442F32AEABF 36 | IDESourceControlWCCName 37 | ofxMonitorInfo 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /ofxMonitorInfoExample/ofxMonitorInfoExample.xcodeproj/project.xcworkspace/xcuserdata/yasuhiro_hoshino.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yasuhirohoshino/ofxMonitorInfo/9a052de502971be1dfba21aa9271a3c2bd3285f3/ofxMonitorInfoExample/ofxMonitorInfoExample.xcodeproj/project.xcworkspace/xcuserdata/yasuhiro_hoshino.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /ofxMonitorInfoExample/ofxMonitorInfoExample.xcodeproj/xcshareddata/xcschemes/ofxMonitorInfoExample 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 | -------------------------------------------------------------------------------- /ofxMonitorInfoExample/ofxMonitorInfoExample.xcodeproj/xcshareddata/xcschemes/ofxMonitorInfoExample 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 | -------------------------------------------------------------------------------- /ofxMonitorInfoExample/ofxMonitorInfoExample.xcodeproj/xcuserdata/yasuhiro_hoshino.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SuppressBuildableAutocreation 6 | 7 | E4B69B5A0A3A1756003C02F2 8 | 9 | primary 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /ofxMonitorInfoExample/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 | -------------------------------------------------------------------------------- /ofxMonitorInfoExample/src/main.cpp: -------------------------------------------------------------------------------- 1 | #include "ofMain.h" 2 | #include "ofApp.h" 3 | 4 | //======================================================================== 5 | int main( ){ 6 | ofSetupOpenGL(1024,768,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 | -------------------------------------------------------------------------------- /ofxMonitorInfoExample/src/ofApp.cpp: -------------------------------------------------------------------------------- 1 | #include "ofApp.h" 2 | 3 | //-------------------------------------------------------------- 4 | void ofApp::setup(){ 5 | ofBackground(17); 6 | monitorInfo.getMonitorsInfo(); 7 | 8 | scale = 0.15; 9 | 10 | int x = 0; 11 | int y = 0; 12 | int width = 0; 13 | int height = 0; 14 | 15 | totalInfo = ""; 16 | info.assign(monitorInfo.getCount(), string()); 17 | for(int i=0; i info; 26 | 27 | ofRectangle rect; 28 | int offsetX, offsetY; 29 | float scale; 30 | }; 31 | -------------------------------------------------------------------------------- /ofxaddons_thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yasuhirohoshino/ofxMonitorInfo/9a052de502971be1dfba21aa9271a3c2bd3285f3/ofxaddons_thumbnail.png -------------------------------------------------------------------------------- /src/ofxMonitorInfo.cpp: -------------------------------------------------------------------------------- 1 | #include "ofxMonitorInfo.h" 2 | 3 | ofxMonitorInfo::ofxMonitorInfo(){} 4 | ofxMonitorInfo::~ofxMonitorInfo(){} 5 | 6 | void ofxMonitorInfo::getMonitorsInfo(){ 7 | monitorsInfo.clear(); 8 | GLFWmonitor *pMonitor = glfwGetPrimaryMonitor(); 9 | int pX, pY; 10 | glfwGetMonitorPos(pMonitor, &pX, &pY); 11 | string pName = glfwGetMonitorName(pMonitor); 12 | GLFWvidmode pVidmode = *glfwGetVideoMode(pMonitor); 13 | monitor pMonitorInfo; 14 | pMonitorInfo.frame = ofRectangle(pX, pY, pVidmode.width, pVidmode.height); 15 | pMonitorInfo.isPrimary = true; 16 | pMonitorInfo.name = pName; 17 | monitorsInfo.push_back(pMonitorInfo); 18 | 19 | int monitorsCount; 20 | GLFWmonitor **monitors = glfwGetMonitors(&monitorsCount); 21 | if(monitorsCount > 1){ 22 | for(int i=1;i 5 | 6 | class ofxMonitorInfo{ 7 | 8 | private: 9 | struct monitor{ 10 | ofRectangle frame; 11 | bool isPrimary; 12 | string name; 13 | }; 14 | 15 | vector monitorsInfo; 16 | 17 | public: 18 | ofxMonitorInfo(); 19 | ~ofxMonitorInfo(); 20 | 21 | void getMonitorsInfo(); 22 | int getCount(); 23 | ofRectangle getFrame(int index); 24 | ofPoint getPosition(int index); 25 | int getX(int index); 26 | int getY(int index); 27 | int getWidth(int index); 28 | int getHeight(int index); 29 | string getName(int index); 30 | bool getIsPrimary(int index); 31 | 32 | }; 33 | --------------------------------------------------------------------------------