diff options
| author | mick grierson <mickgrierson@gmail.com> | 2016-02-12 17:42:02 +0000 |
|---|---|---|
| committer | mick grierson <mickgrierson@gmail.com> | 2016-02-12 17:42:02 +0000 |
| commit | 5a99ccdffc64d09de692c9ab77dc7a21a8fae552 (patch) | |
| tree | 09169e4a30ad68794db50c24d65224af6a8ba98c | |
| parent | 39ea0d49f49ac6dbdfda8a5a7b40ac8ff3f738e2 (diff) | |
adding OF 0.92 granular eexample
24 files changed, 2718 insertions, 39 deletions
@@ -1,49 +1,61 @@ -//Using BPF equation from http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt - #include "maximilian.h" -float xs[3], ys[3]; -float a0, a1, a2, b0, b1, b2; -float f0 = 400; //THE FREQUENCY -float Q = 1.0; +//Bizarelly, this sounds a little bit like Kraftwerk's 'Metropolis', although it isn't. Funny that. + +maxiOsc sound,bass,timer,mod,lead,lead2,leadmod;//here are the synth bits +maxiEnv envelope, leadenvelope;//some envelopes +maxiFilter filter, filter2;//some filters +maxiDelayline delay;//a delay +convert mtof;//a method for converting midi notes to frequency +double bassout,leadout, delayout;//some variables to hold the data and pass it around +int trigger, trigger2, newnote;//some control variables +int currentCount,lastCount,playHead=0, currentChord=0;//some other control variables +int pitch[8]={57,57,59,60};//the bassline for the arpeggio +int chord[8]={0,0,7,2,5,5,0,0};//the root chords for the arpeggio +float currentPitch,leadPitch;//the final pitch variables + +//here's the lead line trigger array, followed by the pitches +int leadLineTrigger[256]={1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; +int leadLinePitch[15]={69,67,65,64,67,66,64,62,65,64,62,57,55,60,57}; + -maxiOsc mySwitchableOsc; void setup() {//some inits - double w0 = 2*PI*f0/44100; - double alpha = sin(w0)/(2*Q); - //Band-pass reson: -// b0 = alpha; -// b1 = 0; -// b2 = -1 * alpha; -// a0 = 1 + alpha; -// a1 = -2*cos(w0); -// a2 = 1 - alpha; - - //Notch: - b0 = 1; - b1 = -2*cos(w0); - b2 = 1; - a0 = 1 + alpha; - a1 = -2*cos(w0); - a2 = 1 - alpha; - //LPF: -// b0 = (1 - cos(w0))/2; -// b1 = 1 - cos(w0); -// b2 = (1 - cos(w0))/2; -// a0 = 1 + alpha; -// a1 = -2*cos(w0); -// a2 = 1 - alpha; } -void play(double *output) { - xs[0] = mySwitchableOsc.sawn(400); - ys[0] = (b0/a0)*xs[0] + (b1/a0)*xs[1] + (b2/a0)*xs[2] - - (a1/a0)*ys[1] - (a2/a0)*ys[2]; +void play(double *output) {//this is where the magic happens. Very slow magic. - *output = ys[0]; + currentCount=(int)timer.phasor(9);//this sets up a metronome that ticks every so often - ys[2] = ys[1]; ys[1] = ys[0]; - xs[2] = xs[1]; xs[1] = xs[0]; -} + if (lastCount!=currentCount) {//if we have a new timer int this sample, play the sound + trigger=1;//play the arpeggiator line + trigger2=leadLineTrigger[playHead%256];//play the lead line + if (trigger2==1) {//if we are going to play a note + leadPitch=mtof.mtof(leadLinePitch[newnote]);//get the next pitch val + newnote++;//and iterate + if (newnote>14) { + newnote=0;//make sure we don't go over the edge of the array + } + } + currentPitch=mtof.mtof(pitch[(playHead%4)]+chord[currentChord%8]);//write the frequency val into currentPitch + playHead++;//iterate the playhead + if (playHead%32==0) {//wrap every 4 bars + currentChord++;//change the chord + } + //cout << "tick\n";//the clock ticks + lastCount=0;//set lastCount to 0 + } + + bassout=filter2.lores(envelope.adsr(bass.saw(currentPitch*0.5)+sound.pulse(currentPitch*0.5,mod.phasor(1)),1,0.9995, 0.25, 0.9995, 1, trigger),9250,2);//new, simple ADSR. + leadout=filter.lores(leadenvelope.ar(lead2.saw(leadPitch*4)+lead.pulse(leadPitch+(leadmod.sinebuf(1.9)*1.5), 0.6), 0.00005, 0.999975, 50000, trigger2),5900,10);//leadline + + delayout=(leadout+(delay.dl(leadout, 14000, 0.8)*0.5))/2;//add some delay + + if(trigger!=0)trigger=0;//set the trigger to off if you want it to trigger immediately next time. + + + output[0]=(bassout)/2;//sum output + output[1]=(bassout)/2; + +}
\ No newline at end of file diff --git a/maximilianTest.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate b/maximilianTest.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate Binary files differindex 4816e94..43a9a26 100644 --- a/maximilianTest.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate +++ b/maximilianTest.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/openFrameworks/openFrameworksExamples/OSX/granular0_92/Makefile b/openFrameworks/openFrameworksExamples/OSX/granular0_92/Makefile new file mode 100644 index 0000000..8d8e4c0 --- /dev/null +++ b/openFrameworks/openFrameworksExamples/OSX/granular0_92/Makefile @@ -0,0 +1,13 @@ +# Attempt to load a config.make file. +# If none is found, project defaults in config.project.make will be used. +ifneq ($(wildcard config.make),) + include config.make +endif + +# make sure the the OF_ROOT location is defined +ifndef OF_ROOT + OF_ROOT=$(realpath ../../..) +endif + +# call the project makefile! +include $(OF_ROOT)/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk diff --git a/openFrameworks/openFrameworksExamples/OSX/granular0_92/Project.xcconfig b/openFrameworks/openFrameworksExamples/OSX/granular0_92/Project.xcconfig new file mode 100644 index 0000000..e570b15 --- /dev/null +++ b/openFrameworks/openFrameworksExamples/OSX/granular0_92/Project.xcconfig @@ -0,0 +1,17 @@ +//THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT. +//THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED +OF_PATH = ../../.. + +//THIS HAS ALL THE HEADER AND LIBS FOR OF CORE +#include "../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig" + +//ICONS - NEW IN 0072 +ICON_NAME_DEBUG = icon-debug.icns +ICON_NAME_RELEASE = icon.icns +ICON_FILE_PATH = $(OF_PATH)/libs/openFrameworksCompiled/project/osx/ + +//IF YOU WANT AN APP TO HAVE A CUSTOM ICON - PUT THEM IN YOUR DATA FOLDER AND CHANGE ICON_FILE_PATH to: +//ICON_FILE_PATH = bin/data/ + +OTHER_LDFLAGS = $(OF_CORE_LIBS) $(OF_CORE_FRAMEWORKS) +HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS) diff --git a/openFrameworks/openFrameworksExamples/OSX/granular0_92/addons.make b/openFrameworks/openFrameworksExamples/OSX/granular0_92/addons.make new file mode 100644 index 0000000..328952e --- /dev/null +++ b/openFrameworks/openFrameworksExamples/OSX/granular0_92/addons.make @@ -0,0 +1,2 @@ +ofxMaxim +ofxOsc diff --git a/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/.gitkeep b/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/.gitkeep new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/.gitkeep diff --git a/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/24620__anamorphosis__GMB_Kantilan_1.wav b/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/24620__anamorphosis__GMB_Kantilan_1.wav Binary files differnew file mode 100755 index 0000000..81666d1 --- /dev/null +++ b/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/24620__anamorphosis__GMB_Kantilan_1.wav diff --git a/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/2630__Jovica__133_bpm_ATTACK_LOOP_04_electrified_analog_kit_variation_16_mono.wav b/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/2630__Jovica__133_bpm_ATTACK_LOOP_04_electrified_analog_kit_variation_16_mono.wav Binary files differnew file mode 100755 index 0000000..490d9ea --- /dev/null +++ b/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/2630__Jovica__133_bpm_ATTACK_LOOP_04_electrified_analog_kit_variation_16_mono.wav diff --git a/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/26393__brfindla__Calango1berimbau.wav b/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/26393__brfindla__Calango1berimbau.wav Binary files differnew file mode 100755 index 0000000..a9c93a4 --- /dev/null +++ b/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/26393__brfindla__Calango1berimbau.wav diff --git a/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/59210__suonho__abstract_electrofunkbreakbeats_124bpm_mono.wav b/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/59210__suonho__abstract_electrofunkbreakbeats_124bpm_mono.wav Binary files differnew file mode 100755 index 0000000..b23c5f0 --- /dev/null +++ b/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/59210__suonho__abstract_electrofunkbreakbeats_124bpm_mono.wav diff --git a/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/68373__juskiddink__Cello_open_string_bowed.wav b/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/68373__juskiddink__Cello_open_string_bowed.wav Binary files differnew file mode 100755 index 0000000..19064f2 --- /dev/null +++ b/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/68373__juskiddink__Cello_open_string_bowed.wav diff --git a/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/71515__Microscopia__Wilhelm_Bruder_Sohne_Organ.wav b/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/71515__Microscopia__Wilhelm_Bruder_Sohne_Organ.wav Binary files differnew file mode 100755 index 0000000..98860be --- /dev/null +++ b/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/71515__Microscopia__Wilhelm_Bruder_Sohne_Organ.wav diff --git a/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/beat2.wav b/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/beat2.wav Binary files differnew file mode 100755 index 0000000..c71cee6 --- /dev/null +++ b/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/beat2.wav diff --git a/openFrameworks/openFrameworksExamples/OSX/granular0_92/config.make b/openFrameworks/openFrameworksExamples/OSX/granular0_92/config.make new file mode 100644 index 0000000..df10f64 --- /dev/null +++ b/openFrameworks/openFrameworksExamples/OSX/granular0_92/config.make @@ -0,0 +1,142 @@ +################################################################################ +# CONFIGURE PROJECT MAKEFILE (optional) +# This file is where we make project specific configurations. +################################################################################ + +################################################################################ +# OF ROOT +# The location of your root openFrameworks installation +# (default) OF_ROOT = ../../.. +################################################################################ +# OF_ROOT = ../../.. + +################################################################################ +# PROJECT ROOT +# The location of the project - a starting place for searching for files +# (default) PROJECT_ROOT = . (this directory) +# +################################################################################ +# PROJECT_ROOT = . + +################################################################################ +# PROJECT SPECIFIC CHECKS +# This is a project defined section to create internal makefile flags to +# conditionally enable or disable the addition of various features within +# this makefile. For instance, if you want to make changes based on whether +# GTK is installed, one might test that here and create a variable to check. +################################################################################ +# None + +################################################################################ +# PROJECT EXTERNAL SOURCE PATHS +# These are fully qualified paths that are not within the PROJECT_ROOT folder. +# Like source folders in the PROJECT_ROOT, these paths are subject to +# exlclusion via the PROJECT_EXLCUSIONS list. +# +# (default) PROJECT_EXTERNAL_SOURCE_PATHS = (blank) +# +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_EXTERNAL_SOURCE_PATHS = + +################################################################################ +# PROJECT EXCLUSIONS +# These makefiles assume that all folders in your current project directory +# and any listed in the PROJECT_EXTERNAL_SOURCH_PATHS are are valid locations +# to look for source code. The any folders or files that match any of the +# items in the PROJECT_EXCLUSIONS list below will be ignored. +# +# Each item in the PROJECT_EXCLUSIONS list will be treated as a complete +# string unless teh user adds a wildcard (%) operator to match subdirectories. +# GNU make only allows one wildcard for matching. The second wildcard (%) is +# treated literally. +# +# (default) PROJECT_EXCLUSIONS = (blank) +# +# Will automatically exclude the following: +# +# $(PROJECT_ROOT)/bin% +# $(PROJECT_ROOT)/obj% +# $(PROJECT_ROOT)/%.xcodeproj +# +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_EXCLUSIONS = + +################################################################################ +# PROJECT LINKER FLAGS +# These flags will be sent to the linker when compiling the executable. +# +# (default) PROJECT_LDFLAGS = -Wl,-rpath=./libs +# +# Note: Leave a leading space when adding list items with the += operator +################################################################################ + +# Currently, shared libraries that are needed are copied to the +# $(PROJECT_ROOT)/bin/libs directory. The following LDFLAGS tell the linker to +# add a runtime path to search for those shared libraries, since they aren't +# incorporated directly into the final executable application binary. +# TODO: should this be a default setting? +# PROJECT_LDFLAGS=-Wl,-rpath=./libs + +################################################################################ +# PROJECT DEFINES +# Create a space-delimited list of DEFINES. The list will be converted into +# CFLAGS with the "-D" flag later in the makefile. +# +# (default) PROJECT_DEFINES = (blank) +# +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_DEFINES = + +################################################################################ +# PROJECT CFLAGS +# This is a list of fully qualified CFLAGS required when compiling for this +# project. These CFLAGS will be used IN ADDITION TO the PLATFORM_CFLAGS +# defined in your platform specific core configuration files. These flags are +# presented to the compiler BEFORE the PROJECT_OPTIMIZATION_CFLAGS below. +# +# (default) PROJECT_CFLAGS = (blank) +# +# Note: Before adding PROJECT_CFLAGS, note that the PLATFORM_CFLAGS defined in +# your platform specific configuration file will be applied by default and +# further flags here may not be needed. +# +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_CFLAGS = + +################################################################################ +# PROJECT OPTIMIZATION CFLAGS +# These are lists of CFLAGS that are target-specific. While any flags could +# be conditionally added, they are usually limited to optimization flags. +# These flags are added BEFORE the PROJECT_CFLAGS. +# +# PROJECT_OPTIMIZATION_CFLAGS_RELEASE flags are only applied to RELEASE targets. +# +# (default) PROJECT_OPTIMIZATION_CFLAGS_RELEASE = (blank) +# +# PROJECT_OPTIMIZATION_CFLAGS_DEBUG flags are only applied to DEBUG targets. +# +# (default) PROJECT_OPTIMIZATION_CFLAGS_DEBUG = (blank) +# +# Note: Before adding PROJECT_OPTIMIZATION_CFLAGS, please note that the +# PLATFORM_OPTIMIZATION_CFLAGS defined in your platform specific configuration +# file will be applied by default and further optimization flags here may not +# be needed. +# +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_OPTIMIZATION_CFLAGS_RELEASE = +# PROJECT_OPTIMIZATION_CFLAGS_DEBUG = + +################################################################################ +# PROJECT COMPILERS +# Custom compilers can be set for CC and CXX +# (default) PROJECT_CXX = (blank) +# (default) PROJECT_CC = (blank) +# Note: Leave a leading space when adding list items with the += operator +################################################################################ +# PROJECT_CXX = +# PROJECT_CC = diff --git a/openFrameworks/openFrameworksExamples/OSX/granular0_92/granular0_92.xcodeproj/project.pbxproj b/openFrameworks/openFrameworksExamples/OSX/granular0_92/granular0_92.xcodeproj/project.pbxproj new file mode 100644 index 0000000..755dcd2 --- /dev/null +++ b/openFrameworks/openFrameworksExamples/OSX/granular0_92/granular0_92.xcodeproj/project.pbxproj @@ -0,0 +1,1904 @@ +<?xml version="1.0"?> +<plist version="1.0"> + <dict> + <key>archiveVersion</key> + <string>1</string> + <key>classes</key> + <dict /> + <key>objectVersion</key> + <string>46</string> + <key>objects</key> + <dict> + <key>C6937888E126BADC8777423B</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.h</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>OscTypes.h</string> + <key>path</key> + <string>../../../addons/ofxOsc/libs/oscpack/src/osc/OscTypes.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>879A251454401BC0B6E4F238</key> + <dict> + <key>fileRef</key> + <string>D9BFFBBF4CC43DEE890B3C3E</string> + <key>isa</key> + <string>PBXBuildFile</string> + </dict> + <key>D9BFFBBF4CC43DEE890B3C3E</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.cpp.cpp</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>OscTypes.cpp</string> + <key>path</key> + <string>../../../addons/ofxOsc/libs/oscpack/src/osc/OscTypes.cpp</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>20F35AFADAF0068B067E713F</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.h</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>OscReceivedElements.h</string> + <key>path</key> + <string>../../../addons/ofxOsc/libs/oscpack/src/osc/OscReceivedElements.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>0546D1A38E13BD319CC9755B</key> + <dict> + <key>fileRef</key> + <string>9BF3AA0D4FAA89D0F8A0E545</string> + <key>isa</key> + <string>PBXBuildFile</string> + </dict> + <key>9BF3AA0D4FAA89D0F8A0E545</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.cpp.cpp</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>OscReceivedElements.cpp</string> + <key>path</key> + <string>../../../addons/ofxOsc/libs/oscpack/src/osc/OscReceivedElements.cpp</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>4E95FB446A9C9C6F0DE12D75</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.h</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>OscPrintReceivedElements.h</string> + <key>path</key> + <string>../../../addons/ofxOsc/libs/oscpack/src/osc/OscPrintReceivedElements.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>C4782ECC372420ACE0615B74</key> + <dict> + <key>fileRef</key> + <string>BC8881B3C8C0A1C45F042E7A</string> + <key>isa</key> + <string>PBXBuildFile</string> + </dict> + <key>BC8881B3C8C0A1C45F042E7A</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.cpp.cpp</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>OscPrintReceivedElements.cpp</string> + <key>path</key> + <string>../../../addons/ofxOsc/libs/oscpack/src/osc/OscPrintReceivedElements.cpp</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>6B65E6930994CC4B2D2B8B33</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.h</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>OscPacketListener.h</string> + <key>path</key> + <string>../../../addons/ofxOsc/libs/oscpack/src/osc/OscPacketListener.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>029684CF678F70F6D3537A29</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.h</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>OscOutboundPacketStream.h</string> + <key>path</key> + <string>../../../addons/ofxOsc/libs/oscpack/src/osc/OscOutboundPacketStream.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>62545D179C94265CA1389D4A</key> + <dict> + <key>fileRef</key> + <string>63A47AC60FFAFC3BF093EC0F</string> + <key>isa</key> + <string>PBXBuildFile</string> + </dict> + <key>63A47AC60FFAFC3BF093EC0F</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.cpp.cpp</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>OscOutboundPacketStream.cpp</string> + <key>path</key> + <string>../../../addons/ofxOsc/libs/oscpack/src/osc/OscOutboundPacketStream.cpp</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>A2AAA8CA403479E6FCDF920E</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.h</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>OscHostEndianness.h</string> + <key>path</key> + <string>../../../addons/ofxOsc/libs/oscpack/src/osc/OscHostEndianness.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>F4F5B6B8BA2BD52C646ED908</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.h</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>OscException.h</string> + <key>path</key> + <string>../../../addons/ofxOsc/libs/oscpack/src/osc/OscException.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>30CB364908817057B430D528</key> + <dict> + <key>children</key> + <array> + <string>AE335EB4709BFD4671EEAC84</string> + <string>F4F5B6B8BA2BD52C646ED908</string> + <string>A2AAA8CA403479E6FCDF920E</string> + <string>63A47AC60FFAFC3BF093EC0F</string> + <string>029684CF678F70F6D3537A29</string> + <string>6B65E6930994CC4B2D2B8B33</string> + <string>BC8881B3C8C0A1C45F042E7A</string> + <string>4E95FB446A9C9C6F0DE12D75</string> + <string>9BF3AA0D4FAA89D0F8A0E545</string> + <string>20F35AFADAF0068B067E713F</string> + <string>D9BFFBBF4CC43DEE890B3C3E</string> + <string>C6937888E126BADC8777423B</string> + </array> + <key>isa</key> + <string>PBXGroup</string> + <key>name</key> + <string>osc</string> + <key>sourceTree</key> + <string><group></string> + </dict> + <key>AE335EB4709BFD4671EEAC84</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.h</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>MessageMappingOscPacketListener.h</string> + <key>path</key> + <string>../../../addons/ofxOsc/libs/oscpack/src/osc/MessageMappingOscPacketListener.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>2FD4B0329909D3527F003494</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.h</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>UdpSocket.h</string> + <key>path</key> + <string>../../../addons/ofxOsc/libs/oscpack/src/ip/UdpSocket.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>444657A12E59D0ED86981498</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.h</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>TimerListener.h</string> + <key>path</key> + <string>../../../addons/ofxOsc/libs/oscpack/src/ip/TimerListener.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>510CAFE035E576A4E1502D52</key> + <dict> + <key>fileRef</key> + <string>E6DEF695B88BA5FAACEAA937</string> + <key>isa</key> + <string>PBXBuildFile</string> + </dict> + <key>E6DEF695B88BA5FAACEAA937</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.cpp.cpp</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>UdpSocket.cpp</string> + <key>path</key> + <string>../../../addons/ofxOsc/libs/oscpack/src/ip/posix/UdpSocket.cpp</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>641362CA659FAFEE4E81001B</key> + <dict> + <key>children</key> + <array> + <string>3B361208CD4107E479F04E7B</string> + <string>E6DEF695B88BA5FAACEAA937</string> + </array> + <key>isa</key> + <string>PBXGroup</string> + <key>name</key> + <string>posix</string> + <key>sourceTree</key> + <string><group></string> + </dict> + <key>67FE4C7B15C2F0478C8126C2</key> + <dict> + <key>fileRef</key> + <string>3B361208CD4107E479F04E7B</string> + <key>isa</key> + <string>PBXBuildFile</string> + </dict> + <key>3B361208CD4107E479F04E7B</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.cpp.cpp</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>NetworkingUtils.cpp</string> + <key>path</key> + <string>../../../addons/ofxOsc/libs/oscpack/src/ip/posix/NetworkingUtils.cpp</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>23640F57DF6C4BB6BFC5DA4C</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.h</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>PacketListener.h</string> + <key>path</key> + <string>../../../addons/ofxOsc/libs/oscpack/src/ip/PacketListener.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>F7FBC56859535E597B24BB91</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.h</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>NetworkingUtils.h</string> + <key>path</key> + <string>../../../addons/ofxOsc/libs/oscpack/src/ip/NetworkingUtils.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>48974F980F51769171D0B2F5</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.h</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>IpEndpointName.h</string> + <key>path</key> + <string>../../../addons/ofxOsc/libs/oscpack/src/ip/IpEndpointName.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>FF8CDF57858E9B94E3237115</key> + <dict> + <key>children</key> + <array> + <string>ADD194746185E2DA11468377</string> + <string>48974F980F51769171D0B2F5</string> + <string>F7FBC56859535E597B24BB91</string> + <string>23640F57DF6C4BB6BFC5DA4C</string> + <string>641362CA659FAFEE4E81001B</string> + <string>444657A12E59D0ED86981498</string> + <string>2FD4B0329909D3527F003494</string> + </array> + <key>isa</key> + <string>PBXGroup</string> + <key>name</key> + <string>ip</string> + <key>sourceTree</key> + <string><group></string> + </dict> + <key>D27B2221A225CA523C019676</key> + <dict> + <key>children</key> + <array> + <string>FF8CDF57858E9B94E3237115</string> + <string>30CB364908817057B430D528</string> + </array> + <key>isa</key> + <string>PBXGroup</string> + <key>name</key> + <string>src</string> + <key>sourceTree</key> + <string><group></string> + </dict> + <key>86D2677079A3AF4A5A88E29A</key> + <dict> + <key>children</key> + <array> + <string>D27B2221A225CA523C019676</string> + </array> + <key>isa</key> + <string>PBXGroup</string> + <key>name</key> + <string>oscpack</string> + <key>sourceTree</key> + <string><group></string> + </dict> + <key>38871A5825686AE018EC2BF0</key> + <dict> + <key>children</key> + <array> + <string>86D2677079A3AF4A5A88E29A</string> + </array> + <key>isa</key> + <string>PBXGroup</string> + <key>name</key> + <string>libs</string> + <key>sourceTree</key> + <string><group></string> + </dict> + <key>ADE367465D2A8EBAD4C7A8D9</key> + <dict> + <key>fileRef</key> + <string>ADD194746185E2DA11468377</string> + <key>isa</key> + <string>PBXBuildFile</string> + </dict> + <key>ADD194746185E2DA11468377</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.cpp.cpp</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>IpEndpointName.cpp</string> + <key>path</key> + <string>../../../addons/ofxOsc/libs/oscpack/src/ip/IpEndpointName.cpp</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>9F7986DC4EB05E75FCE2C777</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.h</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>ofxOscSender.h</string> + <key>path</key> + <string>../../../addons/ofxOsc/src/ofxOscSender.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>8F5205AEF8861EF234F0651A</key> + <dict> + <key>fileRef</key> + <string>81967292BFC87A0144BD32C6</string> + <key>isa</key> + <string>PBXBuildFile</string> + </dict> + <key>81967292BFC87A0144BD32C6</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.cpp.cpp</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>ofxOscSender.cpp</string> + <key>path</key> + <string>../../../addons/ofxOsc/src/ofxOscSender.cpp</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>8C75AFC8774A62495DD53464</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.h</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>ofxOscReceiver.h</string> + <key>path</key> + <string>../../../addons/ofxOsc/src/ofxOscReceiver.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>640279EE111671BD026CB013</key> + <dict> + <key>fileRef</key> + <string>C2FAC65C491D4231379F3298</string> + <key>isa</key> + <string>PBXBuildFile</string> + </dict> + <key>C2FAC65C491D4231379F3298</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.cpp.cpp</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>ofxOscReceiver.cpp</string> + <key>path</key> + <string>../../../addons/ofxOsc/src/ofxOscReceiver.cpp</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>B31C608870ECEB2490A93736</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.h</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>ofxOscParameterSync.h</string> + <key>path</key> + <string>../../../addons/ofxOsc/src/ofxOscParameterSync.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>4ADB88E2FB52E76A471065DE</key> + <dict> + <key>fileRef</key> + <string>0AED834CE4DEC5260AF302A2</string> + <key>isa</key> + <string>PBXBuildFile</string> + </dict> + <key>0AED834CE4DEC5260AF302A2</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.cpp.cpp</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>ofxOscParameterSync.cpp</string> + <key>path</key> + <string>../../../addons/ofxOsc/src/ofxOscParameterSync.cpp</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>C58862C6D212C8E8A83810F4</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.h</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>ofxOscMessage.h</string> + <key>path</key> + <string>../../../addons/ofxOsc/src/ofxOscMessage.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>5864AD82E20F15536D054EA3</key> + <dict> + <key>fileRef</key> + <string>DF49D76C45D5DB505A234880</string> + <key>isa</key> + <string>PBXBuildFile</string> + </dict> + <key>DF49D76C45D5DB505A234880</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.cpp.cpp</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>ofxOscMessage.cpp</string> + <key>path</key> + <string>../../../addons/ofxOsc/src/ofxOscMessage.cpp</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>8B30E93FD3D3475EED522A0E</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.h</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>ofxOscBundle.h</string> + <key>path</key> + <string>../../../addons/ofxOsc/src/ofxOscBundle.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>72A929D3561B8232A182ABFC</key> + <dict> + <key>fileRef</key> + <string>65EEFA3DA3526E9CDD9C21F9</string> + <key>isa</key> + <string>PBXBuildFile</string> + </dict> + <key>65EEFA3DA3526E9CDD9C21F9</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.cpp.cpp</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>ofxOscBundle.cpp</string> + <key>path</key> + <string>../../../addons/ofxOsc/src/ofxOscBundle.cpp</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>7689F8A0F3D0B7635A8C3104</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.h</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>ofxOscArg.h</string> + <key>path</key> + <string>../../../addons/ofxOsc/src/ofxOscArg.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>BD2F1A9F8D0C05EDB29122D0</key> + <dict> + <key>children</key> + <array> + <string>00D6D32B84B099226431108C</string> + <string>7689F8A0F3D0B7635A8C3104</string> + <string>65EEFA3DA3526E9CDD9C21F9</string> + <string>8B30E93FD3D3475EED522A0E</string> + <string>DF49D76C45D5DB505A234880</string> + <string>C58862C6D212C8E8A83810F4</string> + <string>0AED834CE4DEC5260AF302A2</string> + <string>B31C608870ECEB2490A93736</string> + <string>C2FAC65C491D4231379F3298</string> + <string>8C75AFC8774A62495DD53464</string> + <string>81967292BFC87A0144BD32C6</string> + <string>9F7986DC4EB05E75FCE2C777</string> + </array> + <key>isa</key> + <string>PBXGroup</string> + <key>name</key> + <string>src</string> + <key>sourceTree</key> + <string><group></string> + </dict> + <key>E6053AB7FEC63D5F83825B88</key> + <dict> + <key>children</key> + <array> + <string>BD2F1A9F8D0C05EDB29122D0</string> + <string>38871A5825686AE018EC2BF0</string> + </array> + <key>isa</key> + <string>PBXGroup</string> + <key>name</key> + <string>ofxOsc</string> + <key>sourceTree</key> + <string><group></string> + </dict> + <key>00D6D32B84B099226431108C</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.h</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>ofxOsc.h</string> + <key>path</key> + <string>../../../addons/ofxOsc/src/ofxOsc.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>B2F326FA07783558EF3CDD2A</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.h</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>stb_vorbis.h</string> + <key>path</key> + <string>../../../addons/ofxMaxim/libs/stb_vorbis.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>9514C2D90467055B1447D074</key> + <dict> + <key>fileRef</key> + <string>80CD68E0DDF2C60D2715CC78</string> + <key>isa</key> + <string>PBXBuildFile</string> + </dict> + <key>80CD68E0DDF2C60D2715CC78</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.c</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>stb_vorbis.c</string> + <key>path</key> + <string>../../../addons/ofxMaxim/libs/stb_vorbis.c</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>B34D3539DB6F889A78540F7C</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.h</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>sineTable.h</string> + <key>path</key> + <string>../../../addons/ofxMaxim/libs/sineTable.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>95C3AC11BE0AC7EC464D2A36</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.h</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>maximilian.h</string> + <key>path</key> + <string>../../../addons/ofxMaxim/libs/maximilian.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>22F21CE3B902225374BA1CA2</key> + <dict> + <key>fileRef</key> + <string>87D3A0051CCB2C0F0ECA139E</string> + <key>isa</key> + <string>PBXBuildFile</string> + </dict> + <key>87D3A0051CCB2C0F0ECA139E</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.cpp.cpp</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>maximilian.cpp</string> + <key>path</key> + <string>../../../addons/ofxMaxim/libs/maximilian.cpp</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>D1C864AE2FE539BE7FD1F628</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.h</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>maxiMFCC.h</string> + <key>path</key> + <string>../../../addons/ofxMaxim/libs/maxiMFCC.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>083FB2094A4DE99F5A60397A</key> + <dict> + <key>fileRef</key> + <string>440B2B891BD019685EF360B8</string> + <key>isa</key> + <string>PBXBuildFile</string> + </dict> + <key>440B2B891BD019685EF360B8</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.cpp.cpp</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>maxiMFCC.cpp</string> + <key>path</key> + <string>../../../addons/ofxMaxim/libs/maxiMFCC.cpp</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>4CFB659E40D3D3DC5A3E9478</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.h</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>maxiGrains.h</string> + <key>path</key> + <string>../../../addons/ofxMaxim/libs/maxiGrains.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>AF0580829426DC6BCA135A5C</key> + <dict> + <key>fileRef</key> + <string>9D2FB19B70632A6F86622D94</string> + <key>isa</key> + <string>PBXBuildFile</string> + </dict> + <key>9D2FB19B70632A6F86622D94</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.cpp.cpp</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>maxiGrains.cpp</string> + <key>path</key> + <string>../../../addons/ofxMaxim/libs/maxiGrains.cpp</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>EFA729F2F65D97F65DB52E44</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.h</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>maxiFFT.h</string> + <key>path</key> + <string>../../../addons/ofxMaxim/libs/maxiFFT.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>96084990AF216648B8B98E00</key> + <dict> + <key>fileRef</key> + <string>6A4EE0E35ED739A31CD0153E</string> + <key>isa</key> + <string>PBXBuildFile</string> + </dict> + <key>6A4EE0E35ED739A31CD0153E</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.cpp.cpp</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>maxiFFT.cpp</string> + <key>path</key> + <string>../../../addons/ofxMaxim/libs/maxiFFT.cpp</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>A67372B9CAED43269F8D42D3</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.h</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>maxiBark.h</string> + <key>path</key> + <string>../../../addons/ofxMaxim/libs/maxiBark.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>ABA8875AF0C06690CC0B92B1</key> + <dict> + <key>fileRef</key> + <string>9B9936002B519C1290F25FEC</string> + <key>isa</key> + <string>PBXBuildFile</string> + </dict> + <key>9B9936002B519C1290F25FEC</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.cpp.cpp</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>maxiBark.cpp</string> + <key>path</key> + <string>../../../addons/ofxMaxim/libs/maxiBark.cpp</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>7D2CBAA6529BCE46CA661E02</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.h</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>maxiAtoms.h</string> + <key>path</key> + <string>../../../addons/ofxMaxim/libs/maxiAtoms.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>5C4A4AA5D4784DF23EA43038</key> + <dict> + <key>fileRef</key> + <string>1EFA3ACBB8D16CC0DA1E79C6</string> + <key>isa</key> + <string>PBXBuildFile</string> + </dict> + <key>1EFA3ACBB8D16CC0DA1E79C6</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.cpp.cpp</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>maxiAtoms.cpp</string> + <key>path</key> + <string>../../../addons/ofxMaxim/libs/maxiAtoms.cpp</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>BA5114869056DFF1A50CFA4A</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.h</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>fft.h</string> + <key>path</key> + <string>../../../addons/ofxMaxim/libs/fft.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>4ACC32F17B7623DA048865D1</key> + <dict> + <key>children</key> + <array> + <string>F3C78E7AB53E01022E9374A3</string> + <string>BA5114869056DFF1A50CFA4A</string> + <string>1EFA3ACBB8D16CC0DA1E79C6</string> + <string>7D2CBAA6529BCE46CA661E02</string> + <string>9B9936002B519C1290F25FEC</string> + <string>A67372B9CAED43269F8D42D3</string> + <string>6A4EE0E35ED739A31CD0153E</string> + <string>EFA729F2F65D97F65DB52E44</string> + <string>9D2FB19B70632A6F86622D94</string> + <string>4CFB659E40D3D3DC5A3E9478</string> + <string>440B2B891BD019685EF360B8</string> + <string>D1C864AE2FE539BE7FD1F628</string> + <string>87D3A0051CCB2C0F0ECA139E</string> + <string>95C3AC11BE0AC7EC464D2A36</string> + <string>B34D3539DB6F889A78540F7C</string> + <string>80CD68E0DDF2C60D2715CC78</string> + <string>B2F326FA07783558EF3CDD2A</string> + </array> + <key>isa</key> + <string>PBXGroup</string> + <key>name</key> + <string>libs</string> + <key>sourceTree</key> + <string><group></string> + </dict> + <key>0FCED26D40D46CF89A58E54C</key> + <dict> + <key>fileRef</key> + <string>F3C78E7AB53E01022E9374A3</string> + <key>isa</key> + <string>PBXBuildFile</string> + </dict> + <key>F3C78E7AB53E01022E9374A3</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.cpp.cpp</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>fft.cpp</string> + <key>path</key> + <string>../../../addons/ofxMaxim/libs/fft.cpp</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>8F6BFB59AB6D0A458C2F3C53</key> + <dict> + <key>children</key> + <array> + <string>9312F3864ED05FC3E847FF69</string> + </array> + <key>isa</key> + <string>PBXGroup</string> + <key>name</key> + <string>src</string> + <key>sourceTree</key> + <string><group></string> + </dict> + <key>6234D3BCE87D1C3BA2230F19</key> + <dict> + <key>children</key> + <array> + <string>8F6BFB59AB6D0A458C2F3C53</string> + <string>4ACC32F17B7623DA048865D1</string> + </array> + <key>isa</key> + <string>PBXGroup</string> + <key>name</key> + <string>ofxMaxim</string> + <key>sourceTree</key> + <string><group></string> + </dict> + <key>9312F3864ED05FC3E847FF69</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.c.h</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>ofxMaxim.h</string> + <key>path</key> + <string>../../../addons/ofxMaxim/src/ofxMaxim.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>6948EE371B920CB800B5AC1A</key> + <dict> + <key>children</key> + <array /> + <key>isa</key> + <string>PBXGroup</string> + <key>name</key> + <string>local_addons</string> + <key>sourceTree</key> + <string><group></string> + </dict> + <key>8466F1851C04CA0E00918B1C</key> + <dict> + <key>buildActionMask</key> + <string>12</string> + <key>files</key> + <array /> + <key>inputPaths</key> + <array /> + <key>isa</key> + <string>PBXShellScriptBuildPhase</string> + <key>outputPaths</key> + <array /> + <key>runOnlyForDeploymentPostprocessing</key> + <string>0</string> + <key>shellPath</key> + <string>/bin/sh</string> + <key>shellScript</key> + <string># ---- Code Sign App Package ---- + +# WARNING: You may have to run Clean in Xcode after changing CODE_SIGN_IDENTITY! + +# Verify that $CODE_SIGN_IDENTITY is set +if [ -z "${CODE_SIGN_IDENTITY}" ] ; then +echo "CODE_SIGN_IDENTITY needs to be set for framework code-signing" +exit 0 +fi + +if [ -z "${CODE_SIGN_ENTITLEMENTS}" ] ; then +echo "CODE_SIGN_ENTITLEMENTS needs to be set for framework code-signing!" + +if [ "${CONFIGURATION}" = "Release" ] ; then +exit 1 +else +# Code-signing is optional for non-release builds. +exit 0 +fi +fi + +ITEMS="" + +FRAMEWORKS_DIR="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" +echo "$FRAMEWORKS_DIR" +if [ -d "$FRAMEWORKS_DIR" ] ; then +FRAMEWORKS=$(find "${FRAMEWORKS_DIR}" -depth -type d -name "*.framework" -or -name "*.dylib" -or -name "*.bundle" | sed -e "s/\(.*framework\)/\1\/Versions\/A\//") +RESULT=$? +if [[ $RESULT != 0 ]] ; then +exit 1 +fi + +ITEMS="${FRAMEWORKS}" +fi + +LOGINITEMS_DIR="${TARGET_BUILD_DIR}/${CONTENTS_FOLDER_PATH}/Library/LoginItems/" +if [ -d "$LOGINITEMS_DIR" ] ; then +LOGINITEMS=$(find "${LOGINITEMS_DIR}" -depth -type d -name "*.app") +RESULT=$? +if [[ $RESULT != 0 ]] ; then +exit 1 +fi + +ITEMS="${ITEMS}"$'\n'"${LOGINITEMS}" +fi + +# Prefer the expanded name, if available. +CODE_SIGN_IDENTITY_FOR_ITEMS="${EXPANDED_CODE_SIGN_IDENTITY_NAME}" +if [ "${CODE_SIGN_IDENTITY_FOR_ITEMS}" = "" ] ; then +# Fall back to old behavior. +CODE_SIGN_IDENTITY_FOR_ITEMS="${CODE_SIGN_IDENTITY}" +fi + +echo "Identity:" +echo "${CODE_SIGN_IDENTITY_FOR_ITEMS}" + +echo "Entitlements:" +echo "${CODE_SIGN_ENTITLEMENTS}" + +echo "Found:" +echo "${ITEMS}" + +# Change the Internal Field Separator (IFS) so that spaces in paths will not cause problems below. +SAVED_IFS=$IFS +IFS=$(echo -en "\n\b") + +# Loop through all items. +for ITEM in $ITEMS; +do +echo "Signing '${ITEM}'" +codesign --force --verbose --sign "${CODE_SIGN_IDENTITY_FOR_ITEMS}" --entitlements "${CODE_SIGN_ENTITLEMENTS}" "${ITEM}" +RESULT=$? +if [[ $RESULT != 0 ]] ; then +echo "Failed to sign '${ITEM}'." +IFS=$SAVED_IFS +exit 1 +fi +done + +# Restore $IFS. +IFS=$SAVED_IFS +</string> + </dict> + <key>BB4B014C10F69532006C3DED</key> + <dict> + <key>children</key> + <array> + <string>6234D3BCE87D1C3BA2230F19</string> + <string>E6053AB7FEC63D5F83825B88</string> + </array> + <key>isa</key> + <string>PBXGroup</string> + <key>name</key> + <string>addons</string> + <key>sourceTree</key> + <string><group></string> + </dict> + <key>E4328143138ABC890047C5CB</key> + <dict> + <key>isa</key> + <string>PBXFileReference</string> + <key>lastKnownFileType</key> + <string>wrapper.pb-project</string> + <key>name</key> + <string>openFrameworksLib.xcodeproj</string> + <key>path</key> + <string>../../../libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>E4328144138ABC890047C5CB</key> + <dict> + <key>children</key> + <array> + <string>E4328148138ABC890047C5CB</string> + </array> + <key>isa</key> + <string>PBXGroup</string> + <key>name</key> + <string>Products</string> + <key>sourceTree</key> + <string><group></string> + </dict> + <key>E4328147138ABC890047C5CB</key> + <dict> + <key>containerPortal</key> + <string>E4328143138ABC890047C5CB</string> + <key>isa</key> + <string>PBXContainerItemProxy</string> + <key>proxyType</key> + <string>2</string> + <key>remoteGlobalIDString</key> + <string>E4B27C1510CBEB8E00536013</string> + <key>remoteInfo</key> + <string>openFrameworks</string> + </dict> + <key>E4328148138ABC890047C5CB</key> + <dict> + <key>fileType</key> + <string>archive.ar</string> + <key>isa</key> + <string>PBXReferenceProxy</string> + <key>path</key> + <string>openFrameworksDebug.a</string> + <key>remoteRef</key> + <string>E4328147138ABC890047C5CB</string> + <key>sourceTree</key> + <string>BUILT_PRODUCTS_DIR</string> + </dict> + <key>E4328149138ABC9F0047C5CB</key> + <dict> + <key>fileRef</key> + <string>E4328148138ABC890047C5CB</string> + <key>isa</key> + <string>PBXBuildFile</string> + </dict> + <key>E4B69B4A0A3A1720003C02F2</key> + <dict> + <key>children</key> + <array> + <string>E4B6FCAD0C3E899E008CF71C</string> + <string>E4EB6923138AFD0F00A09F29</string> + <string>E4B69E1C0A3A1BDC003C02F2</string> + <string>E4EEC9E9138DF44700A80321</string> + <string>BB4B014C10F69532006C3DED</string> + <string>6948EE371B920CB800B5AC1A</string> + <string>E4B69B5B0A3A1756003C02F2</string> + </array> + <key>isa</key> + <string>PBXGroup</string> + <key>sourceTree</key> + <string><group></string> + </dict> + <key>E4B69B4C0A3A1720003C02F2</key> + <dict> + <key>attributes</key> + <dict> + <key>LastUpgradeCheck</key> + <string>0600</string> + </dict> + <key>buildConfigurationList</key> + <string>E4B69B4D0A3A1720003C02F2</string> + <key>compatibilityVersion</key> + <string>Xcode 3.2</string> + <key>developmentRegion</key> + <string>English</string> + <key>hasScannedForEncodings</key> + <string>0</string> + <key>isa</key> + <string>PBXProject</string> + <key>knownRegions</key> + <array> + <string>English</string> + <string>Japanese</string> + <string>French</string> + <string>German</string> + </array> + <key>mainGroup</key> + <string>E4B69B4A0A3A1720003C02F2</string> + <key>productRefGroup</key> + <string>E4B69B4A0A3A1720003C02F2</string> + <key>projectDirPath</key> + <string /> + <key>projectReferences</key> + <array> + <dict> + <key>ProductGroup</key> + <string>E4328144138ABC890047C5CB</string> + <key>ProjectRef</key> + <string>E4328143138ABC890047C5CB</string> + </dict> + </array> + <key>projectRoot</key> + <string /> + <key>targets</key> + <array> + <string>E4B69B5A0A3A1756003C02F2</string> + </array> + </dict> + <key>E4B69B4D0A3A1720003C02F2</key> + <dict> + <key>buildConfigurations</key> + <array> + <string>E4B69B4E0A3A1720003C02F2</string> + <string>E4B69B4F0A3A1720003C02F2</string> + </array> + <key>defaultConfigurationIsVisible</key> + <string>0</string> + <key>defaultConfigurationName</key> + <string>Release</string> + <key>isa</key> + <string>XCConfigurationList</string> + </dict> + <key>E4B69B4E0A3A1720003C02F2</key> + <dict> + <key>baseConfigurationReference</key> + <string>E4EB6923138AFD0F00A09F29</string> + <key>buildSettings</key> + <dict> + <key>HEADER_SEARCH_PATHS</key> + <array> + <string>$(OF_CORE_HEADERS)</string> + <string>../../../addons/ofxMaxim/libs</string> + <string>../../../addons/ofxMaxim/src</string> + <string>../../../addons/ofxOsc/libs</string> + <string>../../../addons/ofxOsc/libs/oscpack</string> + <string>../../../addons/ofxOsc/libs/oscpack/src</string> + <string>../../../addons/ofxOsc/libs/oscpack/src/ip</string> + <string>../../../addons/ofxOsc/libs/oscpack/src/ip/posix</string> + <string>../../../addons/ofxOsc/libs/oscpack/src/ip/win32</string> + <string>../../../addons/ofxOsc/libs/oscpack/src/osc</string> + <string>../../../addons/ofxOsc/src</string> + </array> + <key>CONFIGURATION_BUILD_DIR</key> + <string>$(SRCROOT)/bin/</string> + <key>COPY_PHASE_STRIP</key> + <string>NO</string> + <key>DEAD_CODE_STRIPPING</key> + <string>YES</string> + <key>GCC_AUTO_VECTORIZATION</key> + <string>YES</string> + <key>GCC_ENABLE_SSE3_EXTENSIONS</key> + <string>YES</string> + <key>GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS</key> + <string>YES</string> + <key>GCC_INLINES_ARE_PRIVATE_EXTERN</key> + <string>NO</string> + <key>GCC_OPTIMIZATION_LEVEL</key> + <string>0</string> + <key>GCC_SYMBOLS_PRIVATE_EXTERN</key> + <string>NO</string> + <key>GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS</key> + <string>YES</string> + <key>GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO</key> + <string>NO</string> + <key>GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL</key> + <string>NO</string> + <key>GCC_WARN_UNINITIALIZED_AUTOS</key> + <string>NO</string> + <key>GCC_WARN_UNUSED_VALUE</key> + <string>NO</string> + <key>GCC_WARN_UNUSED_VARIABLE</key> + <string>NO</string> + <key>MACOSX_DEPLOYMENT_TARGET</key> + <string>10.8</string> + <key>ONLY_ACTIVE_ARCH</key> + <string>YES</string> + <key>OTHER_CPLUSPLUSFLAGS</key> + <array> + <string>-D__MACOSX_CORE__</string> + <string>-mtune=native</string> + </array> + <key>SDKROOT</key> + <string>macosx</string> + </dict> + <key>isa</key> + <string>XCBuildConfiguration</string> + <key>name</key> + <string>Debug</string> + </dict> + <key>E4B69B4F0A3A1720003C02F2</key> + <dict> + <key>baseConfigurationReference</key> + <string>E4EB6923138AFD0F00A09F29</string> + <key>buildSettings</key> + <dict> + <key>HEADER_SEARCH_PATHS</key> + <array> + <string>$(OF_CORE_HEADERS)</string> + <string>../../../addons/ofxMaxim/libs</string> + <string>../../../addons/ofxMaxim/src</string> + <string>../../../addons/ofxOsc/libs</string> + <string>../../../addons/ofxOsc/libs/oscpack</string> + <string>../../../addons/ofxOsc/libs/oscpack/src</string> + <string>../../../addons/ofxOsc/libs/oscpack/src/ip</string> + <string>../../../addons/ofxOsc/libs/oscpack/src/ip/posix</string> + <string>../../../addons/ofxOsc/libs/oscpack/src/ip/win32</string> + <string>../../../addons/ofxOsc/libs/oscpack/src/osc</string> + <string>../../../addons/ofxOsc/src</string> + </array> + <key>CONFIGURATION_BUILD_DIR</key> + <string>$(SRCROOT)/bin/</string> + <key>COPY_PHASE_STRIP</key> + <string>YES</string> + <key>DEAD_CODE_STRIPPING</key> + <string>YES</string> + <key>GCC_AUTO_VECTORIZATION</key> + <string>YES</string> + <key>GCC_ENABLE_SSE3_EXTENSIONS</key> + <string>YES</string> + <key>GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS</key> + <string>YES</string> + <key>GCC_INLINES_ARE_PRIVATE_EXTERN</key> + <string>NO</string> + <key>GCC_OPTIMIZATION_LEVEL</key> + <string>3</string> + <key>GCC_SYMBOLS_PRIVATE_EXTERN</key> + <string>NO</string> + <key>GCC_UNROLL_LOOPS</key> + <string>YES</string> + <key>GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS</key> + <string>YES</string> + <key>GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO</key> + <string>NO</string> + <key>GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL</key> + <string>NO</string> + <key>GCC_WARN_UNINITIALIZED_AUTOS</key> + <string>NO</string> + <key>GCC_WARN_UNUSED_VALUE</key> + <string>NO</string> + <key>GCC_WARN_UNUSED_VARIABLE</key> + <string>NO</string> + <key>MACOSX_DEPLOYMENT_TARGET</key> + <string>10.8</string> + <key>OTHER_CPLUSPLUSFLAGS</key> + <array> + <string>-D__MACOSX_CORE__</string> + <string>-mtune=native</string> + </array> + <key>SDKROOT</key> + <string>macosx</string> + </dict> + <key>isa</key> + <string>XCBuildConfiguration</string> + <key>name</key> + <string>Release</string> + </dict> + <key>E4B69B580A3A1756003C02F2</key> + <dict> + <key>buildActionMask</key> + <string>2147483647</string> + <key>files</key> + <array> + <string>E4B69E200A3A1BDC003C02F2</string> + <string>E4B69E210A3A1BDC003C02F2</string> + <string>0FCED26D40D46CF89A58E54C</string> + <string>5C4A4AA5D4784DF23EA43038</string> + <string>ABA8875AF0C06690CC0B92B1</string> + <string>96084990AF216648B8B98E00</string> + <string>AF0580829426DC6BCA135A5C</string> + <string>083FB2094A4DE99F5A60397A</string> + <string>22F21CE3B902225374BA1CA2</string> + <string>9514C2D90467055B1447D074</string> + <string>72A929D3561B8232A182ABFC</string> + <string>5864AD82E20F15536D054EA3</string> + <string>4ADB88E2FB52E76A471065DE</string> + <string>640279EE111671BD026CB013</string> + <string>8F5205AEF8861EF234F0651A</string> + <string>ADE367465D2A8EBAD4C7A8D9</string> + <string>67FE4C7B15C2F0478C8126C2</string> + <string>510CAFE035E576A4E1502D52</string> + <string>62545D179C94265CA1389D4A</string> + <string>C4782ECC372420ACE0615B74</string> + <string>0546D1A38E13BD319CC9755B</string> + <string>879A251454401BC0B6E4F238</string> + </array> + <key>isa</key> + <string>PBXSourcesBuildPhase</string> + <key>runOnlyForDeploymentPostprocessing</key> + <string>0</string> + </dict> + <key>E4B69B590A3A1756003C02F2</key> + <dict> + <key>buildActionMask</key> + <string>2147483647</string> + <key>files</key> + <array> + <string>E4328149138ABC9F0047C5CB</string> + </array> + <key>isa</key> + <string>PBXFrameworksBuildPhase</string> + <key>runOnlyForDeploymentPostprocessing</key> + <string>0</string> + </dict> + <key>E4B69B5A0A3A1756003C02F2</key> + <dict> + <key>buildConfigurationList</key> + <string>E4B69B5F0A3A1757003C02F2</string> + <key>buildPhases</key> + <array> + <string>E4B69B580A3A1756003C02F2</string> + <string>E4B69B590A3A1756003C02F2</string> + <string>E4B6FFFD0C3F9AB9008CF71C</string> + <string>E4C2427710CC5ABF004149E2</string> + <string>8466F1851C04CA0E00918B1C</string> + </array> + <key>buildRules</key> + <array /> + <key>dependencies</key> + <array> + <string>E4EEB9AC138B136A00A80321</string> + </array> + <key>isa</key> + <string>PBXNativeTarget</string> + <key>name</key> + <string>granular0_92</string> + <key>productName</key> + <string>myOFApp</string> + <key>productReference</key> + <string>E4B69B5B0A3A1756003C02F2</string> + <key>productType</key> + <string>com.apple.product-type.application</string> + </dict> + <key>E4B69B5B0A3A1756003C02F2</key> + <dict> + <key>explicitFileType</key> + <string>wrapper.application</string> + <key>includeInIndex</key> + <string>0</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>path</key> + <string>granular0_92Debug.app</string> + <key>sourceTree</key> + <string>BUILT_PRODUCTS_DIR</string> + </dict> + <key>E4B69B5F0A3A1757003C02F2</key> + <dict> + <key>buildConfigurations</key> + <array> + <string>E4B69B600A3A1757003C02F2</string> + <string>E4B69B610A3A1757003C02F2</string> + </array> + <key>defaultConfigurationIsVisible</key> + <string>0</string> + <key>defaultConfigurationName</key> + <string>Release</string> + <key>isa</key> + <string>XCConfigurationList</string> + </dict> + <key>E4B69B600A3A1757003C02F2</key> + <dict> + <key>baseConfigurationReference</key> + <string>E4EB6923138AFD0F00A09F29</string> + <key>buildSettings</key> + <dict> + <key>HEADER_SEARCH_PATHS</key> + <array> + <string>$(OF_CORE_HEADERS)</string> + <string>../../../addons/ofxMaxim/libs</string> + <string>../../../addons/ofxMaxim/src</string> + <string>../../../addons/ofxOsc/libs</string> + <string>../../../addons/ofxOsc/libs/oscpack</string> + <string>../../../addons/ofxOsc/libs/oscpack/src</string> + <string>../../../addons/ofxOsc/libs/oscpack/src/ip</string> + <string>../../../addons/ofxOsc/libs/oscpack/src/ip/posix</string> + <string>../../../addons/ofxOsc/libs/oscpack/src/ip/win32</string> + <string>../../../addons/ofxOsc/libs/oscpack/src/osc</string> + <string>../../../addons/ofxOsc/src</string> + </array> + <key>COMBINE_HIDPI_IMAGES</key> + <string>YES</string> + <key>COPY_PHASE_STRIP</key> + <string>NO</string> + <key>FRAMEWORK_SEARCH_PATHS</key> + <array> + <string>$(inherited)</string> + <string>$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)</string> + </array> + <key>FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1</key> + <string>"$(SRCROOT)/../../../libs/glut/lib/osx"</string> + <key>GCC_DYNAMIC_NO_PIC</key> + <string>NO</string> + <key>GCC_GENERATE_DEBUGGING_SYMBOLS</key> + <string>YES</string> + <key>GCC_MODEL_TUNING</key> + <string>NONE</string> + <key>ICON</key> + <string>$(ICON_NAME_DEBUG)</string> + <key>ICON_FILE</key> + <string>$(ICON_FILE_PATH)$(ICON)</string> + <key>INFOPLIST_FILE</key> + <string>openFrameworks-Info.plist</string> + <key>INSTALL_PATH</key> + <string>/Applications</string> + <key>LIBRARY_SEARCH_PATHS</key> + <string>$(inherited)</string> + <key>PRODUCT_NAME</key> + <string>$(TARGET_NAME)Debug</string> + <key>WRAPPER_EXTENSION</key> + <string>app</string> + </dict> + <key>isa</key> + <string>XCBuildConfiguration</string> + <key>name</key> + <string>Debug</string> + </dict> + <key>E4B69B610A3A1757003C02F2</key> + <dict> + <key>baseConfigurationReference</key> + <string>E4EB6923138AFD0F00A09F29</string> + <key>buildSettings</key> + <dict> + <key>HEADER_SEARCH_PATHS</key> + <array> + <string>$(OF_CORE_HEADERS)</string> + <string>../../../addons/ofxMaxim/libs</string> + <string>../../../addons/ofxMaxim/src</string> + <string>../../../addons/ofxOsc/libs</string> + <string>../../../addons/ofxOsc/libs/oscpack</string> + <string>../../../addons/ofxOsc/libs/oscpack/src</string> + <string>../../../addons/ofxOsc/libs/oscpack/src/ip</string> + <string>../../../addons/ofxOsc/libs/oscpack/src/ip/posix</string> + <string>../../../addons/ofxOsc/libs/oscpack/src/ip/win32</string> + <string>../../../addons/ofxOsc/libs/oscpack/src/osc</string> + <string>../../../addons/ofxOsc/src</string> + </array> + <key>COMBINE_HIDPI_IMAGES</key> + <string>YES</string> + <key>COPY_PHASE_STRIP</key> + <string>YES</string> + <key>FRAMEWORK_SEARCH_PATHS</key> + <array> + <string>$(inherited)</string> + <string>$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)</string> + </array> + <key>FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1</key> + <string>"$(SRCROOT)/../../../libs/glut/lib/osx"</string> + <key>GCC_GENERATE_DEBUGGING_SYMBOLS</key> + <string>YES</string> + <key>GCC_MODEL_TUNING</key> + <string>NONE</string> + <key>ICON</key> + <string>$(ICON_NAME_RELEASE)</string> + <key>ICON_FILE</key> + <string>$(ICON_FILE_PATH)$(ICON)</string> + <key>INFOPLIST_FILE</key> + <string>openFrameworks-Info.plist</string> + <key>INSTALL_PATH</key> + <string>/Applications</string> + <key>LIBRARY_SEARCH_PATHS</key> + <string>$(inherited)</string> + <key>PRODUCT_NAME</key> + <string>$(TARGET_NAME)</string> + <key>WRAPPER_EXTENSION</key> + <string>app</string> + <key>baseConfigurationReference</key> + <string>E4EB6923138AFD0F00A09F29</string> + </dict> + <key>isa</key> + <string>XCBuildConfiguration</string> + <key>name</key> + <string>Release</string> + </dict> + <key>E4B69E1C0A3A1BDC003C02F2</key> + <dict> + <key>children</key> + <array> + <string>E4B69E1D0A3A1BDC003C02F2</string> + <string>E4B69E1E0A3A1BDC003C02F2</string> + <string>E4B69E1F0A3A1BDC003C02F2</string> + </array> + <key>isa</key> + <string>PBXGroup</string> + <key>path</key> + <string>src</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>E4B69E1D0A3A1BDC003C02F2</key> + <dict> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>lastKnownFileType</key> + <string>sourcecode.cpp.cpp</string> + <key>name</key> + <string>main.cpp</string> + <key>path</key> + <string>src/main.cpp</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>E4B69E1E0A3A1BDC003C02F2</key> + <dict> + <key>explicitFileType</key> + <string>sourcecode.cpp.cpp</string> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>name</key> + <string>ofApp.cpp</string> + <key>path</key> + <string>src/ofApp.cpp</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>E4B69E1F0A3A1BDC003C02F2</key> + <dict> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>lastKnownFileType</key> + <string>sourcecode.c.h</string> + <key>name</key> + <string>ofApp.h</string> + <key>path</key> + <string>src/ofApp.h</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>E4B69E200A3A1BDC003C02F2</key> + <dict> + <key>fileRef</key> + <string>E4B69E1D0A3A1BDC003C02F2</string> + <key>isa</key> + <string>PBXBuildFile</string> + </dict> + <key>E4B69E210A3A1BDC003C02F2</key> + <dict> + <key>fileRef</key> + <string>E4B69E1E0A3A1BDC003C02F2</string> + <key>isa</key> + <string>PBXBuildFile</string> + </dict> + <key>E4B6FCAD0C3E899E008CF71C</key> + <dict> + <key>fileEncoding</key> + <string>30</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>lastKnownFileType</key> + <string>text.plist.xml</string> + <key>path</key> + <string>openFrameworks-Info.plist</string> + <key>sourceTree</key> + <string><group></string> + </dict> + <key>E4B6FFFD0C3F9AB9008CF71C</key> + <dict> + <key>buildActionMask</key> + <string>2147483647</string> + <key>files</key> + <array /> + <key>inputPaths</key> + <array /> + <key>isa</key> + <string>PBXShellScriptBuildPhase</string> + <key>outputPaths</key> + <array /> + <key>runOnlyForDeploymentPostprocessing</key> + <string>0</string> + <key>shellPath</key> + <string>/bin/sh</string> + <key>shellScript</key> + <string>mkdir -p "$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/" +# Copy default icon file into App/Resources +rsync -aved "$ICON_FILE" "$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/" +# Copy bin/data into App/Resources +rsync -avz --exclude='.DS_Store' "${SRCROOT}/bin/data/" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/data/" +# Copy libfmod and change install directory for fmod to run +rsync -aved ../../../libs/fmodex/lib/osx/libfmodex.dylib "$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Frameworks/"; +install_name_tool -change @executable_path/libfmodex.dylib @executable_path/../Frameworks/libfmodex.dylib "$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME"; +# Copy GLUT framework (must remove for AppStore submissions) +rsync -aved ../../../libs/glut/lib/osx/GLUT.framework "$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Frameworks/" +</string> + </dict> + <key>E4C2427710CC5ABF004149E2</key> + <dict> + <key>buildActionMask</key> + <string>2147483647</string> + <key>dstPath</key> + <string /> + <key>dstSubfolderSpec</key> + <string>10</string> + <key>files</key> + <array /> + <key>isa</key> + <string>PBXCopyFilesBuildPhase</string> + <key>runOnlyForDeploymentPostprocessing</key> + <string>0</string> + </dict> + <key>E4EB691F138AFCF100A09F29</key> + <dict> + <key>fileEncoding</key> + <string>4</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>lastKnownFileType</key> + <string>text.xcconfig</string> + <key>name</key> + <string>CoreOF.xcconfig</string> + <key>path</key> + <string>../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig</string> + <key>sourceTree</key> + <string>SOURCE_ROOT</string> + </dict> + <key>E4EB6923138AFD0F00A09F29</key> + <dict> + <key>fileEncoding</key> + <string>4</string> + <key>isa</key> + <string>PBXFileReference</string> + <key>lastKnownFileType</key> + <string>text.xcconfig</string> + <key>path</key> + <string>Project.xcconfig</string> + <key>sourceTree</key> + <string><group></string> + </dict> + <key>E4EEB9AB138B136A00A80321</key> + <dict> + <key>containerPortal</key> + <string>E4328143138ABC890047C5CB</string> + <key>isa</key> + <string>PBXContainerItemProxy</string> + <key>proxyType</key> + <string>1</string> + <key>remoteGlobalIDString</key> + <string>E4B27C1410CBEB8E00536013</string> + <key>remoteInfo</key> + <string>openFrameworks</string> + </dict> + <key>E4EEB9AC138B136A00A80321</key> + <dict> + <key>isa</key> + <string>PBXTargetDependency</string> + <key>name</key> + <string>openFrameworks</string> + <key>targetProxy</key> + <string>E4EEB9AB138B136A00A80321</string> + </dict> + <key>E4EEC9E9138DF44700A80321</key> + <dict> + <key>children</key> + <array> + <string>E4EB691F138AFCF100A09F29</string> + <string>E4328143138ABC890047C5CB</string> + </array> + <key>isa</key> + <string>PBXGroup</string> + <key>name</key> + <string>openFrameworks</string> + <key>sourceTree</key> + <string><group></string> + </dict> + </dict> + <key>rootObject</key> + <string>E4B69B4C0A3A1720003C02F2</string> + </dict> +</plist> diff --git a/openFrameworks/openFrameworksExamples/OSX/granular0_92/granular0_92.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/openFrameworks/openFrameworksExamples/OSX/granular0_92/granular0_92.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/openFrameworks/openFrameworksExamples/OSX/granular0_92/granular0_92.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Workspace + version = "1.0"> + <FileRef + location = "self:"> + </FileRef> +</Workspace> diff --git a/openFrameworks/openFrameworksExamples/OSX/granular0_92/granular0_92.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate b/openFrameworks/openFrameworksExamples/OSX/granular0_92/granular0_92.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate Binary files differnew file mode 100644 index 0000000..023c379 --- /dev/null +++ b/openFrameworks/openFrameworksExamples/OSX/granular0_92/granular0_92.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/openFrameworks/openFrameworksExamples/OSX/granular0_92/granular0_92.xcodeproj/xcshareddata/xcschemes/granular0_92 Debug.xcscheme b/openFrameworks/openFrameworksExamples/OSX/granular0_92/granular0_92.xcodeproj/xcshareddata/xcschemes/granular0_92 Debug.xcscheme new file mode 100644 index 0000000..6f7c747 --- /dev/null +++ b/openFrameworks/openFrameworksExamples/OSX/granular0_92/granular0_92.xcodeproj/xcshareddata/xcschemes/granular0_92 Debug.xcscheme @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Scheme + LastUpgradeVersion = "0600" + version = "1.3"> + <BuildAction + parallelizeBuildables = "YES" + buildImplicitDependencies = "YES"> + <BuildActionEntries> + <BuildActionEntry + buildForTesting = "YES" + buildForRunning = "YES" + buildForProfiling = "YES" + buildForArchiving = "YES" + buildForAnalyzing = "YES"> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "E4B69B5A0A3A1756003C02F2" + BuildableName = "granular0_92.app" + BlueprintName = "granular0_92" + ReferencedContainer = "container:granular0_92.xcodeproj"> + </BuildableReference> + </BuildActionEntry> + </BuildActionEntries> + </BuildAction> + <TestAction + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + shouldUseLaunchSchemeArgsEnv = "YES" + buildConfiguration = "Debug"> + <Testables> + </Testables> + <MacroExpansion> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "E4B69B5A0A3A1756003C02F2" + BuildableName = "granular0_92.app" + BlueprintName = "granular0_92" + ReferencedContainer = "container:granular0_92.xcodeproj"> + </BuildableReference> + </MacroExpansion> + </TestAction> + <LaunchAction + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + launchStyle = "0" + useCustomWorkingDirectory = "NO" + buildConfiguration = "Debug" + ignoresPersistentStateOnLaunch = "NO" + debugDocumentVersioning = "YES" + allowLocationSimulation = "YES"> + <BuildableProductRunnable> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "E4B69B5A0A3A1756003C02F2" + BuildableName = "granular0_92.app" + BlueprintName = "granular0_92" + ReferencedContainer = "container:granular0_92.xcodeproj"> + </BuildableReference> + </BuildableProductRunnable> + <AdditionalOptions> + </AdditionalOptions> + </LaunchAction> + <ProfileAction + shouldUseLaunchSchemeArgsEnv = "YES" + savedToolIdentifier = "" + useCustomWorkingDirectory = "NO" + buildConfiguration = "Debug" + debugDocumentVersioning = "YES"> + <BuildableProductRunnable> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "E4B69B5A0A3A1756003C02F2" + BuildableName = "granular0_92.app" + BlueprintName = "granular0_92" + ReferencedContainer = "container:granular0_92.xcodeproj"> + </BuildableReference> + </BuildableProductRunnable> + </ProfileAction> + <AnalyzeAction + buildConfiguration = "Debug"> + </AnalyzeAction> + <ArchiveAction + buildConfiguration = "Debug" + revealArchiveInOrganizer = "YES"> + </ArchiveAction> +</Scheme> diff --git a/openFrameworks/openFrameworksExamples/OSX/granular0_92/granular0_92.xcodeproj/xcshareddata/xcschemes/granular0_92 Release.xcscheme b/openFrameworks/openFrameworksExamples/OSX/granular0_92/granular0_92.xcodeproj/xcshareddata/xcschemes/granular0_92 Release.xcscheme new file mode 100644 index 0000000..19fd904 --- /dev/null +++ b/openFrameworks/openFrameworksExamples/OSX/granular0_92/granular0_92.xcodeproj/xcshareddata/xcschemes/granular0_92 Release.xcscheme @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Scheme + LastUpgradeVersion = "0600" + version = "1.3"> + <BuildAction + parallelizeBuildables = "YES" + buildImplicitDependencies = "YES"> + <BuildActionEntries> + <BuildActionEntry + buildForTesting = "YES" + buildForRunning = "YES" + buildForProfiling = "YES" + buildForArchiving = "YES" + buildForAnalyzing = "YES"> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "E4B69B5A0A3A1756003C02F2" + BuildableName = "granular0_92.app" + BlueprintName = "granular0_92" + ReferencedContainer = "container:granular0_92.xcodeproj"> + </BuildableReference> + </BuildActionEntry> + </BuildActionEntries> + </BuildAction> + <TestAction + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + shouldUseLaunchSchemeArgsEnv = "YES" + buildConfiguration = "Release"> + <Testables> + </Testables> + <MacroExpansion> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "E4B69B5A0A3A1756003C02F2" + BuildableName = "granular0_92.app" + BlueprintName = "granular0_92" + ReferencedContainer = "container:granular0_92.xcodeproj"> + </BuildableReference> + </MacroExpansion> + </TestAction> + <LaunchAction + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + launchStyle = "0" + useCustomWorkingDirectory = "NO" + buildConfiguration = "Release" + ignoresPersistentStateOnLaunch = "NO" + debugDocumentVersioning = "YES" + allowLocationSimulation = "YES"> + <BuildableProductRunnable> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "E4B69B5A0A3A1756003C02F2" + BuildableName = "granular0_92.app" + BlueprintName = "granular0_92" + ReferencedContainer = "container:granular0_92.xcodeproj"> + </BuildableReference> + </BuildableProductRunnable> + <AdditionalOptions> + </AdditionalOptions> + </LaunchAction> + <ProfileAction + shouldUseLaunchSchemeArgsEnv = "YES" + savedToolIdentifier = "" + useCustomWorkingDirectory = "NO" + buildConfiguration = "Release" + debugDocumentVersioning = "YES"> + <BuildableProductRunnable> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "E4B69B5A0A3A1756003C02F2" + BuildableName = "granular0_92.app" + BlueprintName = "granular0_92" + ReferencedContainer = "container:granular0_92.xcodeproj"> + </BuildableReference> + </BuildableProductRunnable> + </ProfileAction> + <AnalyzeAction + buildConfiguration = "Release"> + </AnalyzeAction> + <ArchiveAction + buildConfiguration = "Release" + revealArchiveInOrganizer = "YES"> + </ArchiveAction> +</Scheme> diff --git a/openFrameworks/openFrameworksExamples/OSX/granular0_92/granular0_92.xcodeproj/xcuserdata/michaelgrierson.xcuserdatad/xcschemes/xcschememanagement.plist b/openFrameworks/openFrameworksExamples/OSX/granular0_92/granular0_92.xcodeproj/xcuserdata/michaelgrierson.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..f1ba9be --- /dev/null +++ b/openFrameworks/openFrameworksExamples/OSX/granular0_92/granular0_92.xcodeproj/xcuserdata/michaelgrierson.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>SchemeUserState</key> + <dict> + <key>granular0_92 Debug.xcscheme_^#shared#^_</key> + <dict> + <key>orderHint</key> + <integer>0</integer> + </dict> + <key>granular0_92 Release.xcscheme_^#shared#^_</key> + <dict> + <key>orderHint</key> + <integer>1</integer> + </dict> + </dict> + <key>SuppressBuildableAutocreation</key> + <dict> + <key>E4B69B5A0A3A1756003C02F2</key> + <dict> + <key>primary</key> + <true/> + </dict> + </dict> +</dict> +</plist> diff --git a/openFrameworks/openFrameworksExamples/OSX/granular0_92/openFrameworks-Info.plist b/openFrameworks/openFrameworksExamples/OSX/granular0_92/openFrameworks-Info.plist new file mode 100644 index 0000000..8d64d2b --- /dev/null +++ b/openFrameworks/openFrameworksExamples/OSX/granular0_92/openFrameworks-Info.plist @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>English</string> + <key>CFBundleExecutable</key> + <string>${EXECUTABLE_NAME}</string> + <key>CFBundleIdentifier</key> + <string>cc.openFrameworks.ofapp</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundlePackageType</key> + <string>APPL</string> + <key>CFBundleSignature</key> + <string>????</string> + <key>CFBundleVersion</key> + <string>1.0</string> + <key>CFBundleIconFile</key> + <string>${ICON}</string> +</dict> +</plist> diff --git a/openFrameworks/openFrameworksExamples/OSX/granular0_92/src/main.cpp b/openFrameworks/openFrameworksExamples/OSX/granular0_92/src/main.cpp new file mode 100644 index 0000000..e57370b --- /dev/null +++ b/openFrameworks/openFrameworksExamples/OSX/granular0_92/src/main.cpp @@ -0,0 +1,13 @@ +#include "ofMain.h" +#include "ofApp.h" + +//======================================================================== +int main( ){ + ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context + + // this kicks off the running of my app + // can be OF_WINDOW or OF_FULLSCREEN + // pass in width and height too: + ofRunApp(new ofApp()); + +} diff --git a/openFrameworks/openFrameworksExamples/OSX/granular0_92/src/ofApp.cpp b/openFrameworks/openFrameworksExamples/OSX/granular0_92/src/ofApp.cpp new file mode 100644 index 0000000..7e9bfdf --- /dev/null +++ b/openFrameworks/openFrameworksExamples/OSX/granular0_92/src/ofApp.cpp @@ -0,0 +1,269 @@ +/* This is an example of how to integrate maximilain into openFrameworks, + including using audio received for input and audio requested for output. + + + You can copy and paste this and use it as a starting example. + + */ + +#include "ofApp.h" +//#include "maximilian.h"/* include the lib */ +#include "time.h" + + +//-------------------------------------------------------------- +void ofApp::setup(){ + + /* This is stuff you always need.*/ + + sender.setup(HOST, SENDPORT); + receiver.setup(RECEIVEPORT); + + + //samples from http://freesound.org + samp.load(ofToDataPath("2630__Jovica__133_bpm_ATTACK_LOOP_04_electrified_analog_kit_variation_16_mono.wav")); + samp2.load(ofToDataPath("24620__anamorphosis__GMB_Kantilan_1.wav")); + samp3.load(ofToDataPath("26393__brfindla__Calango1berimbau.wav")); + samp4.load(ofToDataPath("68373__juskiddink__Cello_open_string_bowed.wav")); + samp5.load(ofToDataPath("71515__Microscopia__Wilhelm_Bruder_Sohne_Organ.wav")); + // samp5.load(ofToDataPath("sine1sec.wav")); + + + ofEnableAlphaBlending(); + ofSetupScreen(); + ofBackground(0, 0, 0); + ofSetFrameRate(60); + + sampleRate = 44100; /* Sampling Rate */ + bufferSize = 512; /* Buffer Size. you have to fill this buffer with sound using the for loop in the audioOut method */ + + + + ts = new maxiTimestretch<grainPlayerWin>(&samp); + ts2 = new maxiTimestretch<grainPlayerWin>(&samp2); + ts3 = new maxiTimestretch<grainPlayerWin>(&samp3); + ts4 = new maxiTimestretch<grainPlayerWin>(&samp4); + ts5 = new maxiTimestretch<grainPlayerWin>(&samp5); + stretches.push_back(ts); + stretches.push_back(ts2); + stretches.push_back(ts3); + stretches.push_back(ts4); + stretches.push_back(ts5); + speed = 1; + grainLength = 0.05; + current=0; + + fft.setup(1024, 512, 256); + oct.setup(44100, 1024, 10); + + int current = 0; + ofxMaxiSettings::setup(sampleRate, 2, initialBufferSize); + + ofSetVerticalSync(true); + ofEnableAlphaBlending(); + ofEnableSmoothing(); + + /* Anything that you would normally find/put in maximilian's setup() method needs to go here. For example, Sample loading. + + */ + + ofSetSphereResolution(5); + + isTraining=true; + + ofBackground(0,0,0); + + ofSoundStreamSetup(2,2,this, sampleRate, bufferSize, 4); /* this has to happen at the end of setup - it switches on the DAC */ + + +} + +//-------------------------------------------------------------- +void ofApp::update(){ + + //WEKINATOR + if (!isTraining) { + + + while(receiver.hasWaitingMessages()){ + // get the next message + ofxOscMessage m; + receiver.getNextMessage(&m); + + // check for mouse moved message + if(m.getAddress() == "/wek/outputs"){ + + cout << m.getArgAsFloat(0); + speed = ((double ) m.getArgAsFloat(0) * 4.0) - 2.0; + grainLength = (m.getArgAsFloat(1) * 0.1) + 0.001; + pos = ((double) m.getArgAsFloat(0) * 2.0); + + } + } + + } + + +} + +//-------------------------------------------------------------- +void ofApp::draw(){ + + /* You can use any of the data from audio received and audiorequested to draw stuff here. + Importantly, most people just use the input and output arrays defined above. + Clever people don't do this. This bit of code shows that by default, each signal is going to flip + between -1 and 1. You need to account for this somehow. Get the absolute value for example. + */ + + ofSetColor(160,32,240, 150); + ofDrawBitmapString(":: ofxMaxim Granular Timestretching Example ::", 10,20); + ofDrawBitmapString("Move the mouse left to right to change playback speed and direction.", 10,40); + ofDrawBitmapString("Move the mouse up and down to change the grain length.", 10,60); + ofDrawBitmapString("Click to cycle through samples.", 10,80); + + stringstream s; + s << "Speed: " << speed; + ofDrawBitmapString(s.str(), 10,750); + s.str(""); + s << "Grain length: " << round(grainLength*1000.0) << " ms"; + ofDrawBitmapString(s.str(), 180,750); + + ofNoFill(); + for(int i=0; i < oct.nAverages; i++) { + ofSetColor(200 + ((int)(ofGetFrameNum() * 0.8) % 255), + 100 + ((int)(ofGetFrameNum() * 1.4) % 255), + ofGetFrameNum() % 255, + oct.averages[i] / 20.0 * 255.0); + // ofCircle(ofGetWidth() / 2, ofGetHeight()/2, i * 5); + glPushMatrix(); + glTranslatef(ofGetWidth()/2,ofGetHeight()/2, 0); + glRotatef(0.01 * ofGetFrameNum() * speed * i, 0.01 * ofGetFrameNum() * speed * i,0.01 * ofGetFrameNum() * speed * i, 0); + // glutWireSphere(i * 5, 2 + (10 - (fabs(speed) * 10)), 2 + (fabs(speed) * 10)); + ofDrawSphere(0, 0, i * 5); + glPopMatrix(); + } + + + + +} + +//-------------------------------------------------------------- +void ofApp::audioOut(float * output, int bufferSize, int nChannels) { + + + for (int i = 0; i < bufferSize; i++){ + + /* Stick your maximilian 'play()' code in here ! Declare your objects in testApp.h. + + For information on how maximilian works, take a look at the example code at + + http://www.maximilian.strangeloop.co.uk + + under 'Tutorials'. + + */ + + + // wave = stretches[current]->play(speed, grainLength, 5, 0); + wave = stretches[current]->play(speed, 0.1, 4, 0); + // wave = stretches[current]->play2(pos, 0.1, 4); + if (fft.process(wave)) { + oct.calculate(fft.magnitudes); + } + + //play result + mymix.stereo(wave, outputs, 0.5); + output[i*nChannels ] = outputs[0]; /* You may end up with lots of outputs. add them here */ + output[i*nChannels + 1] = outputs[1]; + + + + /* You may end up with lots of outputs. add them here */ + + + } + +} + +//-------------------------------------------------------------- +void ofApp::audioIn(float * input, int bufferSize, int nChannels){ + + // samples are "interleaved" + for(int i = 0; i < bufferSize; i++){ + /* you can also grab the data out of the arrays*/ + + } + +} + + +//-------------------------------------------------------------- +void ofApp::keyPressed(int key){ + + isTraining=!isTraining; + + cout << isTraining; + +} + +//-------------------------------------------------------------- +void ofApp::keyReleased(int key){ + +} + +//-------------------------------------------------------------- +void ofApp::mouseMoved(int x, int y){ + + float x1 = myFilter.lopass(x,0.25); + float y1 = myFilter2.lopass(y,0.25); + + if (isTraining) { + + speed = ((double ) x1 / ofGetWidth() * 4.0) - 2.0; + grainLength = ((double) y1 / ofGetHeight() * 0.1) + 0.001; + pos = ((double) x1 / ofGetWidth() * 2.0); + // cout << pos << endl; + + ofxOscMessage m; + m.setAddress("/wekinator/control/outputs"); + m.addFloatArg((float)x/ofGetWidth()); + m.addFloatArg((float)y/ofGetHeight()); + m.addFloatArg((float)current/stretches.size()-1); + sender.sendMessage(m); + cout << "messageSent" << "\n"; + } + + +} + +//-------------------------------------------------------------- +void ofApp::mouseDragged(int x, int y, int button){ + +} + +//-------------------------------------------------------------- +void ofApp::mousePressed(int x, int y, int button){ + if (++current > stretches.size()-1) current = 0; + +} + +//-------------------------------------------------------------- +void ofApp::mouseReleased(int x, int y, int button){ + +} + +//-------------------------------------------------------------- +void ofApp::windowResized(int w, int h){ + +} + +//-------------------------------------------------------------- +void ofApp::gotMessage(ofMessage msg){ + +} + +//-------------------------------------------------------------- +void ofApp::dragEvent(ofDragInfo dragInfo){ + +} diff --git a/openFrameworks/openFrameworksExamples/OSX/granular0_92/src/ofApp.h b/openFrameworks/openFrameworksExamples/OSX/granular0_92/src/ofApp.h new file mode 100644 index 0000000..3f8e034 --- /dev/null +++ b/openFrameworks/openFrameworksExamples/OSX/granular0_92/src/ofApp.h @@ -0,0 +1,79 @@ +#pragma once + +#include "ofMain.h" +#include "ofxMaxim.h" +#include "ofxMaxim.h" +#include "maxiGrains.h" +#include "ofxOsc.h" +#include <sys/time.h> + +#define HOST "localhost" +#define RECEIVEPORT 12000 +#define SENDPORT 6448 + +typedef hannWinFunctor grainPlayerWin; + + +class ofApp : public ofBaseApp{ + +public: + void setup(); + void update(); + void draw(); + void keyPressed(int key); + void keyReleased(int key); + void mouseMoved(int x, int y); + void mouseDragged(int x, int y, int button); + void mousePressed(int x, int y, int button); + void mouseReleased(int x, int y, int button); + void windowResized(int w, int h); + void dragEvent(ofDragInfo dragInfo); + void gotMessage(ofMessage msg); + + + void audioOut(float * output, int bufferSize, int nChannels); + void audioIn(float * input, int bufferSize, int nChannels); + + int bufferSize; + + /* stick you maximilian declarations below + + For information on how maximilian works, take a look at the example code at + + http://www.maximilian.strangeloop.co.uk + + under 'Tutorials'. + + + */ + + + int initialBufferSize; /* buffer size */ + int sampleRate; + + + /* stick your maximilian stuff below */ + + double wave,sample,outputs[2]; + maxiSample samp, samp2, samp3, samp4, samp5; + vector<maxiTimestretch<grainPlayerWin>*> stretches; + maxiMix mymix; + maxiTimestretch<grainPlayerWin> *ts, *ts2, *ts3, *ts4, *ts5; + double speed, grainLength; + + ofxMaxiFFT fft; + ofxMaxiFFTOctaveAnalyzer oct; + int current; + double pos; + + //osc + ofxOscSender sender; + ofxOscReceiver receiver; + + ofxMaxiFilter myFilter, myFilter2; + + bool isTraining; + +}; + + |
