├── .gitignore
├── .gitmodules
├── README.md
├── example3DSources
├── Makefile
├── Project.xcconfig
├── addons.make
├── bin
│ └── data
│ │ └── .gitkeep
├── config.make
├── example3DSources.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ ├── xcshareddata
│ │ │ └── example3DSources.xccheckout
│ │ └── xcuserdata
│ │ │ └── claudiocabral.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ ├── xcshareddata
│ │ └── xcschemes
│ │ │ ├── example3DSources Debug.xcscheme
│ │ │ └── example3DSources Release.xcscheme
│ └── xcuserdata
│ │ └── claudiocabral.xcuserdatad
│ │ ├── xcdebugger
│ │ └── Breakpoints_v2.xcbkptlist
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── openFrameworks-Info.plist
└── src
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── exampleBinaural
├── Makefile
├── Project.xcconfig
├── addons.make
├── bin
│ └── data
│ │ └── .gitkeep
├── config.make
├── exampleBinaural.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── xcshareddata
│ │ │ └── exampleBinaural.xccheckout
│ │ └── xcuserdata
│ │ │ └── claudiocabral.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ ├── xcshareddata
│ │ └── xcschemes
│ │ │ ├── exampleBinaural Debug.xcscheme
│ │ │ └── exampleBinaural Release.xcscheme
│ └── xcuserdata
│ │ └── claudiocabral.xcuserdatad
│ │ ├── xcdebugger
│ │ └── Breakpoints_v2.xcbkptlist
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── openFrameworks-Info.plist
└── src
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── exampleMultipleSources
├── Makefile
├── Project.xcconfig
├── addons.make
├── bin
│ └── data
│ │ └── .gitkeep
├── config.make
├── exampleMultipleSources.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ ├── xcshareddata
│ │ │ └── exampleMultipleSources.xccheckout
│ │ └── xcuserdata
│ │ │ └── claudiocabral.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ ├── xcshareddata
│ │ └── xcschemes
│ │ │ ├── exampleMultipleSources Debug.xcscheme
│ │ │ └── exampleMultipleSources Release.xcscheme
│ └── xcuserdata
│ │ └── claudiocabral.xcuserdatad
│ │ ├── xcdebugger
│ │ └── Breakpoints_v2.xcbkptlist
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── openFrameworks-Info.plist
└── src
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── exampleOneSource
├── Makefile
├── Project.xcconfig
├── addons.make
├── bin
│ └── data
│ │ └── .gitkeep
├── config.make
├── exampleOneSource.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ ├── xcshareddata
│ │ │ └── exampleOneSource.xccheckout
│ │ └── xcuserdata
│ │ │ └── claudiocabral.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ ├── xcshareddata
│ │ └── xcschemes
│ │ │ ├── exampleOneSource Debug.xcscheme
│ │ │ └── exampleOneSource Release.xcscheme
│ └── xcuserdata
│ │ └── claudiocabral.xcuserdatad
│ │ ├── xcdebugger
│ │ └── Breakpoints_v2.xcbkptlist
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── openFrameworks-Info.plist
└── src
│ ├── main.cpp
│ ├── ofApp.cpp
│ └── ofApp.h
├── libs
└── ofxHoaClasses
│ ├── ofxHoaCoord.h
│ └── ofxHoaOscillator.h
├── license.md
├── ofxaddons_thumbnail.png
└── src
└── ofxHoa.h
/.gitignore:
--------------------------------------------------------------------------------
1 | examples3DSources/bin/*
2 | !examples3DSources/bin/data/
3 |
4 | examplesMultipleSources/bin/*
5 | !examplesMultipleSources/bin/data/
6 |
7 | exampleOneSource/bin/*
8 | !examplesOneSource/bin/data/
9 |
10 | *.app
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "libs/HoaLibrary-light"]
2 | path = libs/HoaLibrary-light
3 | url = https://github.com/CICM/HoaLibrary-light
4 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ofxHoa
2 | ================
3 |
4 | ofxHoa is a wrapper of the [Hoa Library](https://github.com/CICM/HoaLibrary-Light "Hoa Library") (High Order Ambisonics), a set of C++ classes for sound spatialization in 2D and 3D based on Ambisonics. The current versions of the HoaLibrary support MacOs X, Windows and Linux. For openFrameworks we only support MacOs X. Windows and Linux are still a work in progress.
5 |
6 | ## IMPORTANT INSTALLATION NOTES
7 |
8 | The ofxHoa uses a git submodule. If you choose to download it directly through the site,
9 | the submodule may not be included.
10 | Please check that you have the folder
11 |
12 | ofxHoa/libs/HoaLibrary-Light
13 |
14 | and all of it’s contents. If not, download the HoaLibrary-Light in the following link:
15 |
16 | https://github.com/CICM/HoaLibrary-Light
17 |
18 | and put the /Sources folder inside ofxHoa/libs/HoaLibrary-Light
19 |
20 | ## Using the Library in openFrameworks
21 |
22 | When using this library with oF, a few things must be taken into account.
23 | Your speakers must be set in a circular or semi-spherical formation. For further information, check the the official site linked bellow.
24 | When design your software, Hoa objects expect a traditional cartesian coordinate system centered around (0,0). If you do not take this into account, you’ll end up with a reversed Y axis and a source spacialized in relation to the top left corner of your screen.
25 | It also considers that a source is inside the circle of speakers if it’s polar coordinate has a radius <= 1. Beyond that, there’s reduction of gain to emulate it’s distance.
26 | If you use the math functions with the corrected cartesian coordinates, you’ll end up with a very low volume, as you’ll probably have radius values around 300 or more.
27 | To avoid that, you must multiply the radius by the inverse of a radius in pixels that’ll correspond to your unity circle in screen. This may sound complicated, but everything is explained in detail and demonstrated in exampleOneSource.
28 | Another thing to consider is that speakers are generally set at the same height in 2D sound, so the Y axis is not equal to the height of the source, but rather to it’s depth.
29 | So, in 3 dimensions the Z axis corresponds to it’s height. As a result, when dealing with 3D sound you must give the value of Z when the method asks for an ordinate and the value of Y when it asks for the height. This may seem confusing but it corresponds to common practices of sound.
30 |
31 | The oscillator provided with this library was built for demonstration purposes only. It’s there to prevent the need for other addons in order to compile the examples.
32 | Since the class ofxHoaOsc is quite CPU-intensive for a simple oscillator, We recommend to use this library with other addons such as ofxMaxim and ofxStk.
33 |
34 | We hope this library you’ll bring you joy and help you in your work!
35 |
36 | ## Hoa Library
37 |
38 | #### A high order ambisonics library.
39 |
40 | Sound space is one of the principal dimensions of the contemporary musical thought, specially in the electroacoustic music domain but also in intermedia arts. In this context, the CICM has made spatialization its principal research axis. This project’s aim is to give to musician spatialization models based on high order ambisonics and sound fields synthesis. This project is developed in a part of the Paris 8 University LABEX arts H2H. You can visit the official website : HoaLibrary.
41 |
42 | 
43 |
44 | #### Authors :
45 |
46 | Julien Colafrancesco, Pierre Guillot, Eliott Paris
47 |
48 | #### Documentation :
49 |
50 | documentation
51 |
52 | #### Dependencies :
53 |
54 | Cblas, you can use Gsl, Apple Accelerate or Intel Composer XE.
55 |
56 | ##### License :
57 |
58 | The Hoa Library in under the GNU Public License. If you'd like to avoid the restrictions of the GPL and use Hoa Library for a closed-source product, you contact the CICM.
59 |
60 |
61 |
--------------------------------------------------------------------------------
/example3DSources/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 |
--------------------------------------------------------------------------------
/example3DSources/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 |
--------------------------------------------------------------------------------
/example3DSources/addons.make:
--------------------------------------------------------------------------------
1 | ofxHoa
2 |
--------------------------------------------------------------------------------
/example3DSources/bin/data/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CICM/ofxHoa/930fbbd20e5db3622951549edd4d743a118528a5/example3DSources/bin/data/.gitkeep
--------------------------------------------------------------------------------
/example3DSources/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 |
--------------------------------------------------------------------------------
/example3DSources/example3DSources.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; };
11 | E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4328148138ABC890047C5CB /* openFrameworksDebug.a */; };
12 | E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9710E8CC7DD009D7055 /* AGL.framework */; };
13 | E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */; };
14 | E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */; };
15 | E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */; };
16 | E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */; };
17 | E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9770E8CC7DD009D7055 /* CoreServices.framework */; };
18 | E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9790E8CC7DD009D7055 /* OpenGL.framework */; };
19 | E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */; };
20 | E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1D0A3A1BDC003C02F2 /* main.cpp */; };
21 | E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */; };
22 | E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424410CC5A17004149E2 /* AppKit.framework */; };
23 | E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424510CC5A17004149E2 /* Cocoa.framework */; };
24 | E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424610CC5A17004149E2 /* IOKit.framework */; };
25 | E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; };
26 | E7E077E515D3B63C0020DFD4 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */; };
27 | E7E077E815D3B6510020DFD4 /* QTKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7E077E715D3B6510020DFD4 /* QTKit.framework */; };
28 | E7F985F815E0DEA3003869B5 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7F985F515E0DE99003869B5 /* Accelerate.framework */; };
29 | /* End PBXBuildFile section */
30 |
31 | /* Begin PBXContainerItemProxy section */
32 | E4328147138ABC890047C5CB /* PBXContainerItemProxy */ = {
33 | isa = PBXContainerItemProxy;
34 | containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */;
35 | proxyType = 2;
36 | remoteGlobalIDString = E4B27C1510CBEB8E00536013;
37 | remoteInfo = openFrameworks;
38 | };
39 | E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */ = {
40 | isa = PBXContainerItemProxy;
41 | containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */;
42 | proxyType = 1;
43 | remoteGlobalIDString = E4B27C1410CBEB8E00536013;
44 | remoteInfo = openFrameworks;
45 | };
46 | /* End PBXContainerItemProxy section */
47 |
48 | /* Begin PBXCopyFilesBuildPhase section */
49 | E4C2427710CC5ABF004149E2 /* CopyFiles */ = {
50 | isa = PBXCopyFilesBuildPhase;
51 | buildActionMask = 2147483647;
52 | dstPath = "";
53 | dstSubfolderSpec = 10;
54 | files = (
55 | BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */,
56 | );
57 | runOnlyForDeploymentPostprocessing = 0;
58 | };
59 | /* End PBXCopyFilesBuildPhase section */
60 |
61 | /* Begin PBXFileReference section */
62 | 0190812EA96FA79079A4F708 /* Tools.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Tools.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Tools.hpp"; sourceTree = SOURCE_ROOT; };
63 | 0A45FE374225665EBBB699E3 /* Planewaves.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Planewaves.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Planewaves.hpp"; sourceTree = SOURCE_ROOT; };
64 | 0E138C8D1AD5447F00C04EA1 /* ofxHoaCoord.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxHoaCoord.h; sourceTree = ""; };
65 | 0E2502E71AC30E49009CFCC7 /* ofxHoaOscillator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxHoaOscillator.h; sourceTree = ""; };
66 | 3299B5F0527C1EE60A9B4C50 /* Math.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Math.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Math.hpp"; sourceTree = SOURCE_ROOT; };
67 | 3E10A66180CDBA7C978E1764 /* Harmonics.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Harmonics.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Harmonics.hpp"; sourceTree = SOURCE_ROOT; };
68 | 4B2C781104A15351EB6993D3 /* Defs.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Defs.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Defs.hpp"; sourceTree = SOURCE_ROOT; };
69 | 545BDBFC9096189763C6B4C6 /* Decoder.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Decoder.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Decoder.hpp"; sourceTree = SOURCE_ROOT; };
70 | 563E00609BC319E856F2662A /* Hrtf.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Hrtf.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Hrtf.hpp"; sourceTree = SOURCE_ROOT; };
71 | 59C4E10826F056938BFB0863 /* Voronoi.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Voronoi.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Voronoi.hpp"; sourceTree = SOURCE_ROOT; };
72 | 6218AD7D60658E29858270CC /* Hoa.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Hoa.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Hoa.hpp"; sourceTree = SOURCE_ROOT; };
73 | 68911386ED64AB7157CB0170 /* Meter.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Meter.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Meter.hpp"; sourceTree = SOURCE_ROOT; };
74 | 8E01F0E0DD6DDC8F64E44B95 /* Optim.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Optim.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Optim.hpp"; sourceTree = SOURCE_ROOT; };
75 | 986635D9DE756DBCE99B3E84 /* Projector.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Projector.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Projector.hpp"; sourceTree = SOURCE_ROOT; };
76 | 991FF2A6D62B1D5D32BB2A00 /* Vector.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Vector.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Vector.hpp"; sourceTree = SOURCE_ROOT; };
77 | 9BA40B344E0B90C2DF810852 /* Wider.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Wider.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Wider.hpp"; sourceTree = SOURCE_ROOT; };
78 | 9EAE7A59BEF09EBFF1F8C8FA /* Scope.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Scope.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Scope.hpp"; sourceTree = SOURCE_ROOT; };
79 | A02F5BEC7DEA69D4FE8EEECA /* Encoder.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Encoder.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Encoder.hpp"; sourceTree = SOURCE_ROOT; };
80 | B69054F80248A5BE18B83BD7 /* Recomposer.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Recomposer.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Recomposer.hpp"; sourceTree = SOURCE_ROOT; };
81 | BBAB23BE13894E4700AA2426 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../libs/glut/lib/osx/GLUT.framework; sourceTree = ""; };
82 | DAE3733BC0D94D61D1965743 /* Signal.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Signal.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Signal.hpp"; sourceTree = SOURCE_ROOT; };
83 | DB322A043499860A25CDCA44 /* ofxHoa.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxHoa.h; path = ../../../addons/ofxHoa/src/ofxHoa.h; sourceTree = SOURCE_ROOT; };
84 | E1C8CE47C1D3CBF3DA4026C5 /* Rotate.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Rotate.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Rotate.hpp"; sourceTree = SOURCE_ROOT; };
85 | E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openFrameworksLib.xcodeproj; path = ../../../libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj; sourceTree = SOURCE_ROOT; };
86 | E45BE9710E8CC7DD009D7055 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = ""; };
87 | E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = ""; };
88 | E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; };
89 | E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; };
90 | E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; };
91 | E45BE9770E8CC7DD009D7055 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; };
92 | E45BE9790E8CC7DD009D7055 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; };
93 | E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; };
94 | E4B69B5B0A3A1756003C02F2 /* example3DSourcesDebug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = example3DSourcesDebug.app; sourceTree = BUILT_PRODUCTS_DIR; };
95 | E4B69E1D0A3A1BDC003C02F2 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; };
96 | E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofApp.cpp; path = src/ofApp.cpp; sourceTree = SOURCE_ROOT; };
97 | E4B69E1F0A3A1BDC003C02F2 /* ofApp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ofApp.h; path = src/ofApp.h; sourceTree = SOURCE_ROOT; };
98 | E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = "openFrameworks-Info.plist"; sourceTree = ""; };
99 | E4C2424410CC5A17004149E2 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; };
100 | E4C2424510CC5A17004149E2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; };
101 | E4C2424610CC5A17004149E2 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = ""; };
102 | E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CoreOF.xcconfig; path = ../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig; sourceTree = SOURCE_ROOT; };
103 | E4EB6923138AFD0F00A09F29 /* Project.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Project.xcconfig; sourceTree = ""; };
104 | E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = /System/Library/Frameworks/CoreVideo.framework; sourceTree = ""; };
105 | E7E077E715D3B6510020DFD4 /* QTKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = /System/Library/Frameworks/QTKit.framework; sourceTree = ""; };
106 | E7F985F515E0DE99003869B5 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = /System/Library/Frameworks/Accelerate.framework; sourceTree = ""; };
107 | F2D72A3D4988BFB868B1F36C /* Source.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Source.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Source.hpp"; sourceTree = SOURCE_ROOT; };
108 | /* End PBXFileReference section */
109 |
110 | /* Begin PBXFrameworksBuildPhase section */
111 | E4B69B590A3A1756003C02F2 /* Frameworks */ = {
112 | isa = PBXFrameworksBuildPhase;
113 | buildActionMask = 2147483647;
114 | files = (
115 | E7F985F815E0DEA3003869B5 /* Accelerate.framework in Frameworks */,
116 | E7E077E815D3B6510020DFD4 /* QTKit.framework in Frameworks */,
117 | E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */,
118 | E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */,
119 | E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */,
120 | E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */,
121 | E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */,
122 | E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */,
123 | E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */,
124 | E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */,
125 | E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */,
126 | E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */,
127 | E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */,
128 | E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */,
129 | E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */,
130 | E7E077E515D3B63C0020DFD4 /* CoreVideo.framework in Frameworks */,
131 | );
132 | runOnlyForDeploymentPostprocessing = 0;
133 | };
134 | /* End PBXFrameworksBuildPhase section */
135 |
136 | /* Begin PBXGroup section */
137 | 0E2502E61AC30E49009CFCC7 /* ofxHoaClasses */ = {
138 | isa = PBXGroup;
139 | children = (
140 | 0E138C8D1AD5447F00C04EA1 /* ofxHoaCoord.h */,
141 | 0E2502E71AC30E49009CFCC7 /* ofxHoaOscillator.h */,
142 | );
143 | name = ofxHoaClasses;
144 | path = ../libs/ofxHoaClasses;
145 | sourceTree = "";
146 | };
147 | 3A0BDB552FAB59EE9DCD8F0F /* Sources */ = {
148 | isa = PBXGroup;
149 | children = (
150 | 545BDBFC9096189763C6B4C6 /* Decoder.hpp */,
151 | 4B2C781104A15351EB6993D3 /* Defs.hpp */,
152 | A02F5BEC7DEA69D4FE8EEECA /* Encoder.hpp */,
153 | 3E10A66180CDBA7C978E1764 /* Harmonics.hpp */,
154 | 6218AD7D60658E29858270CC /* Hoa.hpp */,
155 | 563E00609BC319E856F2662A /* Hrtf.hpp */,
156 | 3299B5F0527C1EE60A9B4C50 /* Math.hpp */,
157 | 68911386ED64AB7157CB0170 /* Meter.hpp */,
158 | 8E01F0E0DD6DDC8F64E44B95 /* Optim.hpp */,
159 | 0A45FE374225665EBBB699E3 /* Planewaves.hpp */,
160 | 986635D9DE756DBCE99B3E84 /* Projector.hpp */,
161 | B69054F80248A5BE18B83BD7 /* Recomposer.hpp */,
162 | E1C8CE47C1D3CBF3DA4026C5 /* Rotate.hpp */,
163 | 9EAE7A59BEF09EBFF1F8C8FA /* Scope.hpp */,
164 | DAE3733BC0D94D61D1965743 /* Signal.hpp */,
165 | F2D72A3D4988BFB868B1F36C /* Source.hpp */,
166 | 0190812EA96FA79079A4F708 /* Tools.hpp */,
167 | 991FF2A6D62B1D5D32BB2A00 /* Vector.hpp */,
168 | 59C4E10826F056938BFB0863 /* Voronoi.hpp */,
169 | 9BA40B344E0B90C2DF810852 /* Wider.hpp */,
170 | );
171 | name = Sources;
172 | sourceTree = "";
173 | };
174 | 4E7DE452E86C5BB2BA0427B9 /* HoaLibrary-Light */ = {
175 | isa = PBXGroup;
176 | children = (
177 | 3A0BDB552FAB59EE9DCD8F0F /* Sources */,
178 | );
179 | name = "HoaLibrary-Light";
180 | sourceTree = "";
181 | };
182 | BB4B014C10F69532006C3DED /* addons */ = {
183 | isa = PBXGroup;
184 | children = (
185 | D1E2A30752E5944A6D5E1363 /* ofxHoa */,
186 | );
187 | name = addons;
188 | sourceTree = "";
189 | };
190 | BBAB23C913894ECA00AA2426 /* system frameworks */ = {
191 | isa = PBXGroup;
192 | children = (
193 | E7F985F515E0DE99003869B5 /* Accelerate.framework */,
194 | E4C2424410CC5A17004149E2 /* AppKit.framework */,
195 | E4C2424510CC5A17004149E2 /* Cocoa.framework */,
196 | E4C2424610CC5A17004149E2 /* IOKit.framework */,
197 | E45BE9710E8CC7DD009D7055 /* AGL.framework */,
198 | E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */,
199 | E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */,
200 | E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */,
201 | E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */,
202 | E45BE9770E8CC7DD009D7055 /* CoreServices.framework */,
203 | E45BE9790E8CC7DD009D7055 /* OpenGL.framework */,
204 | E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */,
205 | E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */,
206 | E7E077E715D3B6510020DFD4 /* QTKit.framework */,
207 | );
208 | name = "system frameworks";
209 | sourceTree = "";
210 | };
211 | BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */ = {
212 | isa = PBXGroup;
213 | children = (
214 | BBAB23BE13894E4700AA2426 /* GLUT.framework */,
215 | );
216 | name = "3rd party frameworks";
217 | sourceTree = "";
218 | };
219 | C05C1669BA18F088D4BE708A /* src */ = {
220 | isa = PBXGroup;
221 | children = (
222 | DB322A043499860A25CDCA44 /* ofxHoa.h */,
223 | );
224 | name = src;
225 | sourceTree = "";
226 | };
227 | D1E2A30752E5944A6D5E1363 /* ofxHoa */ = {
228 | isa = PBXGroup;
229 | children = (
230 | C05C1669BA18F088D4BE708A /* src */,
231 | EA9BA723784D775C9A86500D /* libs */,
232 | );
233 | name = ofxHoa;
234 | sourceTree = "";
235 | };
236 | E4328144138ABC890047C5CB /* Products */ = {
237 | isa = PBXGroup;
238 | children = (
239 | E4328148138ABC890047C5CB /* openFrameworksDebug.a */,
240 | );
241 | name = Products;
242 | sourceTree = "";
243 | };
244 | E45BE5980E8CC70C009D7055 /* frameworks */ = {
245 | isa = PBXGroup;
246 | children = (
247 | BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */,
248 | BBAB23C913894ECA00AA2426 /* system frameworks */,
249 | );
250 | name = frameworks;
251 | sourceTree = "";
252 | };
253 | E4B69B4A0A3A1720003C02F2 = {
254 | isa = PBXGroup;
255 | children = (
256 | E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */,
257 | E4EB6923138AFD0F00A09F29 /* Project.xcconfig */,
258 | E4B69E1C0A3A1BDC003C02F2 /* src */,
259 | E4EEC9E9138DF44700A80321 /* openFrameworks */,
260 | BB4B014C10F69532006C3DED /* addons */,
261 | E45BE5980E8CC70C009D7055 /* frameworks */,
262 | E4B69B5B0A3A1756003C02F2 /* example3DSourcesDebug.app */,
263 | );
264 | sourceTree = "";
265 | };
266 | E4B69E1C0A3A1BDC003C02F2 /* src */ = {
267 | isa = PBXGroup;
268 | children = (
269 | E4B69E1D0A3A1BDC003C02F2 /* main.cpp */,
270 | E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */,
271 | E4B69E1F0A3A1BDC003C02F2 /* ofApp.h */,
272 | );
273 | path = src;
274 | sourceTree = SOURCE_ROOT;
275 | };
276 | E4EEC9E9138DF44700A80321 /* openFrameworks */ = {
277 | isa = PBXGroup;
278 | children = (
279 | E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */,
280 | E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */,
281 | );
282 | name = openFrameworks;
283 | sourceTree = "";
284 | };
285 | EA9BA723784D775C9A86500D /* libs */ = {
286 | isa = PBXGroup;
287 | children = (
288 | 0E2502E61AC30E49009CFCC7 /* ofxHoaClasses */,
289 | 4E7DE452E86C5BB2BA0427B9 /* HoaLibrary-Light */,
290 | );
291 | name = libs;
292 | sourceTree = "";
293 | };
294 | /* End PBXGroup section */
295 |
296 | /* Begin PBXNativeTarget section */
297 | E4B69B5A0A3A1756003C02F2 /* example3DSources */ = {
298 | isa = PBXNativeTarget;
299 | buildConfigurationList = E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "example3DSources" */;
300 | buildPhases = (
301 | E4B69B580A3A1756003C02F2 /* Sources */,
302 | E4B69B590A3A1756003C02F2 /* Frameworks */,
303 | E4B6FFFD0C3F9AB9008CF71C /* ShellScript */,
304 | E4C2427710CC5ABF004149E2 /* CopyFiles */,
305 | );
306 | buildRules = (
307 | );
308 | dependencies = (
309 | E4EEB9AC138B136A00A80321 /* PBXTargetDependency */,
310 | );
311 | name = example3DSources;
312 | productName = myOFApp;
313 | productReference = E4B69B5B0A3A1756003C02F2 /* example3DSourcesDebug.app */;
314 | productType = "com.apple.product-type.application";
315 | };
316 | /* End PBXNativeTarget section */
317 |
318 | /* Begin PBXProject section */
319 | E4B69B4C0A3A1720003C02F2 /* Project object */ = {
320 | isa = PBXProject;
321 | attributes = {
322 | LastUpgradeCheck = 0460;
323 | };
324 | buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "example3DSources" */;
325 | compatibilityVersion = "Xcode 3.2";
326 | developmentRegion = English;
327 | hasScannedForEncodings = 0;
328 | knownRegions = (
329 | English,
330 | Japanese,
331 | French,
332 | German,
333 | );
334 | mainGroup = E4B69B4A0A3A1720003C02F2;
335 | productRefGroup = E4B69B4A0A3A1720003C02F2;
336 | projectDirPath = "";
337 | projectReferences = (
338 | {
339 | ProductGroup = E4328144138ABC890047C5CB /* Products */;
340 | ProjectRef = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */;
341 | },
342 | );
343 | projectRoot = "";
344 | targets = (
345 | E4B69B5A0A3A1756003C02F2 /* example3DSources */,
346 | );
347 | };
348 | /* End PBXProject section */
349 |
350 | /* Begin PBXReferenceProxy section */
351 | E4328148138ABC890047C5CB /* openFrameworksDebug.a */ = {
352 | isa = PBXReferenceProxy;
353 | fileType = archive.ar;
354 | path = openFrameworksDebug.a;
355 | remoteRef = E4328147138ABC890047C5CB /* PBXContainerItemProxy */;
356 | sourceTree = BUILT_PRODUCTS_DIR;
357 | };
358 | /* End PBXReferenceProxy section */
359 |
360 | /* Begin PBXShellScriptBuildPhase section */
361 | E4B6FFFD0C3F9AB9008CF71C /* ShellScript */ = {
362 | isa = PBXShellScriptBuildPhase;
363 | buildActionMask = 2147483647;
364 | files = (
365 | );
366 | inputPaths = (
367 | );
368 | outputPaths = (
369 | );
370 | runOnlyForDeploymentPostprocessing = 0;
371 | shellPath = /bin/sh;
372 | 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";
373 | };
374 | /* End PBXShellScriptBuildPhase section */
375 |
376 | /* Begin PBXSourcesBuildPhase section */
377 | E4B69B580A3A1756003C02F2 /* Sources */ = {
378 | isa = PBXSourcesBuildPhase;
379 | buildActionMask = 2147483647;
380 | files = (
381 | E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */,
382 | E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */,
383 | );
384 | runOnlyForDeploymentPostprocessing = 0;
385 | };
386 | /* End PBXSourcesBuildPhase section */
387 |
388 | /* Begin PBXTargetDependency section */
389 | E4EEB9AC138B136A00A80321 /* PBXTargetDependency */ = {
390 | isa = PBXTargetDependency;
391 | name = openFrameworks;
392 | targetProxy = E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */;
393 | };
394 | /* End PBXTargetDependency section */
395 |
396 | /* Begin XCBuildConfiguration section */
397 | E4B69B4E0A3A1720003C02F2 /* Debug */ = {
398 | isa = XCBuildConfiguration;
399 | baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */;
400 | buildSettings = {
401 | ARCHS = "$(NATIVE_ARCH)";
402 | CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/";
403 | COPY_PHASE_STRIP = NO;
404 | DEAD_CODE_STRIPPING = YES;
405 | GCC_AUTO_VECTORIZATION = YES;
406 | GCC_ENABLE_SSE3_EXTENSIONS = YES;
407 | GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES;
408 | GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
409 | GCC_OPTIMIZATION_LEVEL = 0;
410 | GCC_SYMBOLS_PRIVATE_EXTERN = NO;
411 | GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
412 | GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO;
413 | GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO;
414 | GCC_WARN_UNINITIALIZED_AUTOS = NO;
415 | GCC_WARN_UNUSED_VALUE = NO;
416 | GCC_WARN_UNUSED_VARIABLE = NO;
417 | HEADER_SEARCH_PATHS = (
418 | "$(OF_CORE_HEADERS)",
419 | ../../../addons/ofxHoa/libs,
420 | "../../../addons/ofxHoa/libs/HoaLibrary-Light",
421 | "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources",
422 | ../../../addons/ofxHoa/libs/ofxHoaOsc,
423 | ../../../addons/ofxHoa/src,
424 | ../../../addons/ofxHoa/src/ofxHoaOsc,
425 | );
426 | MACOSX_DEPLOYMENT_TARGET = 10.6;
427 | OTHER_CPLUSPLUSFLAGS = (
428 | "-D__MACOSX_CORE__",
429 | "-lpthread",
430 | "-mtune=native",
431 | );
432 | SDKROOT = macosx;
433 | };
434 | name = Debug;
435 | };
436 | E4B69B4F0A3A1720003C02F2 /* Release */ = {
437 | isa = XCBuildConfiguration;
438 | baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */;
439 | buildSettings = {
440 | ARCHS = "$(NATIVE_ARCH)";
441 | CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/";
442 | COPY_PHASE_STRIP = YES;
443 | DEAD_CODE_STRIPPING = YES;
444 | GCC_AUTO_VECTORIZATION = YES;
445 | GCC_ENABLE_SSE3_EXTENSIONS = YES;
446 | GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES;
447 | GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
448 | GCC_OPTIMIZATION_LEVEL = 3;
449 | GCC_SYMBOLS_PRIVATE_EXTERN = NO;
450 | GCC_UNROLL_LOOPS = YES;
451 | GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
452 | GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO;
453 | GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO;
454 | GCC_WARN_UNINITIALIZED_AUTOS = NO;
455 | GCC_WARN_UNUSED_VALUE = NO;
456 | GCC_WARN_UNUSED_VARIABLE = NO;
457 | HEADER_SEARCH_PATHS = (
458 | "$(OF_CORE_HEADERS)",
459 | ../../../addons/ofxHoa/libs,
460 | "../../../addons/ofxHoa/libs/HoaLibrary-Light",
461 | "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources",
462 | ../../../addons/ofxHoa/libs/ofxHoaOsc,
463 | ../../../addons/ofxHoa/src,
464 | ../../../addons/ofxHoa/src/ofxHoaOsc,
465 | );
466 | MACOSX_DEPLOYMENT_TARGET = 10.6;
467 | OTHER_CPLUSPLUSFLAGS = (
468 | "-D__MACOSX_CORE__",
469 | "-lpthread",
470 | "-mtune=native",
471 | );
472 | SDKROOT = macosx;
473 | };
474 | name = Release;
475 | };
476 | E4B69B600A3A1757003C02F2 /* Debug */ = {
477 | isa = XCBuildConfiguration;
478 | buildSettings = {
479 | COMBINE_HIDPI_IMAGES = YES;
480 | COPY_PHASE_STRIP = NO;
481 | FRAMEWORK_SEARCH_PATHS = (
482 | "$(inherited)",
483 | "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
484 | );
485 | FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\"";
486 | GCC_DYNAMIC_NO_PIC = NO;
487 | GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
488 | GCC_MODEL_TUNING = NONE;
489 | ICON = "$(ICON_NAME_DEBUG)";
490 | ICON_FILE = "$(ICON_FILE_PATH)$(ICON)";
491 | INFOPLIST_FILE = "openFrameworks-Info.plist";
492 | INSTALL_PATH = "$(HOME)/Applications";
493 | LIBRARY_SEARCH_PATHS = (
494 | "$(inherited)",
495 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
496 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
497 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)",
498 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)",
499 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)",
500 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)",
501 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)",
502 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)",
503 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)",
504 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)",
505 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)",
506 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)",
507 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)",
508 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)",
509 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)",
510 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
511 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)",
512 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)",
513 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)",
514 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)",
515 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)",
516 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)",
517 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)",
518 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)",
519 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)",
520 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)",
521 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)",
522 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)",
523 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)",
524 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)",
525 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)",
526 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)",
527 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)",
528 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)",
529 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)",
530 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)",
531 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)",
532 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)",
533 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)",
534 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)",
535 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)",
536 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)",
537 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)",
538 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)",
539 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)",
540 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)",
541 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)",
542 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)",
543 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)",
544 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)",
545 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)",
546 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)",
547 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)",
548 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)",
549 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)",
550 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)",
551 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)",
552 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)",
553 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)",
554 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)",
555 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_52)",
556 | );
557 | PRODUCT_NAME = "$(TARGET_NAME)Debug";
558 | WRAPPER_EXTENSION = app;
559 | };
560 | name = Debug;
561 | };
562 | E4B69B610A3A1757003C02F2 /* Release */ = {
563 | isa = XCBuildConfiguration;
564 | buildSettings = {
565 | COMBINE_HIDPI_IMAGES = YES;
566 | COPY_PHASE_STRIP = YES;
567 | FRAMEWORK_SEARCH_PATHS = (
568 | "$(inherited)",
569 | "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
570 | );
571 | FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\"";
572 | GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
573 | GCC_MODEL_TUNING = NONE;
574 | ICON = "$(ICON_NAME_RELEASE)";
575 | ICON_FILE = "$(ICON_FILE_PATH)$(ICON)";
576 | INFOPLIST_FILE = "openFrameworks-Info.plist";
577 | INSTALL_PATH = "$(HOME)/Applications";
578 | LIBRARY_SEARCH_PATHS = (
579 | "$(inherited)",
580 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
581 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
582 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)",
583 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)",
584 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)",
585 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)",
586 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)",
587 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)",
588 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)",
589 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)",
590 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)",
591 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)",
592 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)",
593 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)",
594 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)",
595 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
596 | "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
597 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)",
598 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)",
599 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)",
600 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)",
601 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)",
602 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)",
603 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)",
604 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)",
605 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)",
606 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)",
607 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)",
608 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)",
609 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)",
610 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)",
611 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)",
612 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)",
613 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)",
614 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)",
615 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)",
616 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)",
617 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)",
618 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)",
619 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)",
620 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)",
621 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)",
622 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)",
623 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)",
624 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)",
625 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)",
626 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)",
627 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)",
628 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)",
629 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)",
630 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)",
631 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)",
632 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)",
633 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)",
634 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)",
635 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)",
636 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)",
637 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)",
638 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)",
639 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)",
640 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)",
641 | );
642 | PRODUCT_NAME = "$(TARGET_NAME)";
643 | WRAPPER_EXTENSION = app;
644 | };
645 | name = Release;
646 | };
647 | /* End XCBuildConfiguration section */
648 |
649 | /* Begin XCConfigurationList section */
650 | E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "example3DSources" */ = {
651 | isa = XCConfigurationList;
652 | buildConfigurations = (
653 | E4B69B4E0A3A1720003C02F2 /* Debug */,
654 | E4B69B4F0A3A1720003C02F2 /* Release */,
655 | );
656 | defaultConfigurationIsVisible = 0;
657 | defaultConfigurationName = Release;
658 | };
659 | E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "example3DSources" */ = {
660 | isa = XCConfigurationList;
661 | buildConfigurations = (
662 | E4B69B600A3A1757003C02F2 /* Debug */,
663 | E4B69B610A3A1757003C02F2 /* Release */,
664 | );
665 | defaultConfigurationIsVisible = 0;
666 | defaultConfigurationName = Release;
667 | };
668 | /* End XCConfigurationList section */
669 | };
670 | rootObject = E4B69B4C0A3A1720003C02F2 /* Project object */;
671 | }
672 |
--------------------------------------------------------------------------------
/example3DSources/example3DSources.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/example3DSources/example3DSources.xcodeproj/project.xcworkspace/xcshareddata/example3DSources.xccheckout:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDESourceControlProjectFavoriteDictionaryKey
6 |
7 | IDESourceControlProjectIdentifier
8 | AE7A6C75-A477-4198-9DCC-7C11DF88D317
9 | IDESourceControlProjectName
10 | example3DSources
11 | IDESourceControlProjectOriginsDictionary
12 |
13 | 2FFF2BF69BB0C863F897CA4B5613034382303A01
14 | https://github.com/CICM/ofxHoa
15 | 5B4B1295257546E4C2809C4B80513989C199CD34
16 | https://github.com/CICM/HoaLibrary-Light.git
17 |
18 | IDESourceControlProjectPath
19 | example3DSources/example3DSources.xcodeproj
20 | IDESourceControlProjectRelativeInstallPathDictionary
21 |
22 | 2FFF2BF69BB0C863F897CA4B5613034382303A01
23 | ../../..
24 | 5B4B1295257546E4C2809C4B80513989C199CD34
25 | ../../..libs
26 |
27 | IDESourceControlProjectURL
28 | https://github.com/CICM/ofxHoa
29 | IDESourceControlProjectVersion
30 | 111
31 | IDESourceControlProjectWCCIdentifier
32 | 2FFF2BF69BB0C863F897CA4B5613034382303A01
33 | IDESourceControlProjectWCConfigurations
34 |
35 |
36 | IDESourceControlRepositoryExtensionIdentifierKey
37 | public.vcs.git
38 | IDESourceControlWCCIdentifierKey
39 | 2FFF2BF69BB0C863F897CA4B5613034382303A01
40 | IDESourceControlWCCName
41 | ofxHoa
42 |
43 |
44 | IDESourceControlRepositoryExtensionIdentifierKey
45 | public.vcs.git
46 | IDESourceControlWCCIdentifierKey
47 | 5B4B1295257546E4C2809C4B80513989C199CD34
48 | IDESourceControlWCCName
49 | ofxHoalibs
50 |
51 |
52 | IDESourceControlRepositoryExtensionIdentifierKey
53 | public.vcs.git
54 | IDESourceControlWCCIdentifierKey
55 | 5B4B1295257546E4C2809C4B80513989C199CD34
56 | IDESourceControlWCCName
57 | ofxHoalibs
58 |
59 |
60 |
61 |
62 |
--------------------------------------------------------------------------------
/example3DSources/example3DSources.xcodeproj/project.xcworkspace/xcuserdata/claudiocabral.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CICM/ofxHoa/930fbbd20e5db3622951549edd4d743a118528a5/example3DSources/example3DSources.xcodeproj/project.xcworkspace/xcuserdata/claudiocabral.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/example3DSources/example3DSources.xcodeproj/xcshareddata/xcschemes/example3DSources 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 |
--------------------------------------------------------------------------------
/example3DSources/example3DSources.xcodeproj/xcshareddata/xcschemes/example3DSources 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 |
--------------------------------------------------------------------------------
/example3DSources/example3DSources.xcodeproj/xcuserdata/claudiocabral.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/example3DSources/example3DSources.xcodeproj/xcuserdata/claudiocabral.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SuppressBuildableAutocreation
6 |
7 | E4B69B5A0A3A1756003C02F2
8 |
9 | primary
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/example3DSources/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 |
--------------------------------------------------------------------------------
/example3DSources/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 |
--------------------------------------------------------------------------------
/example3DSources/src/ofApp.cpp:
--------------------------------------------------------------------------------
1 | #include "ofApp.h"
2 |
3 | //--------------------------------------------------------------
4 | void ofApp::setup(){
5 |
6 | // ENABLE DEPTH TEST FOR 3D DRAWING WITH Z-AXIS
7 | ofEnableDepthTest();
8 |
9 | // soundStream.listDevices();
10 | // soundStream.setDeviceID(5);
11 | // INITIALIZE AUDIO VARIABLES
12 |
13 | nOutputs = 2;
14 | nInputs = 0;
15 | sampleRate = 44100;
16 | bufferSize = 512;
17 | nBuffers = (nOutputs+nInputs)*2;
18 |
19 | // CHOOSE NUMBER OF SOURCES AND SET POSITION OF CENTRAL SPHERE
20 | numberOfSources = 5;
21 | centralSphereRadius = 100;
22 | centralSpherePosition = ofVec3f(ofGetWidth()/2, ofGetHeight()/2, 0);
23 | centralSphere = ofSpherePrimitive(centralSphereRadius, 50);
24 | centralSphere.setPosition(centralSpherePosition);
25 |
26 | velMax = 10;
27 |
28 | // CREATE PARTICLES AND ASSOCIATED OSCILLATOR
29 | for (int i = 0; i());
38 | oscillator.back().setup(sampleRate, oscType(floor(ofRandom(4.9))));
39 | oscillator.back().setFrequency(ofRandom(100, 1000));
40 |
41 | }
42 |
43 | /*INITIALIZE HOA VARIBLES. NOTE THAT FOR 3D SPACIALIZATION, THE NUMBER OF REQUIRED
44 | LOUDSPEAKERS EQUALS (ORDER+1)^2 AND LINE STORES 3 VALUES PER SOURCE */
45 | hoaOrder = 3;
46 |
47 | harmonic = new float[(hoaOrder+1)*(hoaOrder+1)];
48 | input = new float[numberOfSources];
49 | memset(harmonic, 0, sizeof(float)*(hoaOrder+1)*(hoaOrder+1));
50 | memset(input, 0, sizeof(float)*numberOfSources);
51 |
52 | encoder = new Encoder::Multi(hoaOrder, numberOfSources);
53 |
54 | // CHOOSE DECODER
55 | decoder = new Decoder::Regular(hoaOrder, nOutputs);
56 | decoder->computeRendering(bufferSize);
57 |
58 | // CHOOSE OPTIM
59 | optim = new Optim::Basic(hoaOrder);
60 | // optim = new Optim::InPhase(hoaOrder);
61 |
62 | // CREATE HOACOORD AND SET RAMP IN MILLISECONDS
63 | hoaCoord = new ofxHoaCoord(numberOfSources);
64 | hoaCoord->setRamp(50, sampleRate);
65 |
66 | // SET SPATIAL REFERENCE
67 | hoaCoord->setAmbisonicRadius(centralSphereRadius*4);
68 | hoaCoord->setAmbisonicCenter(centralSpherePosition);
69 |
70 |
71 | // INTIALIZE VALUES TO A DISTANT POINT TO AVOID CLICKS IN THE BEGINNING
72 | for (int i = 0; isetSourcePositionDirect(i, ofVec3f(300,300,300));
74 | }
75 |
76 | // SET CAM POSITION
77 | cam.setPosition(ofGetWidth()/2, ofGetHeight()/2, 640);
78 | cam.setVFlip(true);
79 | cam.lookAt(ofVec3f(ofGetWidth()/2,ofGetHeight()/2,0));
80 |
81 | // SET LIGHT
82 | light.setDiffuseColor(ofColor(255));
83 | light.setPosition(0,0,10);
84 | light.lookAt(ofVec3f(ofGetWidth()/2, ofGetHeight(), 0));
85 |
86 | // INITIALIZE AUDIO
87 | soundStream.setup(this, nOutputs, nInputs, sampleRate, bufferSize, nBuffers);
88 | }
89 |
90 | //--------------------------------------------------------------
91 | void ofApp::update(){
92 |
93 | for (int i = 0; isetSourcePosition(i, position[i]);
100 |
101 | if (position[i].distance(centralSpherePosition) < centralSphereRadius +
102 | sphere[i].getRadius()) {
103 | velocity[i].z *= -1;
104 | }
105 |
106 | if (position[i].x < 0 || position[i].x > ofGetWidth()) {
107 | velocity[i].x*= -1;
108 | }
109 | if (position[i].y < 0 || position[i].y > ofGetHeight()) {
110 | velocity[i].y*= -1;
111 | }
112 | if (position[i].z < -640 || position[i].z > 640) {
113 | velocity[i].z*= -1;
114 | }
115 | }
116 | }
117 |
118 | //--------------------------------------------------------------
119 | void ofApp::draw(){
120 |
121 | ofBackground(0);
122 |
123 | cam.begin();
124 | light.enable();
125 |
126 | ofSetColor(ofColor::papayaWhip);
127 |
128 | centralSphere.draw();
129 | for (int i = 0; iprocess();
192 |
193 | for (int j = 0; jsetRadius(j, hoaCoord->getRadius(j));
197 | encoder->setAzimuth(j, hoaCoord->getAzimuth(j));
198 | encoder->setElevation(j, hoaCoord->getElevation(j));
199 | }
200 |
201 | encoder->process(input, harmonic);
202 | optim->process(harmonic, harmonic);
203 | decoder->process(harmonic, output+i*nChannels);
204 | }
205 | }
206 |
207 | //--------------------------------------------------------------
208 |
209 | void ofApp::exit(){
210 |
211 | // CLOSE AUDIO AND CLEAR OBJECTS WHEN CLOSING
212 |
213 | soundStream.close();
214 |
215 | delete [] harmonic;
216 | delete [] input;
217 | delete hoaCoord;
218 | delete encoder;
219 | delete decoder;
220 | delete optim;
221 | }
222 |
--------------------------------------------------------------------------------
/example3DSources/src/ofApp.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "ofMain.h"
4 | #include "ofxHoa.h"
5 |
6 | using namespace hoa;
7 |
8 | class ofApp : public ofBaseApp{
9 |
10 | public:
11 | void setup();
12 | void update();
13 | void draw();
14 |
15 | void keyPressed(int key);
16 | void keyReleased(int key);
17 | void mouseMoved(int x, int y );
18 | void mouseDragged(int x, int y, int button);
19 | void mousePressed(int x, int y, int button);
20 | void mouseReleased(int x, int y, int button);
21 | void windowResized(int w, int h);
22 | void dragEvent(ofDragInfo dragInfo);
23 | void gotMessage(ofMessage msg);
24 |
25 | void audioOut(float * output, int bufferSize, int nChannels);
26 | void exit();
27 |
28 | ofCamera cam;
29 | ofLight light;
30 | int numberOfSources;
31 | ofSpherePrimitive centralSphere;
32 | ofVec3f centralSpherePosition;
33 | float centralSphereRadius;
34 | vector sphere;
35 | vector position;
36 | vector velocity;
37 | vector seed;
38 | vector sphereColor;
39 |
40 | float velMax;
41 |
42 | ofSoundStream soundStream;
43 |
44 | int nOutputs, nInputs, sampleRate, bufferSize, nBuffers;
45 |
46 | int hoaOrder;
47 |
48 | vector > oscillator;
49 |
50 | ofxHoaCoord * hoaCoord;
51 |
52 | float * harmonic;
53 | float * input;
54 |
55 | Encoder::Multi * encoder;
56 | Decoder * decoder;
57 | Optim * optim;
58 |
59 |
60 | };
61 |
--------------------------------------------------------------------------------
/exampleBinaural/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 |
--------------------------------------------------------------------------------
/exampleBinaural/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 |
--------------------------------------------------------------------------------
/exampleBinaural/addons.make:
--------------------------------------------------------------------------------
1 | ofxHoa
2 |
--------------------------------------------------------------------------------
/exampleBinaural/bin/data/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CICM/ofxHoa/930fbbd20e5db3622951549edd4d743a118528a5/exampleBinaural/bin/data/.gitkeep
--------------------------------------------------------------------------------
/exampleBinaural/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 |
--------------------------------------------------------------------------------
/exampleBinaural/exampleBinaural.xcodeproj/project.xcworkspace/xcshareddata/exampleBinaural.xccheckout:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDESourceControlProjectFavoriteDictionaryKey
6 |
7 | IDESourceControlProjectIdentifier
8 | 17ADE348-5567-4C53-B800-5EB9E58DFD85
9 | IDESourceControlProjectName
10 | exampleBinaural
11 | IDESourceControlProjectOriginsDictionary
12 |
13 | 2FFF2BF69BB0C863F897CA4B5613034382303A01
14 | https://github.com/CICM/ofxHoa
15 | 5B4B1295257546E4C2809C4B80513989C199CD34
16 | https://github.com/CICM/HoaLibrary-Light.git
17 |
18 | IDESourceControlProjectPath
19 | exampleBinaural/exampleBinaural.xcodeproj
20 | IDESourceControlProjectRelativeInstallPathDictionary
21 |
22 | 2FFF2BF69BB0C863F897CA4B5613034382303A01
23 | ../../..
24 | 5B4B1295257546E4C2809C4B80513989C199CD34
25 | ../../..libs
26 |
27 | IDESourceControlProjectURL
28 | https://github.com/CICM/ofxHoa
29 | IDESourceControlProjectVersion
30 | 111
31 | IDESourceControlProjectWCCIdentifier
32 | 2FFF2BF69BB0C863F897CA4B5613034382303A01
33 | IDESourceControlProjectWCConfigurations
34 |
35 |
36 | IDESourceControlRepositoryExtensionIdentifierKey
37 | public.vcs.git
38 | IDESourceControlWCCIdentifierKey
39 | 2FFF2BF69BB0C863F897CA4B5613034382303A01
40 | IDESourceControlWCCName
41 | ofxHoa
42 |
43 |
44 | IDESourceControlRepositoryExtensionIdentifierKey
45 | public.vcs.git
46 | IDESourceControlWCCIdentifierKey
47 | 5B4B1295257546E4C2809C4B80513989C199CD34
48 | IDESourceControlWCCName
49 | ofxHoalibs
50 |
51 |
52 | IDESourceControlRepositoryExtensionIdentifierKey
53 | public.vcs.git
54 | IDESourceControlWCCIdentifierKey
55 | 5B4B1295257546E4C2809C4B80513989C199CD34
56 | IDESourceControlWCCName
57 | ofxHoalibs
58 |
59 |
60 |
61 |
62 |
--------------------------------------------------------------------------------
/exampleBinaural/exampleBinaural.xcodeproj/project.xcworkspace/xcuserdata/claudiocabral.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CICM/ofxHoa/930fbbd20e5db3622951549edd4d743a118528a5/exampleBinaural/exampleBinaural.xcodeproj/project.xcworkspace/xcuserdata/claudiocabral.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/exampleBinaural/exampleBinaural.xcodeproj/xcshareddata/xcschemes/exampleBinaural 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 |
--------------------------------------------------------------------------------
/exampleBinaural/exampleBinaural.xcodeproj/xcshareddata/xcschemes/exampleBinaural 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 |
--------------------------------------------------------------------------------
/exampleBinaural/exampleBinaural.xcodeproj/xcuserdata/claudiocabral.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/exampleBinaural/exampleBinaural.xcodeproj/xcuserdata/claudiocabral.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SuppressBuildableAutocreation
6 |
7 | E4B69B5A0A3A1756003C02F2
8 |
9 | primary
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/exampleBinaural/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 |
--------------------------------------------------------------------------------
/exampleBinaural/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 |
--------------------------------------------------------------------------------
/exampleBinaural/src/ofApp.cpp:
--------------------------------------------------------------------------------
1 | #include "ofApp.h"
2 |
3 | //--------------------------------------------------------------
4 | void ofApp::setup(){
5 |
6 | nOutputs = 2;
7 | nInputs = 0;
8 | sampleRate = 44100;
9 | nBuffers = (nInputs+nOutputs)*2;
10 |
11 | input = 0;
12 |
13 | myOsc.setup(sampleRate, OF_SQUARE_WAVE);
14 | myOsc.setFrequency(330);
15 | myEnv.setup(sampleRate, OF_SAWTOOTH_WAVE);
16 | myEnv.setFrequency(-2);
17 |
18 |
19 | harmonicMatrix = new float * [order * 2+1];
20 |
21 | for (int i = 0; i< order*2+1;++i) harmonicMatrix[i] = new float[bufferSize];
22 |
23 | outputMatrix = new float * [2];
24 | outputMatrix[0] = new float[bufferSize];
25 | outputMatrix[1] = new float[bufferSize];
26 | hoaDecoder.setCropSize(256);
27 |
28 | hoaDecoder.computeRendering(bufferSize);
29 |
30 | circleCenter = ofVec3f(ofGetWidth()/2,ofGetHeight()/2);
31 | circleRadius = 100;
32 |
33 | hoaCoord.setAmbisonicCenter(circleCenter);
34 | hoaCoord.setAmbisonicRadius(circleRadius);
35 |
36 |
37 | hoaCoord.setRamp(50, sampleRate);
38 |
39 | hoaCoord.setSourcePositionDirect(0, ofVec3f(10000,10000));
40 |
41 | ofSetCircleResolution(50);
42 |
43 | soundStream.setup(this, nOutputs, nInputs, sampleRate, bufferSize, nBuffers);
44 | }
45 |
46 | //--------------------------------------------------------------
47 | void ofApp::update(){
48 | // CHANGE SOURCE POSITION
49 | sourcePosition = ofVec3f(mouseX, mouseY);
50 | hoaCoord.setSourcePosition(0, sourcePosition);
51 | }
52 |
53 | //--------------------------------------------------------------
54 | void ofApp::draw(){
55 |
56 | ofBackgroundGradient(ofColor::gold, ofColor::black);
57 | ofSetColor(ofColor::crimson);
58 | ofFill();
59 | ofCircle(sourcePosition, 10);
60 | ofNoFill();
61 | ofCircle(circleCenter, circleRadius);
62 |
63 | }
64 |
65 | //--------------------------------------------------------------
66 | void ofApp::keyPressed(int key){
67 |
68 | }
69 |
70 | //--------------------------------------------------------------
71 | void ofApp::keyReleased(int key){
72 |
73 | }
74 |
75 | //--------------------------------------------------------------
76 | void ofApp::mouseMoved(int x, int y ){
77 |
78 | }
79 |
80 | //--------------------------------------------------------------
81 | void ofApp::mouseDragged(int x, int y, int button){
82 |
83 | }
84 |
85 | //--------------------------------------------------------------
86 | void ofApp::mousePressed(int x, int y, int button){
87 |
88 | }
89 |
90 | //--------------------------------------------------------------
91 | void ofApp::mouseReleased(int x, int y, int button){
92 |
93 | }
94 |
95 | //--------------------------------------------------------------
96 | void ofApp::windowResized(int w, int h){
97 |
98 | }
99 |
100 | //--------------------------------------------------------------
101 | void ofApp::gotMessage(ofMessage msg){
102 |
103 | }
104 |
105 | //--------------------------------------------------------------
106 | void ofApp::dragEvent(ofDragInfo dragInfo){
107 |
108 | }
109 |
110 | void ofApp::audioOut( float * output, int bufferSize, int nChannels){
111 |
112 | for (int i = 0; i(harmonicMatrix), outputMatrix);
126 |
127 | for (int i = 0; i myOsc, myEnv;
35 |
36 | static const int order = 3;
37 | int nInputs, nOutputs;
38 | static const int bufferSize = 512;
39 | int sampleRate;
40 | int nBuffers;
41 |
42 | //MOST HOA CLASSES REQUIRE ARGUMENTS FOR INITILIZATION, SO WE CREATE THEM AS POINTERS
43 | Encoder::DC hoaEncoder = Encoder::DC(order);
44 | Decoder::Binaural hoaDecoder = Decoder::Binaural(order);
45 | Optim::Basic hoaOptim = Optim::Basic(order);
46 | ofxHoaCoord hoaCoord = ofxHoaCoord(1);
47 |
48 | ofSoundStream soundStream;
49 |
50 | float input;
51 | float harmonicsBuffer[order*2+1];
52 |
53 | float ** harmonicMatrix;
54 | float ** outputMatrix;
55 |
56 | float circleRadius;
57 | ofVec3f circleCenter;
58 | ofVec3f sourcePosition;
59 | };
--------------------------------------------------------------------------------
/exampleMultipleSources/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 |
--------------------------------------------------------------------------------
/exampleMultipleSources/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 |
--------------------------------------------------------------------------------
/exampleMultipleSources/addons.make:
--------------------------------------------------------------------------------
1 | ofxHoa
2 |
--------------------------------------------------------------------------------
/exampleMultipleSources/bin/data/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CICM/ofxHoa/930fbbd20e5db3622951549edd4d743a118528a5/exampleMultipleSources/bin/data/.gitkeep
--------------------------------------------------------------------------------
/exampleMultipleSources/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 |
--------------------------------------------------------------------------------
/exampleMultipleSources/exampleMultipleSources.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/exampleMultipleSources/exampleMultipleSources.xcodeproj/project.xcworkspace/xcshareddata/exampleMultipleSources.xccheckout:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDESourceControlProjectFavoriteDictionaryKey
6 |
7 | IDESourceControlProjectIdentifier
8 | D7B5985A-5805-46A1-ADF1-EDE80A05B181
9 | IDESourceControlProjectName
10 | exampleMultipleSources
11 | IDESourceControlProjectOriginsDictionary
12 |
13 | 2FFF2BF69BB0C863F897CA4B5613034382303A01
14 | https://github.com/CICM/ofxHoa
15 | 5B4B1295257546E4C2809C4B80513989C199CD34
16 | https://github.com/CICM/HoaLibrary-Light.git
17 |
18 | IDESourceControlProjectPath
19 | exampleMultipleSources/exampleMultipleSources.xcodeproj
20 | IDESourceControlProjectRelativeInstallPathDictionary
21 |
22 | 2FFF2BF69BB0C863F897CA4B5613034382303A01
23 | ../../..
24 | 5B4B1295257546E4C2809C4B80513989C199CD34
25 | ../../..libs/HoaLibrary-Light
26 |
27 | IDESourceControlProjectURL
28 | https://github.com/CICM/ofxHoa
29 | IDESourceControlProjectVersion
30 | 111
31 | IDESourceControlProjectWCCIdentifier
32 | 2FFF2BF69BB0C863F897CA4B5613034382303A01
33 | IDESourceControlProjectWCConfigurations
34 |
35 |
36 | IDESourceControlRepositoryExtensionIdentifierKey
37 | public.vcs.git
38 | IDESourceControlWCCIdentifierKey
39 | 5B4B1295257546E4C2809C4B80513989C199CD34
40 | IDESourceControlWCCName
41 | HoaLibrary-Light
42 |
43 |
44 | IDESourceControlRepositoryExtensionIdentifierKey
45 | public.vcs.git
46 | IDESourceControlWCCIdentifierKey
47 | 2FFF2BF69BB0C863F897CA4B5613034382303A01
48 | IDESourceControlWCCName
49 | ofxHoa
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/exampleMultipleSources/exampleMultipleSources.xcodeproj/project.xcworkspace/xcuserdata/claudiocabral.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CICM/ofxHoa/930fbbd20e5db3622951549edd4d743a118528a5/exampleMultipleSources/exampleMultipleSources.xcodeproj/project.xcworkspace/xcuserdata/claudiocabral.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/exampleMultipleSources/exampleMultipleSources.xcodeproj/xcshareddata/xcschemes/exampleMultipleSources 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 |
--------------------------------------------------------------------------------
/exampleMultipleSources/exampleMultipleSources.xcodeproj/xcshareddata/xcschemes/exampleMultipleSources 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 |
--------------------------------------------------------------------------------
/exampleMultipleSources/exampleMultipleSources.xcodeproj/xcuserdata/claudiocabral.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/exampleMultipleSources/exampleMultipleSources.xcodeproj/xcuserdata/claudiocabral.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SuppressBuildableAutocreation
6 |
7 | E4B69B5A0A3A1756003C02F2
8 |
9 | primary
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/exampleMultipleSources/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 |
--------------------------------------------------------------------------------
/exampleMultipleSources/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 |
--------------------------------------------------------------------------------
/exampleMultipleSources/src/ofApp.cpp:
--------------------------------------------------------------------------------
1 | #include "ofApp.h"
2 |
3 | //--------------------------------------------------------------
4 | void ofApp::setup(){
5 |
6 | // soundStream.setDeviceID(5);
7 | // ofSoundStreamListDevices();
8 |
9 | // CHOOSE NUMBER OF PARTICLES; EACH ONE WILL HAVE IT'S OWN COLOR AND FREQUENCY
10 | numberOfParticles = 3;
11 |
12 | // CREATE VARIABLES OF THE SPEAKER CIRCLE
13 | circleCenter = ofVec3f(ofGetWidth()/2,ofGetHeight()/2);
14 | circleRadius = ofGetWidth()/4;
15 | circleMin = circleCenter - circleRadius;
16 | circleMax = circleCenter + circleRadius;
17 |
18 | // CONFIGURE AUDIO
19 | nOutputs = 2;
20 | nInputs = 0;
21 | sampleRate = 44100;
22 | bufferSize = 512;
23 | nBuffers = (nOutputs + nInputs)*2;
24 |
25 | // CHOOSE HOA ORDER
26 | order = 3;
27 |
28 | // CREATE ALL THE ARRAYS WE'LL NEED
29 | position = new ofVec3f[numberOfParticles];
30 | velocity = new ofVec3f[numberOfParticles];
31 | noise = new ofVec3f[numberOfParticles];
32 | inputBuffer = new float[numberOfParticles];
33 | harmonicsBuffer = new float[order*2+1];
34 | myOsc = new ofxHoaOscillator[numberOfParticles];
35 |
36 | // THE ENCODERMULTI ALLOWS TO DISTRIBUTE MULTIPLE SOURCES IN SPACE
37 | encoderMulti = new Encoder::Multi(order,numberOfParticles);
38 |
39 | // CHOSE DECODER TYPE
40 | // decoder = new Decoder::Binaural(order);
41 | decoder = new Decoder::Regular(order,nOutputs);
42 | // COMPUE MATRIX OF SPEAKERS
43 | decoder->computeRendering(bufferSize);
44 |
45 | /*THE OPTIM ALLOWS TO ACOUNT FOR DISPLACEMENTS IN IDEAL SPEAKER POSITION
46 | "Basic" WORKS AS A BYPASS.
47 | "InPhase" AND "MaxRe" SHOULD BE USED IF THE AMBSIONICS CIRCLE/SPHERE IS NOT PERFECT */
48 | // optimizer = new Optim::Basic(order);
49 | optimizer = new Optim::InPhase(order);
50 |
51 |
52 | hoaCoord = new ofxHoaCoord(numberOfParticles);
53 |
54 | // SET THE RAMP FOR SMOOTHING THE VALUES
55 | hoaCoord->setRamp(50, sampleRate);
56 |
57 | // SETUP MESH, THIS IS JUST A CHEAP WAY OF MAKING BIG POINTS
58 | mesh.setMode(OF_PRIMITIVE_POINTS);
59 | glEnable(GL_POINT_SMOOTH);
60 | glPointSize(20);
61 |
62 | // MAXIMUM VALUE FOR THE VELOCITY OF THE PARTICLES
63 | velocityMax = 5;
64 |
65 | // INITIALIZE ALL ARRAYS AND ADD VERTICES TO MESH
66 | for (int i = 0; isetAmbisonicCenter(circleCenter);
81 | hoaCoord->setAmbisonicRadius(circleRadius);
82 | hoaCoord->setSourcePositionDirect(i, position[i]);
83 | }
84 |
85 | soundStream.setup(this, nOutputs, nInputs, sampleRate, bufferSize, nBuffers);
86 |
87 | // MAKE A PRETIER CIRCLE
88 | ofSetCircleResolution(50);
89 | }
90 |
91 | //--------------------------------------------------------------
92 | void ofApp::update(){
93 |
94 | // CHECK FOR WALL COLLISION
95 | for (int i = 0; i= circleMax.x) {
98 | velocity[i].x*= -1;
99 | }
100 | if (position[i].y <= circleMin.y || position[i].y >= circleMax.y) {
101 | velocity[i].y*= -1;
102 | }
103 |
104 | relativePosition.x = position[i].x - circleCenter.x;
105 | relativePosition.y = (ofGetHeight() - position[i].y) - circleCenter.y;
106 |
107 | // CALCULATE NEW POSITION USING VELOCITY AND PERLIN NOISE
108 | noise[i]+=0.01;
109 | position[i]+=ofNoise(noise[i].x,noise[i].y)*velocity[i];
110 | mesh.setVertex(i, position[i]);
111 |
112 | // SET SOURCE POSITION
113 | hoaCoord->setSourcePosition(i, position[i]);
114 | }
115 | }
116 |
117 | //--------------------------------------------------------------
118 | void ofApp::draw(){
119 |
120 | // DRAW EVERYTHING
121 | ofBackgroundGradient(ofColor::gold, ofColor::black);
122 | ofNoFill();
123 | ofSetColor(ofColor::paleVioletRed);
124 |
125 | //MAKE A THICK CIRCLE
126 | for (int i = 0; i<10; i++){
127 | ofCircle(circleCenter, circleRadius+i-5);
128 | }
129 |
130 | //DRAW THE SOURCES
131 | ofSetColor(255);
132 | mesh.draw();
133 |
134 | }
135 |
136 | //--------------------------------------------------------------
137 | void ofApp::keyPressed(int key){
138 |
139 | }
140 |
141 | //--------------------------------------------------------------
142 | void ofApp::keyReleased(int key){
143 |
144 | }
145 |
146 | //--------------------------------------------------------------
147 | void ofApp::mouseMoved(int x, int y ){
148 |
149 | }
150 |
151 | //--------------------------------------------------------------
152 | void ofApp::mouseDragged(int x, int y, int button){
153 |
154 | }
155 |
156 | //--------------------------------------------------------------
157 | void ofApp::mousePressed(int x, int y, int button){
158 |
159 | }
160 |
161 | //--------------------------------------------------------------
162 | void ofApp::mouseReleased(int x, int y, int button){
163 |
164 | }
165 |
166 | //--------------------------------------------------------------
167 | void ofApp::windowResized(int w, int h){
168 |
169 | }
170 |
171 | //--------------------------------------------------------------
172 | void ofApp::gotMessage(ofMessage msg){
173 |
174 | }
175 |
176 | //--------------------------------------------------------------
177 | void ofApp::dragEvent(ofDragInfo dragInfo){
178 |
179 | }
180 |
181 | //--------------------------------------------------------------
182 | void ofApp::audioOut(float *output, int bufferSize, int nChannels){
183 |
184 | // BEGIN AUDIO LOOP
185 | for (int i = 0; iprocess();
188 |
189 |
190 | // SET CURRENT POSITION FOR EACH PARTICLE
191 | for (int j = 0; jsetRadius(j, hoaCoord->getRadius(j));
197 | encoderMulti->setAzimuth(j, hoaCoord->getAzimuth(j));
198 | }
199 |
200 | // PROCESS ONE SAMPLE OF EACH PARTICLE AND CREATE THE SPHERICAL HARMONICS
201 | encoderMulti->process(inputBuffer,harmonicsBuffer);
202 |
203 | // PROCESS THE HARMONICS WITH OPTIM
204 | optimizer->process(harmonicsBuffer, harmonicsBuffer);
205 |
206 | // TRANSFORM THE HARMONICS TO AUDIO SIGNALS
207 | decoder->process(harmonicsBuffer, output+i*nChannels);
208 |
209 | }
210 | }
211 |
212 | //--------------------------------------------------------------
213 | void ofApp::exit(){
214 |
215 | // CLEAR AUDIO AND DELETE OBJECTS WHEN CLOSING
216 | soundStream.close();
217 |
218 | delete [] position;
219 | delete [] velocity;
220 | delete [] noise;
221 | delete [] inputBuffer;
222 | delete [] harmonicsBuffer;
223 | delete [] myOsc;
224 |
225 | delete encoderMulti;
226 | delete decoder;
227 | delete optimizer;
228 | delete hoaCoord;
229 | }
--------------------------------------------------------------------------------
/exampleMultipleSources/src/ofApp.h:
--------------------------------------------------------------------------------
1 | // FOR A MORE COMMENTED EXAMPLE SEE exampleOneSource
2 |
3 | #pragma once
4 |
5 | #include "ofMain.h"
6 | #include "ofxHoa.h"
7 |
8 | using namespace hoa;
9 |
10 | class ofApp : public ofBaseApp{
11 |
12 | public:
13 | void setup();
14 | void update();
15 | void draw();
16 |
17 | void keyPressed(int key);
18 | void keyReleased(int key);
19 | void mouseMoved(int x, int y );
20 | void mouseDragged(int x, int y, int button);
21 | void mousePressed(int x, int y, int button);
22 | void mouseReleased(int x, int y, int button);
23 | void windowResized(int w, int h);
24 | void dragEvent(ofDragInfo dragInfo);
25 | void gotMessage(ofMessage msg);
26 |
27 | void audioOut(float * output, int bufferSize, int nChannels);
28 | void exit();
29 |
30 | Encoder::Multi * encoderMulti;
31 | Decoder * decoder;
32 | Optim * optimizer;
33 | ofxHoaCoord * hoaCoord;
34 |
35 | ofxHoaOscillator * myOsc;
36 |
37 | float * inputBuffer;
38 | float * harmonicsBuffer;
39 |
40 | ofSoundStream soundStream;
41 | int nInputs, nOutputs, nChannels, nBuffers, sampleRate, bufferSize;
42 |
43 | int numberOfParticles;
44 | int order;
45 |
46 | ofMesh mesh;
47 | ofVec3f relativePosition;
48 | ofVec3f * position;
49 | ofVec3f * velocity;
50 | ofVec3f * noise;
51 | ofVec3f circleCenter;
52 | ofVec3f circleMin, circleMax;
53 | float circleRadius;
54 | float velocityMax;
55 | };
56 |
--------------------------------------------------------------------------------
/exampleOneSource/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 |
--------------------------------------------------------------------------------
/exampleOneSource/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 |
--------------------------------------------------------------------------------
/exampleOneSource/addons.make:
--------------------------------------------------------------------------------
1 | ofxHoa
2 |
--------------------------------------------------------------------------------
/exampleOneSource/bin/data/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CICM/ofxHoa/930fbbd20e5db3622951549edd4d743a118528a5/exampleOneSource/bin/data/.gitkeep
--------------------------------------------------------------------------------
/exampleOneSource/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 |
--------------------------------------------------------------------------------
/exampleOneSource/exampleOneSource.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; };
11 | E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4328148138ABC890047C5CB /* openFrameworksDebug.a */; };
12 | E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9710E8CC7DD009D7055 /* AGL.framework */; };
13 | E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */; };
14 | E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */; };
15 | E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */; };
16 | E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */; };
17 | E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9770E8CC7DD009D7055 /* CoreServices.framework */; };
18 | E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE9790E8CC7DD009D7055 /* OpenGL.framework */; };
19 | E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */; };
20 | E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1D0A3A1BDC003C02F2 /* main.cpp */; };
21 | E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */; };
22 | E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424410CC5A17004149E2 /* AppKit.framework */; };
23 | E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424510CC5A17004149E2 /* Cocoa.framework */; };
24 | E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C2424610CC5A17004149E2 /* IOKit.framework */; };
25 | E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBAB23BE13894E4700AA2426 /* GLUT.framework */; };
26 | E7E077E515D3B63C0020DFD4 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */; };
27 | E7E077E815D3B6510020DFD4 /* QTKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7E077E715D3B6510020DFD4 /* QTKit.framework */; };
28 | E7F985F815E0DEA3003869B5 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7F985F515E0DE99003869B5 /* Accelerate.framework */; };
29 | /* End PBXBuildFile section */
30 |
31 | /* Begin PBXContainerItemProxy section */
32 | E4328147138ABC890047C5CB /* PBXContainerItemProxy */ = {
33 | isa = PBXContainerItemProxy;
34 | containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */;
35 | proxyType = 2;
36 | remoteGlobalIDString = E4B27C1510CBEB8E00536013;
37 | remoteInfo = openFrameworks;
38 | };
39 | E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */ = {
40 | isa = PBXContainerItemProxy;
41 | containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */;
42 | proxyType = 1;
43 | remoteGlobalIDString = E4B27C1410CBEB8E00536013;
44 | remoteInfo = openFrameworks;
45 | };
46 | /* End PBXContainerItemProxy section */
47 |
48 | /* Begin PBXCopyFilesBuildPhase section */
49 | E4C2427710CC5ABF004149E2 /* CopyFiles */ = {
50 | isa = PBXCopyFilesBuildPhase;
51 | buildActionMask = 2147483647;
52 | dstPath = "";
53 | dstSubfolderSpec = 10;
54 | files = (
55 | BBAB23CB13894F3D00AA2426 /* GLUT.framework in CopyFiles */,
56 | );
57 | runOnlyForDeploymentPostprocessing = 0;
58 | };
59 | /* End PBXCopyFilesBuildPhase section */
60 |
61 | /* Begin PBXFileReference section */
62 | 0190812EA96FA79079A4F708 /* Tools.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Tools.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Tools.hpp"; sourceTree = SOURCE_ROOT; };
63 | 0A45FE374225665EBBB699E3 /* Planewaves.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Planewaves.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Planewaves.hpp"; sourceTree = SOURCE_ROOT; };
64 | 0E138C871AD5293300C04EA1 /* ofxHoaCoord.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxHoaCoord.h; sourceTree = ""; };
65 | 0EAE9D241AC5CB4B00CB6594 /* ofxHoaOscillator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofxHoaOscillator.h; sourceTree = ""; };
66 | 3299B5F0527C1EE60A9B4C50 /* Math.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Math.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Math.hpp"; sourceTree = SOURCE_ROOT; };
67 | 3E10A66180CDBA7C978E1764 /* Harmonics.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Harmonics.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Harmonics.hpp"; sourceTree = SOURCE_ROOT; };
68 | 4B2C781104A15351EB6993D3 /* Defs.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Defs.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Defs.hpp"; sourceTree = SOURCE_ROOT; };
69 | 545BDBFC9096189763C6B4C6 /* Decoder.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Decoder.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Decoder.hpp"; sourceTree = SOURCE_ROOT; };
70 | 59C4E10826F056938BFB0863 /* Voronoi.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Voronoi.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Voronoi.hpp"; sourceTree = SOURCE_ROOT; };
71 | 6218AD7D60658E29858270CC /* Hoa.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Hoa.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Hoa.hpp"; sourceTree = SOURCE_ROOT; };
72 | 68911386ED64AB7157CB0170 /* Meter.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Meter.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Meter.hpp"; sourceTree = SOURCE_ROOT; };
73 | 8E01F0E0DD6DDC8F64E44B95 /* Optim.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Optim.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Optim.hpp"; sourceTree = SOURCE_ROOT; };
74 | 986635D9DE756DBCE99B3E84 /* Projector.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Projector.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Projector.hpp"; sourceTree = SOURCE_ROOT; };
75 | 991FF2A6D62B1D5D32BB2A00 /* Vector.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Vector.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Vector.hpp"; sourceTree = SOURCE_ROOT; };
76 | 9BA40B344E0B90C2DF810852 /* Wider.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Wider.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Wider.hpp"; sourceTree = SOURCE_ROOT; };
77 | 9EAE7A59BEF09EBFF1F8C8FA /* Scope.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Scope.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Scope.hpp"; sourceTree = SOURCE_ROOT; };
78 | A02F5BEC7DEA69D4FE8EEECA /* Encoder.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Encoder.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Encoder.hpp"; sourceTree = SOURCE_ROOT; };
79 | B69054F80248A5BE18B83BD7 /* Recomposer.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Recomposer.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Recomposer.hpp"; sourceTree = SOURCE_ROOT; };
80 | BBAB23BE13894E4700AA2426 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = ../../../libs/glut/lib/osx/GLUT.framework; sourceTree = ""; };
81 | DAE3733BC0D94D61D1965743 /* Signal.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Signal.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Signal.hpp"; sourceTree = SOURCE_ROOT; };
82 | DB322A043499860A25CDCA44 /* ofxHoa.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxHoa.h; path = ../../../addons/ofxHoa/src/ofxHoa.h; sourceTree = SOURCE_ROOT; };
83 | E1C8CE47C1D3CBF3DA4026C5 /* Rotate.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Rotate.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Rotate.hpp"; sourceTree = SOURCE_ROOT; };
84 | E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openFrameworksLib.xcodeproj; path = ../../../libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj; sourceTree = SOURCE_ROOT; };
85 | E45BE9710E8CC7DD009D7055 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = ""; };
86 | E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = ""; };
87 | E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; };
88 | E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; };
89 | E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; };
90 | E45BE9770E8CC7DD009D7055 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; };
91 | E45BE9790E8CC7DD009D7055 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; };
92 | E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; };
93 | E4B69B5B0A3A1756003C02F2 /* exampleOneSourceDebug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = exampleOneSourceDebug.app; sourceTree = BUILT_PRODUCTS_DIR; };
94 | E4B69E1D0A3A1BDC003C02F2 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; };
95 | E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofApp.cpp; path = src/ofApp.cpp; sourceTree = SOURCE_ROOT; };
96 | E4B69E1F0A3A1BDC003C02F2 /* ofApp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ofApp.h; path = src/ofApp.h; sourceTree = SOURCE_ROOT; };
97 | E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = "openFrameworks-Info.plist"; sourceTree = ""; };
98 | E4C2424410CC5A17004149E2 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; };
99 | E4C2424510CC5A17004149E2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; };
100 | E4C2424610CC5A17004149E2 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = ""; };
101 | E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CoreOF.xcconfig; path = ../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig; sourceTree = SOURCE_ROOT; };
102 | E4EB6923138AFD0F00A09F29 /* Project.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Project.xcconfig; sourceTree = ""; };
103 | E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = /System/Library/Frameworks/CoreVideo.framework; sourceTree = ""; };
104 | E7E077E715D3B6510020DFD4 /* QTKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = /System/Library/Frameworks/QTKit.framework; sourceTree = ""; };
105 | E7F985F515E0DE99003869B5 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = /System/Library/Frameworks/Accelerate.framework; sourceTree = ""; };
106 | F2D72A3D4988BFB868B1F36C /* Source.hpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Source.hpp; path = "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources/Source.hpp"; sourceTree = SOURCE_ROOT; };
107 | /* End PBXFileReference section */
108 |
109 | /* Begin PBXFrameworksBuildPhase section */
110 | E4B69B590A3A1756003C02F2 /* Frameworks */ = {
111 | isa = PBXFrameworksBuildPhase;
112 | buildActionMask = 2147483647;
113 | files = (
114 | E7F985F815E0DEA3003869B5 /* Accelerate.framework in Frameworks */,
115 | E7E077E815D3B6510020DFD4 /* QTKit.framework in Frameworks */,
116 | E4EB6799138ADC1D00A09F29 /* GLUT.framework in Frameworks */,
117 | E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */,
118 | E45BE97B0E8CC7DD009D7055 /* AGL.framework in Frameworks */,
119 | E45BE97C0E8CC7DD009D7055 /* ApplicationServices.framework in Frameworks */,
120 | E45BE97D0E8CC7DD009D7055 /* AudioToolbox.framework in Frameworks */,
121 | E45BE97F0E8CC7DD009D7055 /* CoreAudio.framework in Frameworks */,
122 | E45BE9800E8CC7DD009D7055 /* CoreFoundation.framework in Frameworks */,
123 | E45BE9810E8CC7DD009D7055 /* CoreServices.framework in Frameworks */,
124 | E45BE9830E8CC7DD009D7055 /* OpenGL.framework in Frameworks */,
125 | E45BE9840E8CC7DD009D7055 /* QuickTime.framework in Frameworks */,
126 | E4C2424710CC5A17004149E2 /* AppKit.framework in Frameworks */,
127 | E4C2424810CC5A17004149E2 /* Cocoa.framework in Frameworks */,
128 | E4C2424910CC5A17004149E2 /* IOKit.framework in Frameworks */,
129 | E7E077E515D3B63C0020DFD4 /* CoreVideo.framework in Frameworks */,
130 | );
131 | runOnlyForDeploymentPostprocessing = 0;
132 | };
133 | /* End PBXFrameworksBuildPhase section */
134 |
135 | /* Begin PBXGroup section */
136 | 0EAE9D221AC5CB4B00CB6594 /* ofxHoaClasses */ = {
137 | isa = PBXGroup;
138 | children = (
139 | 0E138C871AD5293300C04EA1 /* ofxHoaCoord.h */,
140 | 0EAE9D241AC5CB4B00CB6594 /* ofxHoaOscillator.h */,
141 | );
142 | name = ofxHoaClasses;
143 | path = ../libs/ofxHoaClasses;
144 | sourceTree = "";
145 | };
146 | 3A0BDB552FAB59EE9DCD8F0F /* Sources */ = {
147 | isa = PBXGroup;
148 | children = (
149 | 545BDBFC9096189763C6B4C6 /* Decoder.hpp */,
150 | 4B2C781104A15351EB6993D3 /* Defs.hpp */,
151 | A02F5BEC7DEA69D4FE8EEECA /* Encoder.hpp */,
152 | 3E10A66180CDBA7C978E1764 /* Harmonics.hpp */,
153 | 6218AD7D60658E29858270CC /* Hoa.hpp */,
154 | 3299B5F0527C1EE60A9B4C50 /* Math.hpp */,
155 | 68911386ED64AB7157CB0170 /* Meter.hpp */,
156 | 8E01F0E0DD6DDC8F64E44B95 /* Optim.hpp */,
157 | 0A45FE374225665EBBB699E3 /* Planewaves.hpp */,
158 | 986635D9DE756DBCE99B3E84 /* Projector.hpp */,
159 | B69054F80248A5BE18B83BD7 /* Recomposer.hpp */,
160 | E1C8CE47C1D3CBF3DA4026C5 /* Rotate.hpp */,
161 | 9EAE7A59BEF09EBFF1F8C8FA /* Scope.hpp */,
162 | DAE3733BC0D94D61D1965743 /* Signal.hpp */,
163 | F2D72A3D4988BFB868B1F36C /* Source.hpp */,
164 | 0190812EA96FA79079A4F708 /* Tools.hpp */,
165 | 991FF2A6D62B1D5D32BB2A00 /* Vector.hpp */,
166 | 59C4E10826F056938BFB0863 /* Voronoi.hpp */,
167 | 9BA40B344E0B90C2DF810852 /* Wider.hpp */,
168 | );
169 | name = Sources;
170 | sourceTree = "";
171 | };
172 | 4E7DE452E86C5BB2BA0427B9 /* HoaLibrary-Light */ = {
173 | isa = PBXGroup;
174 | children = (
175 | 3A0BDB552FAB59EE9DCD8F0F /* Sources */,
176 | );
177 | name = "HoaLibrary-Light";
178 | sourceTree = SOURCE_ROOT;
179 | };
180 | BB4B014C10F69532006C3DED /* addons */ = {
181 | isa = PBXGroup;
182 | children = (
183 | D1E2A30752E5944A6D5E1363 /* ofxHoa */,
184 | );
185 | name = addons;
186 | sourceTree = "";
187 | };
188 | BBAB23C913894ECA00AA2426 /* system frameworks */ = {
189 | isa = PBXGroup;
190 | children = (
191 | E7F985F515E0DE99003869B5 /* Accelerate.framework */,
192 | E4C2424410CC5A17004149E2 /* AppKit.framework */,
193 | E4C2424510CC5A17004149E2 /* Cocoa.framework */,
194 | E4C2424610CC5A17004149E2 /* IOKit.framework */,
195 | E45BE9710E8CC7DD009D7055 /* AGL.framework */,
196 | E45BE9720E8CC7DD009D7055 /* ApplicationServices.framework */,
197 | E45BE9730E8CC7DD009D7055 /* AudioToolbox.framework */,
198 | E45BE9750E8CC7DD009D7055 /* CoreAudio.framework */,
199 | E45BE9760E8CC7DD009D7055 /* CoreFoundation.framework */,
200 | E45BE9770E8CC7DD009D7055 /* CoreServices.framework */,
201 | E45BE9790E8CC7DD009D7055 /* OpenGL.framework */,
202 | E45BE97A0E8CC7DD009D7055 /* QuickTime.framework */,
203 | E7E077E415D3B63C0020DFD4 /* CoreVideo.framework */,
204 | E7E077E715D3B6510020DFD4 /* QTKit.framework */,
205 | );
206 | name = "system frameworks";
207 | sourceTree = "";
208 | };
209 | BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */ = {
210 | isa = PBXGroup;
211 | children = (
212 | BBAB23BE13894E4700AA2426 /* GLUT.framework */,
213 | );
214 | name = "3rd party frameworks";
215 | sourceTree = "";
216 | };
217 | C05C1669BA18F088D4BE708A /* src */ = {
218 | isa = PBXGroup;
219 | children = (
220 | DB322A043499860A25CDCA44 /* ofxHoa.h */,
221 | );
222 | name = src;
223 | sourceTree = "";
224 | };
225 | D1E2A30752E5944A6D5E1363 /* ofxHoa */ = {
226 | isa = PBXGroup;
227 | children = (
228 | C05C1669BA18F088D4BE708A /* src */,
229 | EA9BA723784D775C9A86500D /* libs */,
230 | );
231 | name = ofxHoa;
232 | sourceTree = "";
233 | };
234 | E4328144138ABC890047C5CB /* Products */ = {
235 | isa = PBXGroup;
236 | children = (
237 | E4328148138ABC890047C5CB /* openFrameworksDebug.a */,
238 | );
239 | name = Products;
240 | sourceTree = "";
241 | };
242 | E45BE5980E8CC70C009D7055 /* frameworks */ = {
243 | isa = PBXGroup;
244 | children = (
245 | BBAB23CA13894EDB00AA2426 /* 3rd party frameworks */,
246 | BBAB23C913894ECA00AA2426 /* system frameworks */,
247 | );
248 | name = frameworks;
249 | sourceTree = "";
250 | };
251 | E4B69B4A0A3A1720003C02F2 = {
252 | isa = PBXGroup;
253 | children = (
254 | E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */,
255 | E4EB6923138AFD0F00A09F29 /* Project.xcconfig */,
256 | E4B69E1C0A3A1BDC003C02F2 /* src */,
257 | E4EEC9E9138DF44700A80321 /* openFrameworks */,
258 | BB4B014C10F69532006C3DED /* addons */,
259 | E45BE5980E8CC70C009D7055 /* frameworks */,
260 | E4B69B5B0A3A1756003C02F2 /* exampleOneSourceDebug.app */,
261 | );
262 | sourceTree = "";
263 | };
264 | E4B69E1C0A3A1BDC003C02F2 /* src */ = {
265 | isa = PBXGroup;
266 | children = (
267 | E4B69E1D0A3A1BDC003C02F2 /* main.cpp */,
268 | E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */,
269 | E4B69E1F0A3A1BDC003C02F2 /* ofApp.h */,
270 | );
271 | path = src;
272 | sourceTree = SOURCE_ROOT;
273 | };
274 | E4EEC9E9138DF44700A80321 /* openFrameworks */ = {
275 | isa = PBXGroup;
276 | children = (
277 | E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */,
278 | E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */,
279 | );
280 | name = openFrameworks;
281 | sourceTree = "";
282 | };
283 | EA9BA723784D775C9A86500D /* libs */ = {
284 | isa = PBXGroup;
285 | children = (
286 | 0EAE9D221AC5CB4B00CB6594 /* ofxHoaClasses */,
287 | 4E7DE452E86C5BB2BA0427B9 /* HoaLibrary-Light */,
288 | );
289 | name = libs;
290 | sourceTree = "";
291 | };
292 | /* End PBXGroup section */
293 |
294 | /* Begin PBXNativeTarget section */
295 | E4B69B5A0A3A1756003C02F2 /* exampleOneSource */ = {
296 | isa = PBXNativeTarget;
297 | buildConfigurationList = E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "exampleOneSource" */;
298 | buildPhases = (
299 | E4B69B580A3A1756003C02F2 /* Sources */,
300 | E4B69B590A3A1756003C02F2 /* Frameworks */,
301 | E4B6FFFD0C3F9AB9008CF71C /* ShellScript */,
302 | E4C2427710CC5ABF004149E2 /* CopyFiles */,
303 | );
304 | buildRules = (
305 | );
306 | dependencies = (
307 | E4EEB9AC138B136A00A80321 /* PBXTargetDependency */,
308 | );
309 | name = exampleOneSource;
310 | productName = myOFApp;
311 | productReference = E4B69B5B0A3A1756003C02F2 /* exampleOneSourceDebug.app */;
312 | productType = "com.apple.product-type.application";
313 | };
314 | /* End PBXNativeTarget section */
315 |
316 | /* Begin PBXProject section */
317 | E4B69B4C0A3A1720003C02F2 /* Project object */ = {
318 | isa = PBXProject;
319 | attributes = {
320 | LastUpgradeCheck = 0460;
321 | };
322 | buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "exampleOneSource" */;
323 | compatibilityVersion = "Xcode 3.2";
324 | developmentRegion = English;
325 | hasScannedForEncodings = 0;
326 | knownRegions = (
327 | English,
328 | Japanese,
329 | French,
330 | German,
331 | );
332 | mainGroup = E4B69B4A0A3A1720003C02F2;
333 | productRefGroup = E4B69B4A0A3A1720003C02F2;
334 | projectDirPath = "";
335 | projectReferences = (
336 | {
337 | ProductGroup = E4328144138ABC890047C5CB /* Products */;
338 | ProjectRef = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */;
339 | },
340 | );
341 | projectRoot = "";
342 | targets = (
343 | E4B69B5A0A3A1756003C02F2 /* exampleOneSource */,
344 | );
345 | };
346 | /* End PBXProject section */
347 |
348 | /* Begin PBXReferenceProxy section */
349 | E4328148138ABC890047C5CB /* openFrameworksDebug.a */ = {
350 | isa = PBXReferenceProxy;
351 | fileType = archive.ar;
352 | path = openFrameworksDebug.a;
353 | remoteRef = E4328147138ABC890047C5CB /* PBXContainerItemProxy */;
354 | sourceTree = BUILT_PRODUCTS_DIR;
355 | };
356 | /* End PBXReferenceProxy section */
357 |
358 | /* Begin PBXShellScriptBuildPhase section */
359 | E4B6FFFD0C3F9AB9008CF71C /* ShellScript */ = {
360 | isa = PBXShellScriptBuildPhase;
361 | buildActionMask = 2147483647;
362 | files = (
363 | );
364 | inputPaths = (
365 | );
366 | outputPaths = (
367 | );
368 | runOnlyForDeploymentPostprocessing = 0;
369 | shellPath = /bin/sh;
370 | 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";
371 | };
372 | /* End PBXShellScriptBuildPhase section */
373 |
374 | /* Begin PBXSourcesBuildPhase section */
375 | E4B69B580A3A1756003C02F2 /* Sources */ = {
376 | isa = PBXSourcesBuildPhase;
377 | buildActionMask = 2147483647;
378 | files = (
379 | E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */,
380 | E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */,
381 | );
382 | runOnlyForDeploymentPostprocessing = 0;
383 | };
384 | /* End PBXSourcesBuildPhase section */
385 |
386 | /* Begin PBXTargetDependency section */
387 | E4EEB9AC138B136A00A80321 /* PBXTargetDependency */ = {
388 | isa = PBXTargetDependency;
389 | name = openFrameworks;
390 | targetProxy = E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */;
391 | };
392 | /* End PBXTargetDependency section */
393 |
394 | /* Begin XCBuildConfiguration section */
395 | E4B69B4E0A3A1720003C02F2 /* Debug */ = {
396 | isa = XCBuildConfiguration;
397 | baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */;
398 | buildSettings = {
399 | ARCHS = "$(NATIVE_ARCH)";
400 | CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/";
401 | COPY_PHASE_STRIP = NO;
402 | DEAD_CODE_STRIPPING = YES;
403 | GCC_AUTO_VECTORIZATION = YES;
404 | GCC_ENABLE_SSE3_EXTENSIONS = YES;
405 | GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES;
406 | GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
407 | GCC_OPTIMIZATION_LEVEL = 0;
408 | GCC_SYMBOLS_PRIVATE_EXTERN = NO;
409 | GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
410 | GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO;
411 | GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO;
412 | GCC_WARN_UNINITIALIZED_AUTOS = NO;
413 | GCC_WARN_UNUSED_VALUE = NO;
414 | GCC_WARN_UNUSED_VARIABLE = NO;
415 | HEADER_SEARCH_PATHS = (
416 | "$(OF_CORE_HEADERS)",
417 | ../../../addons/ofxHoa/libs,
418 | "../../../addons/ofxHoa/libs/HoaLibrary-Light",
419 | "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources",
420 | ../../../addons/ofxHoa/libs/ofxHoaOsc,
421 | ../../../addons/ofxHoa/src,
422 | );
423 | MACOSX_DEPLOYMENT_TARGET = 10.6;
424 | OTHER_CPLUSPLUSFLAGS = (
425 | "-D__MACOSX_CORE__",
426 | "-lpthread",
427 | "-mtune=native",
428 | );
429 | SDKROOT = macosx;
430 | };
431 | name = Debug;
432 | };
433 | E4B69B4F0A3A1720003C02F2 /* Release */ = {
434 | isa = XCBuildConfiguration;
435 | baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */;
436 | buildSettings = {
437 | ARCHS = "$(NATIVE_ARCH)";
438 | CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/";
439 | COPY_PHASE_STRIP = YES;
440 | DEAD_CODE_STRIPPING = YES;
441 | GCC_AUTO_VECTORIZATION = YES;
442 | GCC_ENABLE_SSE3_EXTENSIONS = YES;
443 | GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES;
444 | GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
445 | GCC_OPTIMIZATION_LEVEL = 3;
446 | GCC_SYMBOLS_PRIVATE_EXTERN = NO;
447 | GCC_UNROLL_LOOPS = YES;
448 | GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
449 | GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO;
450 | GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO;
451 | GCC_WARN_UNINITIALIZED_AUTOS = NO;
452 | GCC_WARN_UNUSED_VALUE = NO;
453 | GCC_WARN_UNUSED_VARIABLE = NO;
454 | HEADER_SEARCH_PATHS = (
455 | "$(OF_CORE_HEADERS)",
456 | ../../../addons/ofxHoa/libs,
457 | "../../../addons/ofxHoa/libs/HoaLibrary-Light",
458 | "../../../addons/ofxHoa/libs/HoaLibrary-Light/Sources",
459 | ../../../addons/ofxHoa/libs/ofxHoaOsc,
460 | ../../../addons/ofxHoa/src,
461 | );
462 | MACOSX_DEPLOYMENT_TARGET = 10.6;
463 | OTHER_CPLUSPLUSFLAGS = (
464 | "-D__MACOSX_CORE__",
465 | "-lpthread",
466 | "-mtune=native",
467 | );
468 | SDKROOT = macosx;
469 | };
470 | name = Release;
471 | };
472 | E4B69B600A3A1757003C02F2 /* Debug */ = {
473 | isa = XCBuildConfiguration;
474 | buildSettings = {
475 | COMBINE_HIDPI_IMAGES = YES;
476 | COPY_PHASE_STRIP = NO;
477 | FRAMEWORK_SEARCH_PATHS = (
478 | "$(inherited)",
479 | "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
480 | );
481 | FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\"";
482 | GCC_DYNAMIC_NO_PIC = NO;
483 | GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
484 | GCC_MODEL_TUNING = NONE;
485 | ICON = "$(ICON_NAME_DEBUG)";
486 | ICON_FILE = "$(ICON_FILE_PATH)$(ICON)";
487 | INFOPLIST_FILE = "openFrameworks-Info.plist";
488 | INSTALL_PATH = "$(HOME)/Applications";
489 | LIBRARY_SEARCH_PATHS = (
490 | "$(inherited)",
491 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
492 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
493 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)",
494 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)",
495 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)",
496 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)",
497 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)",
498 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)",
499 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)",
500 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)",
501 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)",
502 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)",
503 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)",
504 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)",
505 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)",
506 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
507 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)",
508 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)",
509 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)",
510 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)",
511 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)",
512 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)",
513 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)",
514 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)",
515 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)",
516 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)",
517 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)",
518 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)",
519 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)",
520 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)",
521 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)",
522 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)",
523 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)",
524 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)",
525 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)",
526 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)",
527 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)",
528 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)",
529 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)",
530 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)",
531 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)",
532 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)",
533 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)",
534 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)",
535 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)",
536 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)",
537 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)",
538 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)",
539 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)",
540 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)",
541 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)",
542 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)",
543 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)",
544 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)",
545 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)",
546 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)",
547 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)",
548 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)",
549 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)",
550 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)",
551 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_52)",
552 | );
553 | PRODUCT_NAME = "$(TARGET_NAME)Debug";
554 | WRAPPER_EXTENSION = app;
555 | };
556 | name = Debug;
557 | };
558 | E4B69B610A3A1757003C02F2 /* Release */ = {
559 | isa = XCBuildConfiguration;
560 | buildSettings = {
561 | COMBINE_HIDPI_IMAGES = YES;
562 | COPY_PHASE_STRIP = YES;
563 | FRAMEWORK_SEARCH_PATHS = (
564 | "$(inherited)",
565 | "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
566 | );
567 | FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\"";
568 | GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
569 | GCC_MODEL_TUNING = NONE;
570 | ICON = "$(ICON_NAME_RELEASE)";
571 | ICON_FILE = "$(ICON_FILE_PATH)$(ICON)";
572 | INFOPLIST_FILE = "openFrameworks-Info.plist";
573 | INSTALL_PATH = "$(HOME)/Applications";
574 | LIBRARY_SEARCH_PATHS = (
575 | "$(inherited)",
576 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
577 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
578 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)",
579 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)",
580 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)",
581 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)",
582 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)",
583 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)",
584 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)",
585 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)",
586 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)",
587 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)",
588 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)",
589 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)",
590 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)",
591 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
592 | "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
593 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)",
594 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)",
595 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)",
596 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)",
597 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)",
598 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)",
599 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)",
600 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)",
601 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)",
602 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)",
603 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)",
604 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)",
605 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)",
606 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)",
607 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)",
608 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)",
609 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)",
610 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)",
611 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)",
612 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)",
613 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)",
614 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)",
615 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)",
616 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)",
617 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)",
618 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)",
619 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)",
620 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)",
621 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)",
622 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)",
623 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)",
624 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)",
625 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)",
626 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)",
627 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)",
628 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)",
629 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)",
630 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)",
631 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)",
632 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)",
633 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)",
634 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)",
635 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)",
636 | "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)",
637 | );
638 | PRODUCT_NAME = "$(TARGET_NAME)";
639 | WRAPPER_EXTENSION = app;
640 | };
641 | name = Release;
642 | };
643 | /* End XCBuildConfiguration section */
644 |
645 | /* Begin XCConfigurationList section */
646 | E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "exampleOneSource" */ = {
647 | isa = XCConfigurationList;
648 | buildConfigurations = (
649 | E4B69B4E0A3A1720003C02F2 /* Debug */,
650 | E4B69B4F0A3A1720003C02F2 /* Release */,
651 | );
652 | defaultConfigurationIsVisible = 0;
653 | defaultConfigurationName = Release;
654 | };
655 | E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "exampleOneSource" */ = {
656 | isa = XCConfigurationList;
657 | buildConfigurations = (
658 | E4B69B600A3A1757003C02F2 /* Debug */,
659 | E4B69B610A3A1757003C02F2 /* Release */,
660 | );
661 | defaultConfigurationIsVisible = 0;
662 | defaultConfigurationName = Release;
663 | };
664 | /* End XCConfigurationList section */
665 | };
666 | rootObject = E4B69B4C0A3A1720003C02F2 /* Project object */;
667 | }
668 |
--------------------------------------------------------------------------------
/exampleOneSource/exampleOneSource.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/exampleOneSource/exampleOneSource.xcodeproj/project.xcworkspace/xcshareddata/exampleOneSource.xccheckout:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDESourceControlProjectFavoriteDictionaryKey
6 |
7 | IDESourceControlProjectIdentifier
8 | 419C1A59-E633-4974-9034-C6345423A833
9 | IDESourceControlProjectName
10 | exampleOneSource
11 | IDESourceControlProjectOriginsDictionary
12 |
13 | 2FFF2BF69BB0C863F897CA4B5613034382303A01
14 | https://github.com/CICM/ofxHoa
15 | 5B4B1295257546E4C2809C4B80513989C199CD34
16 | https://github.com/CICM/HoaLibrary-Light.git
17 |
18 | IDESourceControlProjectPath
19 | exampleOneSource/exampleOneSource.xcodeproj
20 | IDESourceControlProjectRelativeInstallPathDictionary
21 |
22 | 2FFF2BF69BB0C863F897CA4B5613034382303A01
23 | ../../..
24 | 5B4B1295257546E4C2809C4B80513989C199CD34
25 | ../../..libs/HoaLibrary-Light
26 |
27 | IDESourceControlProjectURL
28 | https://github.com/CICM/ofxHoa
29 | IDESourceControlProjectVersion
30 | 111
31 | IDESourceControlProjectWCCIdentifier
32 | 2FFF2BF69BB0C863F897CA4B5613034382303A01
33 | IDESourceControlProjectWCConfigurations
34 |
35 |
36 | IDESourceControlRepositoryExtensionIdentifierKey
37 | public.vcs.git
38 | IDESourceControlWCCIdentifierKey
39 | 5B4B1295257546E4C2809C4B80513989C199CD34
40 | IDESourceControlWCCName
41 | HoaLibrary-Light
42 |
43 |
44 | IDESourceControlRepositoryExtensionIdentifierKey
45 | public.vcs.git
46 | IDESourceControlWCCIdentifierKey
47 | 2FFF2BF69BB0C863F897CA4B5613034382303A01
48 | IDESourceControlWCCName
49 | ofxHoa
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/exampleOneSource/exampleOneSource.xcodeproj/project.xcworkspace/xcuserdata/claudiocabral.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CICM/ofxHoa/930fbbd20e5db3622951549edd4d743a118528a5/exampleOneSource/exampleOneSource.xcodeproj/project.xcworkspace/xcuserdata/claudiocabral.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/exampleOneSource/exampleOneSource.xcodeproj/xcshareddata/xcschemes/exampleOneSource 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 |
--------------------------------------------------------------------------------
/exampleOneSource/exampleOneSource.xcodeproj/xcshareddata/xcschemes/exampleOneSource 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 |
--------------------------------------------------------------------------------
/exampleOneSource/exampleOneSource.xcodeproj/xcuserdata/claudiocabral.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/exampleOneSource/exampleOneSource.xcodeproj/xcuserdata/claudiocabral.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SuppressBuildableAutocreation
6 |
7 | E4B69B5A0A3A1756003C02F2
8 |
9 | primary
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/exampleOneSource/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 |
--------------------------------------------------------------------------------
/exampleOneSource/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 |
--------------------------------------------------------------------------------
/exampleOneSource/src/ofApp.cpp:
--------------------------------------------------------------------------------
1 | #include "ofApp.h"
2 | #include
3 |
4 | using namespace hoa;
5 |
6 | //--------------------------------------------------------------
7 | void ofApp::setup() {
8 | // uncomment this line to print avaliable audio devices
9 | // ofSoundStreamListDevices();
10 |
11 | // use this function to set the audio device if necessary
12 | // soundStream.setDeviceId(5);
13 |
14 | /*assign audio parameters
15 | number of outputs must be >= order*2+1 for decoder on regular mode*/
16 | nOutputs = 2;
17 | nInputs = 0;
18 | sampleRate = 48000;
19 | bufferSize = 1024;
20 | nBuffers = (nInputs + nOutputs) * 2;
21 |
22 | // initialize input to 0
23 | input = 0;
24 |
25 | // setup test oscilator
26 | myOsc.setup(sampleRate, OF_SQUARE_WAVE);
27 | myOsc.setFrequency(330);
28 | myEnv.setup(sampleRate, OF_SAWTOOTH_WAVE);
29 | myEnv.setFrequency(-2);
30 |
31 | // setup hoa
32 | order = 3;
33 | // create the spherical harmonics buffer, it must have order*2+1 values for
34 | // 2 dimensions
35 | harmonicsBuffer.resize(order * 2 + 1);
36 |
37 | // the encoder calculates the spherical harmonics
38 | hoaEncoder = make_unique::DC>(order);
39 |
40 | /* the decoder translates the harmonics into audio signals for output.
41 | the number of minimum ouput channels for regular mode = order*2+1
42 | smaller values may be used, but the resulting sound won't be as expected
43 | for small differences ( 5 or 6 instead of 7 speakers) irregular mode may
44 | be used */
45 | hoaDecoder = make_unique::Regular>(order, nOutputs);
46 |
47 | // binaural mode set for use with headphones
48 | // hoaDecoder = new Decoder::Binaural(order);
49 |
50 | /* rendering is computed in relation to the speaker's angles
51 | they maybe set with the function hoaDecoder->setPlanewaveAzimuth(const
52 | ulong index,
53 | const float azimuth); */
54 | hoaDecoder->computeRendering(bufferSize);
55 |
56 | /*the optim allows to acount for displacements in ideal speaker position
57 | "basic" works as a bypass.
58 | "inphase" gand "maxre" should be used if the ambsionics circle/sphere is
59 | not perfect */
60 | hoaOptim = make_unique::Basic>(order);
61 | // hoaOptim = new Optim::InPhase(order);
62 |
63 | // ofxHoaCoord used to set source position and void clicks in audio
64 | hoaCoord = make_unique>(1);
65 |
66 | // set the position in screen that'll represent the center of the speaker
67 | // circle and it's radius
68 | circleCenter = ofVec3f(ofGetWidth() / 2, ofGetHeight() / 2);
69 | circleRadius = 100;
70 | hoaCoord->setAmbisonicCenter(circleCenter);
71 | hoaCoord->setAmbisonicRadius(circleRadius);
72 |
73 | // set the ramp for interpolation in milliseconds
74 | hoaCoord->setRamp(50, sampleRate);
75 |
76 | // functions to set the position of the encoded sound source
77 | // far away to avoid clicks in the begining
78 | hoaCoord->setSourcePositionDirect(0, ofVec3f(10000, 10000));
79 |
80 | // make a prettier circle
81 | ofSetCircleResolution(50);
82 |
83 | // initialize soundstream
84 | soundStream.setup(this, nOutputs, nInputs, sampleRate, bufferSize,
85 | nBuffers);
86 | }
87 |
88 | //--------------------------------------------------------------
89 | void ofApp::update() {
90 | // change source position
91 | sourcePosition = ofVec3f(mouseX, mouseY);
92 | hoaCoord->setSourcePosition(0, sourcePosition);
93 | }
94 |
95 | //--------------------------------------------------------------
96 | void ofApp::draw() {
97 | ofBackgroundGradient(ofColor::gold, ofColor::black);
98 | ofSetColor(ofColor::crimson);
99 | ofFill();
100 | ofDrawCircle(sourcePosition, 10);
101 | ofNoFill();
102 | ofDrawCircle(circleCenter, circleRadius);
103 | }
104 |
105 | //--------------------------------------------------------------
106 | void ofApp::keyPressed(int key) {}
107 |
108 | //--------------------------------------------------------------
109 | void ofApp::keyReleased(int key) {}
110 |
111 | //--------------------------------------------------------------
112 | void ofApp::mouseMoved(int x, int y) {}
113 |
114 | //--------------------------------------------------------------
115 | void ofApp::mouseDragged(int x, int y, int button) {}
116 |
117 | //--------------------------------------------------------------
118 | void ofApp::mousePressed(int x, int y, int button) {}
119 |
120 | //--------------------------------------------------------------
121 | void ofApp::mouseReleased(int x, int y, int button) {}
122 |
123 | //--------------------------------------------------------------
124 | void ofApp::windowResized(int w, int h) {}
125 |
126 | //--------------------------------------------------------------
127 | void ofApp::gotMessage(ofMessage msg) {}
128 |
129 | //--------------------------------------------------------------
130 | void ofApp::dragEvent(ofDragInfo dragInfo) {}
131 |
132 | void ofApp::audioOut(float* output, int bufferSize, int nChannels) {
133 | for (int i = 0; i < bufferSize; i++) {
134 | // calculate smoothed values
135 | hoaCoord->process();
136 |
137 | // create audio input. the last multiplication is the volume (should be
138 | // between 0 and 1)
139 | input = myOsc.tick() * (myEnv.tick() + 1) * 0.05;
140 | // set smoothed current radius and azimuth
141 | hoaEncoder->setRadius(hoaCoord->getRadius(0));
142 | hoaEncoder->setAzimuth(hoaCoord->getAzimuth(0));
143 |
144 | // create the spherical harmonics
145 | hoaEncoder->process(&input, &harmonicsBuffer[0]);
146 |
147 | // process the harmonics with optim
148 | hoaOptim->process(&harmonicsBuffer[0], &harmonicsBuffer[0]);
149 |
150 | // decode the harmonics; audio treatements are possible in between these
151 | // steps
152 | hoaDecoder->process(&harmonicsBuffer[0], output + i * nChannels);
153 | }
154 | }
155 |
--------------------------------------------------------------------------------
/exampleOneSource/src/ofApp.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "ofMain.h"
4 | #include "ofxHoa.h"
5 | #include
6 |
7 |
8 | class ofApp : public ofBaseApp{
9 |
10 |
11 | public:
12 | void setup();
13 | void update();
14 | void draw();
15 |
16 | void keyPressed(int key);
17 | void keyReleased(int key);
18 | void mouseMoved(int x, int y );
19 | void mouseDragged(int x, int y, int button);
20 | void mousePressed(int x, int y, int button);
21 | void mouseReleased(int x, int y, int button);
22 | void windowResized(int w, int h);
23 | void dragEvent(ofDragInfo dragInfo);
24 | void gotMessage(ofMessage msg);
25 |
26 | void audioOut(float * output, int bufferSize, int nChannels);
27 |
28 | hoa::ofxHoaOscillator myOsc, myEnv;
29 |
30 | // most hoa classes require arguments for initilization, so we create
31 | // them as pointers
32 | unique_ptr::DC> hoaEncoder;
33 | unique_ptr > hoaDecoder;
34 | unique_ptr > hoaOptim;
35 | unique_ptr > hoaCoord;
36 | ofSoundStream soundStream;
37 |
38 | float input;
39 | vector harmonicsBuffer;
40 |
41 |
42 | int order;
43 | int nInputs, nOutputs;
44 | int bufferSize;
45 | int sampleRate;
46 | int nBuffers;
47 |
48 | float circleRadius;
49 | ofVec3f circleCenter;
50 | ofVec3f sourcePosition;
51 | };
52 |
--------------------------------------------------------------------------------
/libs/ofxHoaClasses/ofxHoaCoord.h:
--------------------------------------------------------------------------------
1 | /*
2 | // Copyright (c) 2012-2015 Eliott Paris, Julien Colafrancesco, Pierre Guillot & Claudio Cabral, CICM, Universite Paris 8.
3 | // For information on usage and redistribution, and for a DISCLAIMER OF ALL
4 | // WARRANTIES, see the file, "LICENSE.txt," in this distribution.
5 | */
6 | #ifndef __OFX_HOA_COORD__
7 | #define __OFX_HOA_COORD__
8 |
9 | #include "../HoaLibrary-light/Sources/Hoa.hpp"
10 | #include "ofMain.h"
11 |
12 | namespace hoa {
13 | template class ofxHoaCoord{
14 |
15 | private:
16 |
17 | PolarLines _line;
18 | ofVec3f _ambisonicCenter;
19 | ofVec3f _lookingAt;
20 | T * _lineBuffer;
21 | int _numberOfSources;
22 |
23 | public:
24 |
25 | ofxHoaCoord(int numberOfSources);
26 | ~ofxHoaCoord();
27 |
28 | inline void setSourcePosition(int index, ofVec3f position);
29 | inline void setSourcePosition(int index, float x, float y, float z);
30 | inline void setSourcePositionDirect(int index, ofVec3f position);
31 | inline void setSourcePositionDirect(int index, float x, float y, float z);
32 | void setAmbisonicCenter(ofVec3f position);
33 | void setAmbisonicRadius(float radius);
34 |
35 | void setRamp(int samples);
36 | void setRamp(int milliseconds, int sampleRate);
37 |
38 | inline T getAzimuth(int index);
39 | inline T getElevation(int index);
40 | inline T getRadius(int index);
41 |
42 | inline void process();
43 |
44 |
45 | };
46 |
47 |
48 | template class ofxHoaCoord{
49 |
50 | private:
51 |
52 | PolarLines _line;
53 | ofVec3f _ambisonicCenter;
54 | float _ambisonicRadius;
55 | T * _lineBuffer;
56 | int _numberOfSources;
57 |
58 | public:
59 |
60 | ofxHoaCoord(int numberOfSources) : _line(numberOfSources){
61 |
62 | _lineBuffer = new T[numberOfSources*2];
63 | memset(_lineBuffer, 0, sizeof(T)*numberOfSources*2);
64 | _numberOfSources = numberOfSources;
65 |
66 | for(int i = 0; i(){
73 |
74 | if (_lineBuffer) {
75 | delete [] _lineBuffer;
76 | }
77 | }
78 |
79 | inline void setSourcePosition(int index, ofVec3f position){
80 |
81 | _line.setRadius(index, Math::radius(position.x - _ambisonicCenter.x,
82 | (ofGetHeight() - position.y) - _ambisonicCenter.y) * 1.0/_ambisonicRadius);
83 |
84 | _line.setAzimuth(index, Math::azimuth(position.x - _ambisonicCenter.x,
85 | (ofGetHeight() - position.y) - _ambisonicCenter.y));
86 | }
87 |
88 | inline void setSourcePosition(int index, float x, float y, float z = 0.){
89 |
90 | _line.setRadius(index, Math::radius(x - _ambisonicCenter.x,
91 | (ofGetHeight() - y) - _ambisonicCenter.y) * 1.0/_ambisonicRadius);
92 |
93 | _line.setAzimuth(index, Math::azimuth(x - _ambisonicCenter.x,
94 | (ofGetHeight() - y) - _ambisonicCenter.y));
95 |
96 | }
97 |
98 | inline void setSourcePositionDirect(int index, ofVec3f position){
99 | _line.setRadiusDirect(index, Math::radius(position.x - _ambisonicCenter.x,
100 | (ofGetHeight() - position.y) - _ambisonicCenter.y) * 1.0/_ambisonicRadius);
101 |
102 | _line.setAzimuthDirect(index, Math::azimuth(position.x - _ambisonicCenter.x,
103 | (ofGetHeight() - position.y) - _ambisonicCenter.y));
104 | }
105 |
106 | inline void setSourcePositionDirect(int index, float x, float y, float z = 0.){
107 |
108 | _line.setRadiusDirect(index, Math::radius(x - _ambisonicCenter.x,
109 | (ofGetHeight() - y) - _ambisonicCenter.y) * 1.0/_ambisonicRadius);
110 |
111 | _line.setAzimuthDirect(index, Math::azimuth(x - _ambisonicCenter.x,
112 | (ofGetHeight() - y) - _ambisonicCenter.y));
113 | }
114 |
115 | void setAmbisonicCenter(ofVec3f position){
116 | _ambisonicCenter = position;
117 | }
118 |
119 | void setAmbisonicRadius(float radius){
120 | _ambisonicRadius = radius;
121 | }
122 |
123 | void setRamp(int samples){
124 | _line.setRamp(samples);
125 | }
126 | void setRamp(int milliseconds, int sampleRate){
127 | _line.setRamp(sampleRate/1000 * milliseconds);
128 | }
129 |
130 | inline T getRadius(int index){
131 | return _lineBuffer[index];
132 | }
133 |
134 | inline T getAzimuth(int index){
135 | return _lineBuffer[index + _numberOfSources];
136 | }
137 |
138 | inline void process(){
139 | _line.process(_lineBuffer);
140 | }
141 |
142 |
143 | };
144 |
145 | template class ofxHoaCoord{
146 |
147 | private:
148 |
149 | PolarLines _line;
150 | ofVec3f _ambisonicCenter;
151 | float _ambisonicRadius;
152 | T * _lineBuffer;
153 | int _numberOfSources;
154 |
155 | public:
156 |
157 | ofxHoaCoord(int numberOfSources) : _line(numberOfSources){
158 |
159 | _lineBuffer = new T[numberOfSources*3];
160 | memset(_lineBuffer, 0, sizeof(T)*numberOfSources*3);
161 | _numberOfSources = numberOfSources;
162 |
163 | for(int i = 0; i(){
171 |
172 | if (_lineBuffer) {
173 | delete [] _lineBuffer;
174 | }
175 | }
176 |
177 | inline void setSourcePosition(int index, ofVec3f position){
178 |
179 | _line.setRadius(index, Math::radius(position.x - _ambisonicCenter.x,
180 | (ofGetHeight() - position.y) - _ambisonicCenter.y,
181 | _ambisonicCenter.z - position.z) * 1.0/_ambisonicRadius);
182 |
183 | _line.setAzimuth(index, Math::azimuth(position.x - _ambisonicCenter.x,
184 | _ambisonicCenter.z - position.z,
185 | (ofGetHeight() - position.y) - _ambisonicCenter.y));
186 |
187 | _line.setElevation(index, Math::elevation(position.x - _ambisonicCenter.x,
188 | _ambisonicCenter.z - position.z,
189 | (ofGetHeight() - position.y) - _ambisonicCenter.y));
190 | }
191 |
192 | inline void setSourcePosition(int index, float x, float y, float z){
193 |
194 | _line.setRadius(index, Math::radius(x - _ambisonicCenter.x,
195 | (ofGetHeight() - y) - _ambisonicCenter.y,
196 | _ambisonicCenter.z - z) * 1.0/_ambisonicRadius);
197 |
198 | _line.setAzimuth(index, Math::azimuth(x - _ambisonicCenter.x,
199 | _ambisonicCenter.z - z,
200 | (ofGetHeight() - y) - _ambisonicCenter.y));
201 |
202 | _line.setElevation(index, Math::elevation(x - _ambisonicCenter.x,
203 | _ambisonicCenter.z - z,
204 | (ofGetHeight() - y) - _ambisonicCenter.y));
205 | }
206 |
207 | inline void setSourcePositionDirect(int index, ofVec3f position){
208 |
209 | _line.setRadiusDirect(index, Math::radius(position.x - _ambisonicCenter.x,
210 | (ofGetHeight() - position.y) - _ambisonicCenter.y,
211 | _ambisonicCenter.z - position.z) * 1.0/_ambisonicRadius);
212 |
213 | _line.setAzimuthDirect(index, Math::azimuth(position.x - _ambisonicCenter.x,
214 | _ambisonicCenter.z - position.z,
215 | (ofGetHeight() - position.y) - _ambisonicCenter.y));
216 |
217 | _line.setElevationDirect(index, Math::elevation(position.x - _ambisonicCenter.x,
218 | _ambisonicCenter.z - position.z,
219 | (ofGetHeight() - position.y) - _ambisonicCenter.y));
220 | }
221 |
222 | inline void setSourcePositionDirect(int index, float x, float y, float z){
223 |
224 | _line.setRadiusDirect(index, Math::radius(x - _ambisonicCenter.x,
225 | (ofGetHeight() - y) - _ambisonicCenter.y,
226 | _ambisonicCenter.z - z) * 1.0/_ambisonicRadius);
227 |
228 | _line.setAzimuthDirect(index, Math::azimuth(x - _ambisonicCenter.x,
229 | _ambisonicCenter.z - z,
230 | (ofGetHeight() - y) - _ambisonicCenter.y));
231 |
232 | _line.setElevationDirect(index, Math::elevation(x - _ambisonicCenter.x,
233 | _ambisonicCenter.z - z,
234 | (ofGetHeight() - y) - _ambisonicCenter.y));
235 | }
236 |
237 | void setAmbisonicCenter(ofVec3f position){
238 | _ambisonicCenter = position;
239 | }
240 |
241 | void setAmbisonicRadius(float radius){
242 | _ambisonicRadius = radius;
243 | }
244 |
245 | void setRamp(int samples){
246 | _line.setRamp(samples);
247 | }
248 | void setRamp(int milliseconds, int sampleRate){
249 | _line.setRamp(sampleRate/1000 * milliseconds);
250 | }
251 |
252 | inline T getRadius(int index){
253 | return _lineBuffer[index];
254 | }
255 |
256 | inline T getAzimuth(int index){
257 | return _lineBuffer[index + _numberOfSources];
258 | }
259 |
260 | inline T getElevation(int index){
261 | return _lineBuffer[index + _numberOfSources*2];
262 | }
263 |
264 | inline void process(){
265 | _line.process(_lineBuffer);
266 | }
267 |
268 | };
269 | }
270 |
271 |
272 | #endif
273 |
274 |
275 |
--------------------------------------------------------------------------------
/libs/ofxHoaClasses/ofxHoaOscillator.h:
--------------------------------------------------------------------------------
1 | //
2 | // ofxHoaOscillator.h
3 | // For information on usage and redistribution, and for a DISCLAIMER OF ALL
4 | // WARRANTIES, see the file, "LICENSE.txt," in this distribution.
5 | // Created by Claudio Cabral on 21/03/15.
6 | //
7 |
8 |
9 | #ifndef __OFX_HOA_OSCILLATOR__
10 | #define __OFX_HOA_OSCILLATOR__
11 |
12 | #define OSC_BUFFER_SIZE 4096
13 |
14 | #include "../HoaLibrary-light/Sources/Hoa.hpp"
15 |
16 |
17 | namespace hoa {
18 |
19 | enum oscType { OF_SINE_WAVE = 0,
20 | OF_TRIANGLE_WAVE = 1,
21 | OF_SAWTOOTH_WAVE = 2,
22 | OF_SQUARE_WAVE = 3,
23 | OF_PHASOR_WAVE = 4 };
24 |
25 | template class ofxHoaOscillator {
26 |
27 | private:
28 |
29 | T _freq;
30 |
31 | T _phase;
32 |
33 | T _step;
34 |
35 | int _index;
36 |
37 | T _buffer[OSC_BUFFER_SIZE];
38 |
39 | void normalize();
40 |
41 | public:
42 |
43 | ofxHoaOscillator();
44 | ~ofxHoaOscillator();
45 |
46 | void setup(int sampleRate, oscType waveform, bool normalize = true);
47 | inline void setFrequency(T frequency);
48 | inline void setPhase(T phase);
49 |
50 | inline T tick();
51 |
52 | };
53 | }
54 |
55 | using namespace hoa;
56 |
57 | template
58 | ofxHoaOscillator::ofxHoaOscillator(){
59 |
60 | _phase = 0;
61 | _index = 0;
62 | _freq = 440;
63 | memset(_buffer, 0, sizeof(T)*OSC_BUFFER_SIZE);
64 | _step = OSC_BUFFER_SIZE/44100.0;
65 |
66 |
67 | }
68 | template
69 | ofxHoaOscillator::~ofxHoaOscillator(){
70 |
71 | }
72 | //SETUP
73 | template
74 | void ofxHoaOscillator::setup(int sampleRate, oscType waveform, bool normalize)
75 | {
76 |
77 | _step = sampleRate;
78 | _step = OSC_BUFFER_SIZE/_step;
79 |
80 | for (int i = 0; i::normalize();
130 | }
131 |
132 | template
133 | T ofxHoaOscillator::tick() {
134 |
135 | _phase += _step * _freq;
136 |
137 | if (_phase>=OSC_BUFFER_SIZE) _phase-=OSC_BUFFER_SIZE;
138 |
139 | if (_phase<0) _phase+=OSC_BUFFER_SIZE;
140 |
141 | _index = floor(_phase);
142 |
143 | if (_index < OSC_BUFFER_SIZE-1) {
144 | return _buffer[_index] * (1.0 - (_phase - _index)) + _buffer[_index+1] * (_phase - _index);
145 | }
146 | else if (_index == OSC_BUFFER_SIZE-1) {
147 | return _buffer[_index] * (1.0 - (_phase - _index)) + _buffer[0] * (_phase - _index);
148 | }
149 |
150 | else { return 0;}
151 | }
152 |
153 | template
154 | void ofxHoaOscillator::setFrequency(T frequency) {
155 |
156 | _freq = frequency;
157 | }
158 |
159 | template
160 | void ofxHoaOscillator::setPhase(T phase) {
161 |
162 | _phase = phase * OSC_BUFFER_SIZE;
163 | }
164 |
165 | template
166 | void ofxHoaOscillator::normalize(){
167 | float factor = 1.0;
168 |
169 | for (int i = 0; ifactor) factor = abs(_buffer[i]);
171 | }
172 | for (int i = 0; iGNU Public License. If you'd like to avoid the restrictions of the GPL and use Hoa Library for a closed-source product, you contact the CICM.
2 |
3 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/ofxaddons_thumbnail.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CICM/ofxHoa/930fbbd20e5db3622951549edd4d743a118528a5/ofxaddons_thumbnail.png
--------------------------------------------------------------------------------
/src/ofxHoa.h:
--------------------------------------------------------------------------------
1 | /*
2 | // Copyright (c) 2012-2015 Eliott Paris, Julien Colafrancesco, Pierre Guillot & Claudio Cabral, CICM, Universite Paris 8.
3 | // For information on usage and redistribution, and for a DISCLAIMER OF ALL
4 | // WARRANTIES, see the file, "LICENSE.txt," in this distribution.
5 | */
6 | #ifndef DEF_OFXHOA_LIBRARY_LIGHT
7 | #define DEF_OFXHOA_LIBRARY_LIGHT
8 |
9 | #include "../libs/HoaLibrary-Light/Sources/Hoa.hpp"
10 |
11 | //FILES EXCLUVE TO THE oF RELEASE
12 | #include "../libs/ofxHoaClasses/ofxHoaOscillator.h"
13 | #include "../libs/ofxHoaClasses/ofxHoaCoord.h"
14 |
15 | #endif
16 |
17 |
18 |
--------------------------------------------------------------------------------