aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormick grierson <mickgrierson@gmail.com>2016-02-12 17:42:02 +0000
committermick grierson <mickgrierson@gmail.com>2016-02-12 17:42:02 +0000
commit5a99ccdffc64d09de692c9ab77dc7a21a8fae552 (patch)
tree09169e4a30ad68794db50c24d65224af6a8ba98c
parent39ea0d49f49ac6dbdfda8a5a7b40ac8ff3f738e2 (diff)
adding OF 0.92 granular eexample
-rwxr-xr-xmain.cpp90
-rw-r--r--maximilianTest.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstatebin68141 -> 73214 bytes
-rw-r--r--openFrameworks/openFrameworksExamples/OSX/granular0_92/Makefile13
-rw-r--r--openFrameworks/openFrameworksExamples/OSX/granular0_92/Project.xcconfig17
-rw-r--r--openFrameworks/openFrameworksExamples/OSX/granular0_92/addons.make2
-rw-r--r--openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/.gitkeep0
-rwxr-xr-xopenFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/24620__anamorphosis__GMB_Kantilan_1.wavbin0 -> 441868 bytes
-rwxr-xr-xopenFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/2630__Jovica__133_bpm_ATTACK_LOOP_04_electrified_analog_kit_variation_16_mono.wavbin0 -> 1273454 bytes
-rwxr-xr-xopenFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/26393__brfindla__Calango1berimbau.wavbin0 -> 1548688 bytes
-rwxr-xr-xopenFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/59210__suonho__abstract_electrofunkbreakbeats_124bpm_mono.wavbin0 -> 682882 bytes
-rwxr-xr-xopenFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/68373__juskiddink__Cello_open_string_bowed.wavbin0 -> 1771694 bytes
-rwxr-xr-xopenFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/71515__Microscopia__Wilhelm_Bruder_Sohne_Organ.wavbin0 -> 1657058 bytes
-rwxr-xr-xopenFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/beat2.wavbin0 -> 211140 bytes
-rw-r--r--openFrameworks/openFrameworksExamples/OSX/granular0_92/config.make142
-rw-r--r--openFrameworks/openFrameworksExamples/OSX/granular0_92/granular0_92.xcodeproj/project.pbxproj1904
-rw-r--r--openFrameworks/openFrameworksExamples/OSX/granular0_92/granular0_92.xcodeproj/project.xcworkspace/contents.xcworkspacedata7
-rw-r--r--openFrameworks/openFrameworksExamples/OSX/granular0_92/granular0_92.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstatebin0 -> 12500 bytes
-rw-r--r--openFrameworks/openFrameworksExamples/OSX/granular0_92/granular0_92.xcodeproj/xcshareddata/xcschemes/granular0_92 Debug.xcscheme86
-rw-r--r--openFrameworks/openFrameworksExamples/OSX/granular0_92/granular0_92.xcodeproj/xcshareddata/xcschemes/granular0_92 Release.xcscheme86
-rw-r--r--openFrameworks/openFrameworksExamples/OSX/granular0_92/granular0_92.xcodeproj/xcuserdata/michaelgrierson.xcuserdatad/xcschemes/xcschememanagement.plist27
-rw-r--r--openFrameworks/openFrameworksExamples/OSX/granular0_92/openFrameworks-Info.plist22
-rw-r--r--openFrameworks/openFrameworksExamples/OSX/granular0_92/src/main.cpp13
-rw-r--r--openFrameworks/openFrameworksExamples/OSX/granular0_92/src/ofApp.cpp269
-rw-r--r--openFrameworks/openFrameworksExamples/OSX/granular0_92/src/ofApp.h79
24 files changed, 2718 insertions, 39 deletions
diff --git a/main.cpp b/main.cpp
index dbce5bf..7684902 100755
--- a/main.cpp
+++ b/main.cpp
@@ -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
index 4816e94..43a9a26 100644
--- a/maximilianTest.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate
+++ b/maximilianTest.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate
Binary files differ
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
new file mode 100755
index 0000000..81666d1
--- /dev/null
+++ b/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/24620__anamorphosis__GMB_Kantilan_1.wav
Binary files differ
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
new 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
Binary files differ
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
new file mode 100755
index 0000000..a9c93a4
--- /dev/null
+++ b/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/26393__brfindla__Calango1berimbau.wav
Binary files differ
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
new file mode 100755
index 0000000..b23c5f0
--- /dev/null
+++ b/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/59210__suonho__abstract_electrofunkbreakbeats_124bpm_mono.wav
Binary files differ
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
new file mode 100755
index 0000000..19064f2
--- /dev/null
+++ b/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/68373__juskiddink__Cello_open_string_bowed.wav
Binary files differ
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
new file mode 100755
index 0000000..98860be
--- /dev/null
+++ b/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/71515__Microscopia__Wilhelm_Bruder_Sohne_Organ.wav
Binary files differ
diff --git a/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/beat2.wav b/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/beat2.wav
new file mode 100755
index 0000000..c71cee6
--- /dev/null
+++ b/openFrameworks/openFrameworksExamples/OSX/granular0_92/bin/data/beat2.wav
Binary files differ
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>&lt;group&gt;</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>&lt;group&gt;</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>&lt;group&gt;</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>&lt;group&gt;</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>&lt;group&gt;</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>&lt;group&gt;</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>&lt;group&gt;</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>&lt;group&gt;</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>&lt;group&gt;</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>&lt;group&gt;</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>&lt;group&gt;</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>&lt;group&gt;</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>&lt;group&gt;</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>&lt;group&gt;</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>&lt;group&gt;</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>&lt;group&gt;</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>&lt;group&gt;</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>&lt;group&gt;</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
new file mode 100644
index 0000000..023c379
--- /dev/null
+++ b/openFrameworks/openFrameworksExamples/OSX/granular0_92/granular0_92.xcodeproj/project.xcworkspace/xcuserdata/michaelgrierson.xcuserdatad/UserInterfaceState.xcuserstate
Binary files differ
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;
+
+};
+
+