From 9d7571fdc24e7ed082c823d0ad8b9853cc925e1a Mon Sep 17 00:00:00 2001 From: jules Date: Fri, 8 Jan 2016 11:19:00 +0000 Subject: [PATCH] Resaved all example projects --- .../project.pbxproj | 3 + .../Builds/MacOSX/Info.plist | 2 +- .../project.pbxproj | 7 +- .../AnimationAppExample/Builds/iOS/Info.plist | 2 +- .../AudioAppExample.xcodeproj/project.pbxproj | 3 + .../AudioAppExample/Builds/MacOSX/Info.plist | 2 +- .../AudioAppExample.xcodeproj/project.pbxproj | 7 +- .../AudioAppExample/Builds/iOS/Info.plist | 2 +- .../project.pbxproj | 3 + .../Builds/MacOSX/Info.plist | 2 +- .../project.pbxproj | 3 + .../Builds/MacOSX/Info.plist | 2 +- examples/Demo/Builds/MacOSX/Info.plist | 2 +- .../MacOSX/JuceDemo.xcodeproj/project.pbxproj | 3 + examples/Demo/Builds/iOS/Info.plist | 2 +- .../iOS/JuceDemo.xcodeproj/project.pbxproj | 7 +- .../HelloWorld.xcodeproj/project.pbxproj | 3 + examples/HelloWorld/Builds/MacOSX/Info.plist | 2 +- .../iOS/HelloWorld.xcodeproj/project.pbxproj | 7 +- examples/HelloWorld/Builds/iOS/Info.plist | 2 +- examples/MPETest/Builds/MacOSX/Info.plist | 2 +- .../MacOSX/MPETest.xcodeproj/project.pbxproj | 7 + .../Builds/VisualStudio2015/MPETest.vcxproj | 4 + .../VisualStudio2015/MPETest.vcxproj.filters | 6 + examples/MPETest/MPETest.jucer | 2 +- examples/MidiTest/Builds/MacOSX/Info.plist | 2 +- .../MacOSX/MidiTest.xcodeproj/project.pbxproj | 3 + examples/MidiTest/Builds/iOS/Info.plist | 2 +- .../iOS/MidiTest.xcodeproj/project.pbxproj | 7 +- examples/OSCMonitor/Builds/MacOSX/Info.plist | 2 +- .../OSCMonitor.xcodeproj/project.pbxproj | 3 + examples/OSCReceiver/Builds/MacOSX/Info.plist | 2 +- .../OSCReceiver.xcodeproj/project.pbxproj | 3 + examples/OSCReceiver/Builds/iOS/Info.plist | 2 +- .../iOS/OSCReceiver.xcodeproj/project.pbxproj | 7 +- examples/OSCSender/Builds/MacOSX/Info.plist | 2 +- .../OSCSender.xcodeproj/project.pbxproj | 3 + examples/OSCSender/Builds/iOS/Info.plist | 2 +- .../iOS/OSCSender.xcodeproj/project.pbxproj | 7 +- .../OpenGLAppExample/Builds/MacOSX/Info.plist | 2 +- .../project.pbxproj | 3 + .../OpenGLAppExample/Builds/iOS/Info.plist | 2 +- .../project.pbxproj | 7 +- .../Builds/MacOSX/Info.plist | 2 +- .../project.pbxproj | 3 + .../Arpeggiator/Arpeggiator.jucer | 2 +- .../Arpeggiator.xcodeproj/project.pbxproj | 91 +- .../Arpeggiator/Builds/MacOSX/Info.plist | 2 +- .../VisualStudio2015/Arpeggiator.vcxproj | 59 +- .../Arpeggiator.vcxproj.filters | 108 +- .../GainPlugIn.xcodeproj/project.pbxproj | 91 +- .../GainPlugIn/Builds/MacOSX/Info.plist | 2 +- .../VisualStudio2015/GainPlugIn.vcxproj | 59 +- .../GainPlugIn.vcxproj.filters | 108 +- .../PlugInSamples/GainPlugIn/GainPlugIn.jucer | 2 +- .../MultiOutSynth/Builds/MacOSX/Info.plist | 2 +- .../MultiOutSynth.xcodeproj/project.pbxproj | 141 +- .../VisualStudio2015/MultiOutSynth.vcxproj | 59 +- .../MultiOutSynth.vcxproj.filters | 108 +- .../MultiOutSynth/MultiOutSynth.jucer | 2 +- .../NoiseGate/Builds/MacOSX/Info.plist | 2 +- .../NoiseGate.xcodeproj/project.pbxproj | 101 +- .../Builds/VisualStudio2015/NoiseGate.vcxproj | 59 +- .../NoiseGate.vcxproj.filters | 108 +- .../PlugInSamples/NoiseGate/NoiseGate.jucer | 2 +- .../Spatializer/Builds/MacOSX/Info.plist | 2 +- .../Spatializer.xcodeproj/project.pbxproj | 99 +- .../VisualStudio2015/Spatializer.vcxproj | 59 +- .../Spatializer.vcxproj.filters | 108 +- .../Spatializer/Spatializer.jucer | 2 +- .../SimpleFFTExample/Builds/MacOSX/Info.plist | 2 +- .../project.pbxproj | 3 + .../Builds/MacOSX/Info.plist | 2 +- .../JuceDemoPlugin.xcodeproj/project.pbxproj | 3 + .../Builds/MacOSX/Info.plist | 2 +- .../Plugin Host.xcodeproj/project.pbxproj | 3 + extras/Introjucer/Builds/MacOSX/Info.plist | 2 +- .../The Introjucer.xcodeproj/project.pbxproj | 3 + .../jucer_ProjectExport_XCode.h | 3166 ++++++++--------- .../UnitTestRunner.xcodeproj/project.pbxproj | 7 + .../VisualStudio2015/UnitTestRunner.vcxproj | 4 + .../UnitTestRunner.vcxproj.filters | 6 + extras/UnitTestRunner/UnitTestRunner.jucer | 2 +- .../BinaryBuilder.xcodeproj/project.pbxproj | 3 + 84 files changed, 2809 insertions(+), 1930 deletions(-) diff --git a/examples/AnimationAppExample/Builds/MacOSX/AnimationAppExample.xcodeproj/project.pbxproj b/examples/AnimationAppExample/Builds/MacOSX/AnimationAppExample.xcodeproj/project.pbxproj index 4bbbb5cf17..7500b06dbc 100644 --- a/examples/AnimationAppExample/Builds/MacOSX/AnimationAppExample.xcodeproj/project.pbxproj +++ b/examples/AnimationAppExample/Builds/MacOSX/AnimationAppExample.xcodeproj/project.pbxproj @@ -2095,6 +2095,7 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.AnimationAppExample; SDKROOT_ppc = macosx10.5; }; name = Debug; }; F361F998F590FCC72F2DE949 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2116,10 +2117,12 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.AnimationAppExample; SDKROOT_ppc = macosx10.5; }; name = Release; }; 8FB477F7B77D68FD93DC1D16 = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/examples/AnimationAppExample/Builds/MacOSX/Info.plist b/examples/AnimationAppExample/Builds/MacOSX/Info.plist index eea2cfe322..634843891b 100644 --- a/examples/AnimationAppExample/Builds/MacOSX/Info.plist +++ b/examples/AnimationAppExample/Builds/MacOSX/Info.plist @@ -8,7 +8,7 @@ CFBundleIconFile CFBundleIdentifier - com.yourcompany.AnimationAppExample + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName AnimationAppExample CFBundlePackageType diff --git a/examples/AnimationAppExample/Builds/iOS/AnimationAppExample.xcodeproj/project.pbxproj b/examples/AnimationAppExample/Builds/iOS/AnimationAppExample.xcodeproj/project.pbxproj index 5e2af45074..0bf3b67873 100644 --- a/examples/AnimationAppExample/Builds/iOS/AnimationAppExample.xcodeproj/project.pbxproj +++ b/examples/AnimationAppExample/Builds/iOS/AnimationAppExample.xcodeproj/project.pbxproj @@ -2089,7 +2089,8 @@ GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Applications"; }; name = Debug; }; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.AnimationAppExample; }; name = Debug; }; F361F998F590FCC72F2DE949 = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; @@ -2110,11 +2111,13 @@ GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Applications"; }; name = Release; }; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.AnimationAppExample; }; name = Release; }; 8FB477F7B77D68FD93DC1D16 = {isa = XCBuildConfiguration; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/examples/AnimationAppExample/Builds/iOS/Info.plist b/examples/AnimationAppExample/Builds/iOS/Info.plist index bb8a3979d6..e63ab9c4de 100644 --- a/examples/AnimationAppExample/Builds/iOS/Info.plist +++ b/examples/AnimationAppExample/Builds/iOS/Info.plist @@ -10,7 +10,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - com.yourcompany.AnimationAppExample + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName AnimationAppExample CFBundlePackageType diff --git a/examples/AudioAppExample/Builds/MacOSX/AudioAppExample.xcodeproj/project.pbxproj b/examples/AudioAppExample/Builds/MacOSX/AudioAppExample.xcodeproj/project.pbxproj index 4468a48a19..30eb0488a2 100644 --- a/examples/AudioAppExample/Builds/MacOSX/AudioAppExample.xcodeproj/project.pbxproj +++ b/examples/AudioAppExample/Builds/MacOSX/AudioAppExample.xcodeproj/project.pbxproj @@ -2152,6 +2152,7 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.AudioAppExample; SDKROOT_ppc = macosx10.5; }; name = Debug; }; EA0243E56EC3EAF286B53CA6 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2173,10 +2174,12 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.AudioAppExample; SDKROOT_ppc = macosx10.5; }; name = Release; }; 2DDD1A3A56EAB02179D1CFB6 = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/examples/AudioAppExample/Builds/MacOSX/Info.plist b/examples/AudioAppExample/Builds/MacOSX/Info.plist index 555d84feff..1f9e3c96bb 100644 --- a/examples/AudioAppExample/Builds/MacOSX/Info.plist +++ b/examples/AudioAppExample/Builds/MacOSX/Info.plist @@ -8,7 +8,7 @@ CFBundleIconFile CFBundleIdentifier - com.yourcompany.AudioAppExample + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName AudioAppExample CFBundlePackageType diff --git a/examples/AudioAppExample/Builds/iOS/AudioAppExample.xcodeproj/project.pbxproj b/examples/AudioAppExample/Builds/iOS/AudioAppExample.xcodeproj/project.pbxproj index 793db87fa8..7167eaf276 100644 --- a/examples/AudioAppExample/Builds/iOS/AudioAppExample.xcodeproj/project.pbxproj +++ b/examples/AudioAppExample/Builds/iOS/AudioAppExample.xcodeproj/project.pbxproj @@ -2149,7 +2149,8 @@ GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Applications"; }; name = Debug; }; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.AudioAppExample; }; name = Debug; }; EA0243E56EC3EAF286B53CA6 = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; @@ -2170,11 +2171,13 @@ GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Applications"; }; name = Release; }; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.AudioAppExample; }; name = Release; }; 2DDD1A3A56EAB02179D1CFB6 = {isa = XCBuildConfiguration; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/examples/AudioAppExample/Builds/iOS/Info.plist b/examples/AudioAppExample/Builds/iOS/Info.plist index 995e2c085f..fef888429b 100644 --- a/examples/AudioAppExample/Builds/iOS/Info.plist +++ b/examples/AudioAppExample/Builds/iOS/Info.plist @@ -10,7 +10,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - com.yourcompany.AudioAppExample + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName AudioAppExample CFBundlePackageType diff --git a/examples/BouncingBallWavetableDemo/Builds/MacOSX/BouncingBallWavetableDemo.xcodeproj/project.pbxproj b/examples/BouncingBallWavetableDemo/Builds/MacOSX/BouncingBallWavetableDemo.xcodeproj/project.pbxproj index 55495206af..fc0ffd6bb1 100644 --- a/examples/BouncingBallWavetableDemo/Builds/MacOSX/BouncingBallWavetableDemo.xcodeproj/project.pbxproj +++ b/examples/BouncingBallWavetableDemo/Builds/MacOSX/BouncingBallWavetableDemo.xcodeproj/project.pbxproj @@ -2072,6 +2072,7 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.juce.BouncingBallWavetableDemo; SDKROOT_ppc = macosx10.5; }; name = Debug; }; C174BFF0D90EA0E2954123B8 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2093,10 +2094,12 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.juce.BouncingBallWavetableDemo; SDKROOT_ppc = macosx10.5; }; name = Release; }; 3965D37E5D75C70C5C9C527B = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/examples/BouncingBallWavetableDemo/Builds/MacOSX/Info.plist b/examples/BouncingBallWavetableDemo/Builds/MacOSX/Info.plist index 3c44a6e1db..e214a3f73b 100644 --- a/examples/BouncingBallWavetableDemo/Builds/MacOSX/Info.plist +++ b/examples/BouncingBallWavetableDemo/Builds/MacOSX/Info.plist @@ -8,7 +8,7 @@ CFBundleIconFile CFBundleIdentifier - com.juce.BouncingBallWavetableDemo + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName BouncingBallWavetableDemo CFBundlePackageType diff --git a/examples/ComponentTutorialExample/Builds/MacOSX/ComponentTutorialExample.xcodeproj/project.pbxproj b/examples/ComponentTutorialExample/Builds/MacOSX/ComponentTutorialExample.xcodeproj/project.pbxproj index d759d2fd9b..abdfd3359c 100644 --- a/examples/ComponentTutorialExample/Builds/MacOSX/ComponentTutorialExample.xcodeproj/project.pbxproj +++ b/examples/ComponentTutorialExample/Builds/MacOSX/ComponentTutorialExample.xcodeproj/project.pbxproj @@ -1494,6 +1494,7 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.ComponentTutorialExample; SDKROOT_ppc = macosx10.5; }; name = Debug; }; C9043032C653136865D0361A = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -1515,10 +1516,12 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.ComponentTutorialExample; SDKROOT_ppc = macosx10.5; }; name = Release; }; 5D049546B6C238AD8CC74EDE = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/examples/ComponentTutorialExample/Builds/MacOSX/Info.plist b/examples/ComponentTutorialExample/Builds/MacOSX/Info.plist index 181a2387d9..503e918d79 100644 --- a/examples/ComponentTutorialExample/Builds/MacOSX/Info.plist +++ b/examples/ComponentTutorialExample/Builds/MacOSX/Info.plist @@ -8,7 +8,7 @@ CFBundleIconFile CFBundleIdentifier - com.yourcompany.ComponentTutorialExample + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName ComponentTutorialExample CFBundlePackageType diff --git a/examples/Demo/Builds/MacOSX/Info.plist b/examples/Demo/Builds/MacOSX/Info.plist index 3d311e8a08..8287285fe4 100644 --- a/examples/Demo/Builds/MacOSX/Info.plist +++ b/examples/Demo/Builds/MacOSX/Info.plist @@ -8,7 +8,7 @@ CFBundleIconFile Icon.icns CFBundleIdentifier - com.yourcompany.JuceDemo + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName JuceDemo CFBundlePackageType diff --git a/examples/Demo/Builds/MacOSX/JuceDemo.xcodeproj/project.pbxproj b/examples/Demo/Builds/MacOSX/JuceDemo.xcodeproj/project.pbxproj index d6d6e9ecd4..4760169c77 100644 --- a/examples/Demo/Builds/MacOSX/JuceDemo.xcodeproj/project.pbxproj +++ b/examples/Demo/Builds/MacOSX/JuceDemo.xcodeproj/project.pbxproj @@ -2330,6 +2330,7 @@ MACOSX_DEPLOYMENT_TARGET = 10.10; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow -Wno-missing-field-initializers -Wshadow -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.JuceDemo; SDKROOT_ppc = macosx10.5; }; name = Debug; }; 80E4DBEBE0CE7D218C89F78C = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2354,10 +2355,12 @@ MACOSX_DEPLOYMENT_TARGET = 10.6; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow -Wno-missing-field-initializers -Wshadow -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.JuceDemo; SDKROOT_ppc = macosx10.5; }; name = Release; }; A16C0416417EF9DF7B09973F = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/examples/Demo/Builds/iOS/Info.plist b/examples/Demo/Builds/iOS/Info.plist index b6f4a27306..5c76b55c39 100644 --- a/examples/Demo/Builds/iOS/Info.plist +++ b/examples/Demo/Builds/iOS/Info.plist @@ -10,7 +10,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - com.yourcompany.JuceDemo + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName JuceDemo CFBundlePackageType diff --git a/examples/Demo/Builds/iOS/JuceDemo.xcodeproj/project.pbxproj b/examples/Demo/Builds/iOS/JuceDemo.xcodeproj/project.pbxproj index b67a6adb2a..07d095d2c4 100644 --- a/examples/Demo/Builds/iOS/JuceDemo.xcodeproj/project.pbxproj +++ b/examples/Demo/Builds/iOS/JuceDemo.xcodeproj/project.pbxproj @@ -2325,7 +2325,8 @@ GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Applications"; }; name = Debug; }; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.JuceDemo; }; name = Debug; }; 80E4DBEBE0CE7D218C89F78C = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; @@ -2347,11 +2348,13 @@ GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Applications"; }; name = Release; }; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.JuceDemo; }; name = Release; }; A16C0416417EF9DF7B09973F = {isa = XCBuildConfiguration; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/examples/HelloWorld/Builds/MacOSX/HelloWorld.xcodeproj/project.pbxproj b/examples/HelloWorld/Builds/MacOSX/HelloWorld.xcodeproj/project.pbxproj index f3cc46e073..2bcf06c2c3 100644 --- a/examples/HelloWorld/Builds/MacOSX/HelloWorld.xcodeproj/project.pbxproj +++ b/examples/HelloWorld/Builds/MacOSX/HelloWorld.xcodeproj/project.pbxproj @@ -1490,6 +1490,7 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.jucehelloworld; SDKROOT_ppc = macosx10.5; }; name = Debug; }; 339C95D5B2E96DD37B176D75 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -1511,10 +1512,12 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.jucehelloworld; SDKROOT_ppc = macosx10.5; }; name = Release; }; F6DA01300C80F2338FCBD24A = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/examples/HelloWorld/Builds/MacOSX/Info.plist b/examples/HelloWorld/Builds/MacOSX/Info.plist index e0b2355ab1..4923295c96 100644 --- a/examples/HelloWorld/Builds/MacOSX/Info.plist +++ b/examples/HelloWorld/Builds/MacOSX/Info.plist @@ -8,7 +8,7 @@ CFBundleIconFile CFBundleIdentifier - com.roli.jucehelloworld + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName HelloWorld CFBundlePackageType diff --git a/examples/HelloWorld/Builds/iOS/HelloWorld.xcodeproj/project.pbxproj b/examples/HelloWorld/Builds/iOS/HelloWorld.xcodeproj/project.pbxproj index 7e77362446..228d5ae0f6 100644 --- a/examples/HelloWorld/Builds/iOS/HelloWorld.xcodeproj/project.pbxproj +++ b/examples/HelloWorld/Builds/iOS/HelloWorld.xcodeproj/project.pbxproj @@ -1490,7 +1490,8 @@ GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Applications"; }; name = Debug; }; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.jucehelloworld; }; name = Debug; }; 339C95D5B2E96DD37B176D75 = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; @@ -1511,11 +1512,13 @@ GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Applications"; }; name = Release; }; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.jucehelloworld; }; name = Release; }; F6DA01300C80F2338FCBD24A = {isa = XCBuildConfiguration; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/examples/HelloWorld/Builds/iOS/Info.plist b/examples/HelloWorld/Builds/iOS/Info.plist index abba5d3a89..ef012dcbfd 100644 --- a/examples/HelloWorld/Builds/iOS/Info.plist +++ b/examples/HelloWorld/Builds/iOS/Info.plist @@ -10,7 +10,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - com.roli.jucehelloworld + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName HelloWorld CFBundlePackageType diff --git a/examples/MPETest/Builds/MacOSX/Info.plist b/examples/MPETest/Builds/MacOSX/Info.plist index 3df7ded90f..ac9ec80963 100644 --- a/examples/MPETest/Builds/MacOSX/Info.plist +++ b/examples/MPETest/Builds/MacOSX/Info.plist @@ -8,7 +8,7 @@ CFBundleIconFile CFBundleIdentifier - com.yourcompany.MPETest + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName MPETest CFBundlePackageType diff --git a/examples/MPETest/Builds/MacOSX/MPETest.xcodeproj/project.pbxproj b/examples/MPETest/Builds/MacOSX/MPETest.xcodeproj/project.pbxproj index 738a3450e4..53fedf4f56 100644 --- a/examples/MPETest/Builds/MacOSX/MPETest.xcodeproj/project.pbxproj +++ b/examples/MPETest/Builds/MacOSX/MPETest.xcodeproj/project.pbxproj @@ -187,6 +187,7 @@ 2AAAEBE53A14BA001544D40D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; 2B6313BEE19952B09B892F97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; 2B700EED388A0D5BCD27119C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; + 2B8110812EDB60E35F64ECC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; }; 2BC851F3F90C739945A358E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 2BF9277EE9D23E6756DDEAAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 2C8137E945F72BA9105D65C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; @@ -844,6 +845,7 @@ DC40896B34539B4CDFD98A83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; DC8568B8091FCF34F5F2B264 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; DCC6CD0D96DF5D56628DC513 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; + DD27A9D5B621B219B88F1B4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; }; DD5088088E2F96F2A90F846C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; DD814F83C89F94E61871C009 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; DDD9956A34EECD84627E4D23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -1161,6 +1163,8 @@ 6572780DEF7C396030F7E88F, BA74CBA07F7E462B824D155B, ); name = "juce_audio_formats"; sourceTree = ""; }; B141FE8425056D7A1111F49C = {isa = PBXGroup; children = ( + DD27A9D5B621B219B88F1B4E, + 2B8110812EDB60E35F64ECC2, DEE0007C38531B281E20A2A3, 51FB54FB93F826E8B4207DAA, 8B4618262B4BB0A436C51B6C, @@ -2158,6 +2162,7 @@ INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET = 10.10; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.MPETest; SDKROOT_ppc = macosx10.5; }; name = Debug; }; 8A3A5202D74C4ED05D01A48C = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2180,10 +2185,12 @@ INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET = 10.10; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.MPETest; SDKROOT_ppc = macosx10.5; }; name = Release; }; FEF5C4C4E770A72077867343 = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/examples/MPETest/Builds/VisualStudio2015/MPETest.vcxproj b/examples/MPETest/Builds/VisualStudio2015/MPETest.vcxproj index 713009648d..cbec674099 100644 --- a/examples/MPETest/Builds/VisualStudio2015/MPETest.vcxproj +++ b/examples/MPETest/Builds/VisualStudio2015/MPETest.vcxproj @@ -337,6 +337,9 @@ true + + true + true @@ -1383,6 +1386,7 @@ + diff --git a/examples/MPETest/Builds/VisualStudio2015/MPETest.vcxproj.filters b/examples/MPETest/Builds/VisualStudio2015/MPETest.vcxproj.filters index b96580396d..e7ce17a285 100644 --- a/examples/MPETest/Builds/VisualStudio2015/MPETest.vcxproj.filters +++ b/examples/MPETest/Builds/VisualStudio2015/MPETest.vcxproj.filters @@ -535,6 +535,9 @@ Juce Modules\juce_audio_formats\sampler + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\processors @@ -1830,6 +1833,9 @@ Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\processors diff --git a/examples/MPETest/MPETest.jucer b/examples/MPETest/MPETest.jucer index 602e49451d..cfc7570894 100644 --- a/examples/MPETest/MPETest.jucer +++ b/examples/MPETest/MPETest.jucer @@ -2,7 +2,7 @@ + jucerVersion="4.1.0"> diff --git a/examples/MidiTest/Builds/MacOSX/Info.plist b/examples/MidiTest/Builds/MacOSX/Info.plist index 01a2ceaf16..3525a67635 100644 --- a/examples/MidiTest/Builds/MacOSX/Info.plist +++ b/examples/MidiTest/Builds/MacOSX/Info.plist @@ -8,7 +8,7 @@ CFBundleIconFile CFBundleIdentifier - com.yourcompany.MidiTest + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName MidiTest CFBundlePackageType diff --git a/examples/MidiTest/Builds/MacOSX/MidiTest.xcodeproj/project.pbxproj b/examples/MidiTest/Builds/MacOSX/MidiTest.xcodeproj/project.pbxproj index 5d70d1f624..6ed8ac60ce 100644 --- a/examples/MidiTest/Builds/MacOSX/MidiTest.xcodeproj/project.pbxproj +++ b/examples/MidiTest/Builds/MacOSX/MidiTest.xcodeproj/project.pbxproj @@ -1998,6 +1998,7 @@ MACOSX_DEPLOYMENT_TARGET = 10.9; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; OTHER_CPLUSPLUSFLAGS = "-std=c++14 -Wreorder -Wconstant-conversion -Wint-conversion -Woverloaded-virtual -Wuninitialized -Wunused-parameter -Wshorten-64-to-32 -Wstrict-aliasing -Wshadow -Wconversion -Wsign-compare -Wsign-conversion"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.MidiTest; SDKROOT_ppc = macosx10.5; }; name = Debug; }; 882C0061E66EA99B23B90D15 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2021,10 +2022,12 @@ MACOSX_DEPLOYMENT_TARGET = 10.9; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; OTHER_CPLUSPLUSFLAGS = "-std=c++14 -Wreorder -Wconstant-conversion -Wint-conversion -Woverloaded-virtual -Wuninitialized -Wunused-parameter -Wshorten-64-to-32 -Wstrict-aliasing -Wshadow -Wconversion -Wsign-compare -Wsign-conversion"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.MidiTest; SDKROOT_ppc = macosx10.5; }; name = Release; }; E12A8778C1F50489C01F266F = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/examples/MidiTest/Builds/iOS/Info.plist b/examples/MidiTest/Builds/iOS/Info.plist index a39fd57110..1f6e26120e 100644 --- a/examples/MidiTest/Builds/iOS/Info.plist +++ b/examples/MidiTest/Builds/iOS/Info.plist @@ -10,7 +10,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - com.yourcompany.MidiTest + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName MidiTest CFBundlePackageType diff --git a/examples/MidiTest/Builds/iOS/MidiTest.xcodeproj/project.pbxproj b/examples/MidiTest/Builds/iOS/MidiTest.xcodeproj/project.pbxproj index 0d1994b47e..390d92de2d 100644 --- a/examples/MidiTest/Builds/iOS/MidiTest.xcodeproj/project.pbxproj +++ b/examples/MidiTest/Builds/iOS/MidiTest.xcodeproj/project.pbxproj @@ -1999,7 +1999,8 @@ GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Applications"; }; name = Debug; }; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.MidiTest; }; name = Debug; }; 882C0061E66EA99B23B90D15 = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; @@ -2020,11 +2021,13 @@ GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Applications"; }; name = Release; }; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.MidiTest; }; name = Release; }; E12A8778C1F50489C01F266F = {isa = XCBuildConfiguration; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/examples/OSCMonitor/Builds/MacOSX/Info.plist b/examples/OSCMonitor/Builds/MacOSX/Info.plist index 0ab116697f..1a7dffb802 100644 --- a/examples/OSCMonitor/Builds/MacOSX/Info.plist +++ b/examples/OSCMonitor/Builds/MacOSX/Info.plist @@ -8,7 +8,7 @@ CFBundleIconFile CFBundleIdentifier - com.rawmaterialsoftware.OSCMonitor + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName OSCMonitor CFBundlePackageType diff --git a/examples/OSCMonitor/Builds/MacOSX/OSCMonitor.xcodeproj/project.pbxproj b/examples/OSCMonitor/Builds/MacOSX/OSCMonitor.xcodeproj/project.pbxproj index 22b7eefa1d..6bbe112323 100644 --- a/examples/OSCMonitor/Builds/MacOSX/OSCMonitor.xcodeproj/project.pbxproj +++ b/examples/OSCMonitor/Builds/MacOSX/OSCMonitor.xcodeproj/project.pbxproj @@ -2139,6 +2139,7 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.rawmaterialsoftware.OSCMonitor; SDKROOT_ppc = macosx10.5; }; name = Debug; }; 80316F7B5D906280809F977A = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2160,10 +2161,12 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.rawmaterialsoftware.OSCMonitor; SDKROOT_ppc = macosx10.5; }; name = Release; }; A73601CA8085AB937DA91A68 = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/examples/OSCReceiver/Builds/MacOSX/Info.plist b/examples/OSCReceiver/Builds/MacOSX/Info.plist index 10761f8f35..6166ad7c4e 100644 --- a/examples/OSCReceiver/Builds/MacOSX/Info.plist +++ b/examples/OSCReceiver/Builds/MacOSX/Info.plist @@ -8,7 +8,7 @@ CFBundleIconFile CFBundleIdentifier - com.yourcompany.OSCReceiver + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName OSCReceiver CFBundlePackageType diff --git a/examples/OSCReceiver/Builds/MacOSX/OSCReceiver.xcodeproj/project.pbxproj b/examples/OSCReceiver/Builds/MacOSX/OSCReceiver.xcodeproj/project.pbxproj index 5530b198ba..d4b36adb5e 100644 --- a/examples/OSCReceiver/Builds/MacOSX/OSCReceiver.xcodeproj/project.pbxproj +++ b/examples/OSCReceiver/Builds/MacOSX/OSCReceiver.xcodeproj/project.pbxproj @@ -1567,6 +1567,7 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.OSCReceiver; SDKROOT_ppc = macosx10.5; }; name = Debug; }; BC27690A38327AE29CC81DE0 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -1588,10 +1589,12 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.OSCReceiver; SDKROOT_ppc = macosx10.5; }; name = Release; }; AEC2629A4CDDB6132D9118A8 = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/examples/OSCReceiver/Builds/iOS/Info.plist b/examples/OSCReceiver/Builds/iOS/Info.plist index a26399203e..1ca42d2410 100644 --- a/examples/OSCReceiver/Builds/iOS/Info.plist +++ b/examples/OSCReceiver/Builds/iOS/Info.plist @@ -10,7 +10,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - com.yourcompany.OSCReceiver + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName OSCReceiver CFBundlePackageType diff --git a/examples/OSCReceiver/Builds/iOS/OSCReceiver.xcodeproj/project.pbxproj b/examples/OSCReceiver/Builds/iOS/OSCReceiver.xcodeproj/project.pbxproj index 000197228c..b46d43fc76 100644 --- a/examples/OSCReceiver/Builds/iOS/OSCReceiver.xcodeproj/project.pbxproj +++ b/examples/OSCReceiver/Builds/iOS/OSCReceiver.xcodeproj/project.pbxproj @@ -1567,7 +1567,8 @@ GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Applications"; }; name = Debug; }; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.OSCReceiver; }; name = Debug; }; BC27690A38327AE29CC81DE0 = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; @@ -1588,11 +1589,13 @@ GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Applications"; }; name = Release; }; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.OSCReceiver; }; name = Release; }; AEC2629A4CDDB6132D9118A8 = {isa = XCBuildConfiguration; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/examples/OSCSender/Builds/MacOSX/Info.plist b/examples/OSCSender/Builds/MacOSX/Info.plist index bc9278ab8b..717a5d72f0 100644 --- a/examples/OSCSender/Builds/MacOSX/Info.plist +++ b/examples/OSCSender/Builds/MacOSX/Info.plist @@ -8,7 +8,7 @@ CFBundleIconFile CFBundleIdentifier - com.yourcompany.OSCSender + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName OSCSender CFBundlePackageType diff --git a/examples/OSCSender/Builds/MacOSX/OSCSender.xcodeproj/project.pbxproj b/examples/OSCSender/Builds/MacOSX/OSCSender.xcodeproj/project.pbxproj index bd2d098c5c..8cd5fd5892 100644 --- a/examples/OSCSender/Builds/MacOSX/OSCSender.xcodeproj/project.pbxproj +++ b/examples/OSCSender/Builds/MacOSX/OSCSender.xcodeproj/project.pbxproj @@ -1410,6 +1410,7 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.OSCSender; SDKROOT_ppc = macosx10.5; }; name = Debug; }; 7FD72A877FE3166C5C80C732 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -1431,10 +1432,12 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.OSCSender; SDKROOT_ppc = macosx10.5; }; name = Release; }; 37EE6DAA0F0B202D10D0995B = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/examples/OSCSender/Builds/iOS/Info.plist b/examples/OSCSender/Builds/iOS/Info.plist index b43c4a99b3..72fd9828a4 100644 --- a/examples/OSCSender/Builds/iOS/Info.plist +++ b/examples/OSCSender/Builds/iOS/Info.plist @@ -10,7 +10,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - com.yourcompany.OSCSender + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName OSCSender CFBundlePackageType diff --git a/examples/OSCSender/Builds/iOS/OSCSender.xcodeproj/project.pbxproj b/examples/OSCSender/Builds/iOS/OSCSender.xcodeproj/project.pbxproj index 5e41dde03e..f0a2f22550 100644 --- a/examples/OSCSender/Builds/iOS/OSCSender.xcodeproj/project.pbxproj +++ b/examples/OSCSender/Builds/iOS/OSCSender.xcodeproj/project.pbxproj @@ -1413,7 +1413,8 @@ GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Applications"; }; name = Debug; }; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.OSCSender; }; name = Debug; }; 7FD72A877FE3166C5C80C732 = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; @@ -1434,11 +1435,13 @@ GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Applications"; }; name = Release; }; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.OSCSender; }; name = Release; }; 37EE6DAA0F0B202D10D0995B = {isa = XCBuildConfiguration; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/examples/OpenGLAppExample/Builds/MacOSX/Info.plist b/examples/OpenGLAppExample/Builds/MacOSX/Info.plist index fa92825336..7dd557e9c1 100644 --- a/examples/OpenGLAppExample/Builds/MacOSX/Info.plist +++ b/examples/OpenGLAppExample/Builds/MacOSX/Info.plist @@ -8,7 +8,7 @@ CFBundleIconFile CFBundleIdentifier - com.yourcompany.OpenGLAppExample + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName OpenGLAppExample CFBundlePackageType diff --git a/examples/OpenGLAppExample/Builds/MacOSX/OpenGLAppExample.xcodeproj/project.pbxproj b/examples/OpenGLAppExample/Builds/MacOSX/OpenGLAppExample.xcodeproj/project.pbxproj index d9ef9bd06d..02e1e0e33b 100644 --- a/examples/OpenGLAppExample/Builds/MacOSX/OpenGLAppExample.xcodeproj/project.pbxproj +++ b/examples/OpenGLAppExample/Builds/MacOSX/OpenGLAppExample.xcodeproj/project.pbxproj @@ -2114,6 +2114,7 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.OpenGLAppExample; SDKROOT_ppc = macosx10.5; }; name = Debug; }; D10126CC8CE60E150025A42D = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2135,10 +2136,12 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.OpenGLAppExample; SDKROOT_ppc = macosx10.5; }; name = Release; }; 3132BF724B47EEFACACC0FF2 = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/examples/OpenGLAppExample/Builds/iOS/Info.plist b/examples/OpenGLAppExample/Builds/iOS/Info.plist index 84ebf00a90..6eda77e030 100644 --- a/examples/OpenGLAppExample/Builds/iOS/Info.plist +++ b/examples/OpenGLAppExample/Builds/iOS/Info.plist @@ -10,7 +10,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - com.yourcompany.OpenGLAppExample + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName OpenGLAppExample CFBundlePackageType diff --git a/examples/OpenGLAppExample/Builds/iOS/OpenGLAppExample.xcodeproj/project.pbxproj b/examples/OpenGLAppExample/Builds/iOS/OpenGLAppExample.xcodeproj/project.pbxproj index 898205f3bc..b2072e3c9d 100644 --- a/examples/OpenGLAppExample/Builds/iOS/OpenGLAppExample.xcodeproj/project.pbxproj +++ b/examples/OpenGLAppExample/Builds/iOS/OpenGLAppExample.xcodeproj/project.pbxproj @@ -2108,7 +2108,8 @@ GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Applications"; }; name = Debug; }; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.OpenGLAppExample; }; name = Debug; }; D10126CC8CE60E150025A42D = {isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; @@ -2129,11 +2130,13 @@ GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Applications"; }; name = Release; }; + INSTALL_PATH = "$(HOME)/Applications"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.OpenGLAppExample; }; name = Release; }; 3132BF724B47EEFACACC0FF2 = {isa = XCBuildConfiguration; buildSettings = { "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/examples/PluckedStringsDemo/Builds/MacOSX/Info.plist b/examples/PluckedStringsDemo/Builds/MacOSX/Info.plist index 3ce29df43c..5ff1e10687 100644 --- a/examples/PluckedStringsDemo/Builds/MacOSX/Info.plist +++ b/examples/PluckedStringsDemo/Builds/MacOSX/Info.plist @@ -8,7 +8,7 @@ CFBundleIconFile CFBundleIdentifier - com.timurdoumler.PluckedStringsDemo + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName PluckedStringsDemo CFBundlePackageType diff --git a/examples/PluckedStringsDemo/Builds/MacOSX/PluckedStringsDemo.xcodeproj/project.pbxproj b/examples/PluckedStringsDemo/Builds/MacOSX/PluckedStringsDemo.xcodeproj/project.pbxproj index 81127b92f3..0a679a201e 100644 --- a/examples/PluckedStringsDemo/Builds/MacOSX/PluckedStringsDemo.xcodeproj/project.pbxproj +++ b/examples/PluckedStringsDemo/Builds/MacOSX/PluckedStringsDemo.xcodeproj/project.pbxproj @@ -1997,6 +1997,7 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.timurdoumler.PluckedStringsDemo; SDKROOT_ppc = macosx10.5; }; name = Debug; }; DA71A54BE35C4C5D852DF72C = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2018,10 +2019,12 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.timurdoumler.PluckedStringsDemo; SDKROOT_ppc = macosx10.5; }; name = Release; }; 501C3AFCB1DADC94A49F25E8 = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/examples/PlugInSamples/Arpeggiator/Arpeggiator.jucer b/examples/PlugInSamples/Arpeggiator/Arpeggiator.jucer index a5a52eae6a..6c22134072 100644 --- a/examples/PlugInSamples/Arpeggiator/Arpeggiator.jucer +++ b/examples/PlugInSamples/Arpeggiator/Arpeggiator.jucer @@ -9,7 +9,7 @@ pluginIsMidiEffectPlugin="1" pluginSilenceInIsSilenceOut="0" pluginEditorRequiresKeys="0" pluginAUExportPrefix="ArpeggiatorAU" pluginRTASCategory="" aaxIdentifier="com.ROLI.Arpeggiator" pluginAAXCategory="AAX_EPlugInCategory_Effect" - jucerVersion="4.0.2" companyName="ROLI Ltd." companyWebsite="www.juce.com" + jucerVersion="4.1.0" companyName="ROLI Ltd." companyWebsite="www.juce.com" companyEmail="info@juce.com"> diff --git a/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Arpeggiator.xcodeproj/project.pbxproj b/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Arpeggiator.xcodeproj/project.pbxproj index 50f8e41629..325a9b41e0 100644 --- a/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Arpeggiator.xcodeproj/project.pbxproj +++ b/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Arpeggiator.xcodeproj/project.pbxproj @@ -90,6 +90,7 @@ 0496E5839A51835BB5FF93DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; 049C0B2A50B12541BBD44A87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; 049E1ED618DB7447529B850E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 04B2FA3730FEC50AE2B1C817 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; 055518CF86E540F102797639 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 056162DB2F31CDEC1A6C891D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; 05AB083553352BD26D6D3C4A = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; @@ -164,6 +165,7 @@ 1A5846EF48A60CC73F45D13D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 1A7B44D364B75EA89393C950 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; 1AA75C2ACEBBC88A9690CA64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; + 1AC1AD1897BA6CDA479EECF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; 1AEDC787DD547DD40727B3AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; 1AFE6520DA03E9EEEBD6635C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; 1B52A6301832DDDC24CF78EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; @@ -207,6 +209,7 @@ 2B00D9E27D910E13DE0C221A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; 2B27A10CE5AE76648A90D11B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; 2B44B90F3CEDD45A731586AD = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; + 2C5EC74F7F59FB4D2EDBF48A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; }; 2C88000D1FD0FF38CE9A45DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_RTAS_MacUtilities.mm"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_MacUtilities.mm"; sourceTree = "SOURCE_ROOT"; }; 2C96D1EF867911A0E68FFBFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 2CCEDD6E4D5033AC85568494 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; @@ -264,6 +267,7 @@ 3A8ACE496CEEF5A87A114AB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; 3AD79BA42B077E0A5F529E32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUMIDIBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUMIDIBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 3BE81A29DE9DE7360D59EC46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CameraDevice.mm"; path = "../../../../../modules/juce_video/native/juce_mac_CameraDevice.mm"; sourceTree = "SOURCE_ROOT"; }; + 3BEDADA1310ADC048CDA2C5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; }; 3BEF840C88D9862A0FC85942 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; 3C0D2625AD214352B7082954 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; 3CAD7C934D530D6DF84726FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RSAKey.h"; path = "../../../../../modules/juce_cryptography/encryption/juce_RSAKey.h"; sourceTree = "SOURCE_ROOT"; }; @@ -336,6 +340,8 @@ 4CF3468DF587D5FA67CC0E11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; 4D3E4D2991E77F61EE7FB496 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; 4D67E97CC213CBD5BD61C7B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4D683F6CB06A1BFA3B7D0619 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; }; + 4D78DF92155C219D09D7A455 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 4D9DA654C2620E32726086FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; 4E117F7C74DCEB70A1F377E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUBuffer.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; 4E4473B8662EBAD8C7093702 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -352,7 +358,6 @@ 50B47B9204E11F21F6E274A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; 50E68A1E94741689526D5436 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 50F39057CB7BDC9068D7F3E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; - 51280CE644EA693D81E76BAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; 51547A302427E2E592F46B03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; 519C6A0464E86A77B4982AD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; 51DECB09AB2D7EE7288014B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -401,9 +406,11 @@ 5CF362F3F89B2CA00EF86107 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; 5D772B2770B73BDA1AF8B815 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; 5DA8F03F5C8C1191011DF4C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 5DB5A30479144B1BDC7EFB2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; 5DC3F807B9FD5319F2A3651A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; 5DDC06B78943DE8EE8019F93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; }; 5E13D21827E76C6ACCFA7358 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; + 5E6F9C107ED44AD3A6C38F25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; }; 5E7F940669620DB0130FCD3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; 5EBABFCFC48AAC97FFCBCFD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; 5F6D44158DFFDE893C0193EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; @@ -414,7 +421,9 @@ 60CE82CA92524672F37A0772 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; 60D827697FC6A9DC7EB2A1D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; 6116E21BC29C08EE4E5393F4 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; + 6140A9EFC120C19C900E9997 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; }; 61480007134774205D35BE86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6156454DCC08491EA30C909B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; 616A14F72BE19655866F9808 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; 61E35FDB62BAAE1F600E2BA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 6231453F80A55511B2CE63D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -477,6 +486,7 @@ 6F303012AB28C3A1D73D1C61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; 6F87A51C59914514F8A9B72D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; 6FCC51A0993766D53206A13B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; + 6FE8AB8B32ECC447077F85C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; 709A020234578C644C580BFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; 70ABCE8D77A662C690A1E6DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; 714198502CEF48F7A9F0A216 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -520,6 +530,7 @@ 7BA04B314DBAC47B8FB1AD34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 7BC8E6DF436B44F55237F9A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; 7BD5243B77DAE17EA12970BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7C93F0E35AFAFF12CAEEC002 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; 7CB80BCAB334950839BBD09A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 7D0DD829369F7DD455B6704E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; 7D1DC285EF285E3BC3FEA88A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; @@ -631,6 +642,7 @@ 9A89826CEDEB0B05A1B603DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 9AD0AD199A93E9FBDEA73DD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; 9ADD1D5D091D77E36ED23DC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorValueTreeState.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"; sourceTree = "SOURCE_ROOT"; }; + 9B5E1CC8F419EA87FFCA25EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; }; 9C24A5EC057F1DF3D288143C = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; 9C74B05A3528A964F98678E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; 9C890D8E5BCD45EEE3D4F472 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; @@ -691,6 +703,7 @@ ABE7925A8A2E061D0ADBC89B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; AC48FAE2DA3B12A483E7255A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; AC4B7D8324C27A8976F0CF33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + AC800D28406E1EB42D6F8011 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; AC840D910B076A8D6E11D0E3 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; ACB2BB311E0E549224D8D48E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; ACF3900CAC422A821B49724B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -715,6 +728,7 @@ B129B4C893F395FFB6626EC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; B2315CF4C3757346D888D3DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; B27E127E31026271E71896A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; + B3CC9DC75DBF4166649F4903 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; }; B3D81C8539CC39AD8D7BDA60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; B3E22594AF1C50B96CB53BA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; B3E60DC1BE9F0B5000434DB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; @@ -825,6 +839,7 @@ CC55CC9502C19A5AFE161657 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; CD30A091E8BB28D380EA0BB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; CDF60F2C42393AB69C766ACF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; + CE5A38CECF65EEEB3BEB576A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; CE627A7B66D84A3A3EA03042 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; CE9208896DC1AB22AE2C0C71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; CEDC97D5A9E596C1D85EDE53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -862,6 +877,7 @@ D799C7F000EC4D33C2DABADB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; D7B5624DFFC5F0D465324ABD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; }; D8581F2EDC5AF67078C87F04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; + D862D05ADC5B51155A7E92CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; }; D8CA7F4025AE3A715CD4F242 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; D8DAAFAF2D5E846E675E7FAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; D8F61BA5399E97BE1B28FB14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUInputElement.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUInputElement.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -892,6 +908,7 @@ E146A36475C5861BFC2DAC7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; E19EED16694ACA3701319473 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; E21B47053F279BEB6E77ABBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; + E3037BC34D7BF2461BDE7406 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; }; E312397066509747DF0AA5EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; E3272E71920EC2E2951EA51D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; E32EC58E8FFABD6AA3236B7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -927,6 +944,7 @@ E9D514DF14180AAC8013083A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; EA0497ADC2D82C3B7062F22D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; EAAA5DE166254FF08BBF56C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3_Wrapper.cpp"; path = "../../../../../modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp"; sourceTree = "SOURCE_ROOT"; }; + EB14AB8617A8CA2AA16A14A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; EB1836E7A020E27A7531DD9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; EB3651084188F428EE0EC55D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; EB47EFA97F37130CBFA3BBBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; @@ -936,6 +954,7 @@ EC31A0D1FC5868D414573AE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; ED6E81A945B28362BD3031F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; EDBCB0EA94E2EFAFD754B922 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + EDC2FD69DA8E9734C6E8EC30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; EE01B0F4B428C5A225912CB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; EE294A9E140300FF4776FAD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; EE39BF0D5B60F251A414EAC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; @@ -971,17 +990,19 @@ F57574FC47D7AF891F3295C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; F65C6FEA297DBD53427E4038 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; F6D10531F4650FBEB0D33D26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; + F6E7047A4B14DF67FC06B116 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; F7089FFFA18BCBE67D5C9E3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; F7CFD58445F29C592E1CA3D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; F7F3649AF02F4C3C751B6F19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + F81654393A6815CD487BEEEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; F87343C6F5ADDD9DB66521FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; F8EC2EB5F339D51BD491E8E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; F97C03E9DF14C226EF400C73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + F994AC2474618A75DD677972 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; }; FAC1B0E5511BBD94A50A2E49 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; A1F5A8172293896A1789B630 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Arpeggiator.component; sourceTree = "BUILT_PRODUCTS_DIR"; }; + F3ACB6DE3915DDD06925799D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; F5B6DC6A96EF0A5FE46C3DA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - F6E7047A4B14DF67FC06B116 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; - F81654393A6815CD487BEEEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; F9D08064C86CE530C8246E8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; F9E9EF28BCBA5A190B324137 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; FA644A83DBB0DDE419A33EC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; @@ -1016,7 +1037,17 @@ 0A01B8D1B8BB92ECAA5DB753, BD57F71D127F56050D4D002D, C6B89A6B45688392BD97DC94, ); name = buffers; sourceTree = ""; }; - C376BB9DEA9AC1C48037B349 = {isa = PBXGroup; children = ( + 0B09A0C8B3CBBE56F9A7B2D0 = {isa = PBXGroup; children = ( + 39BE88EF0E3BD6B4AB68F2B9, + D67D2A6E5C3F59CD621EA248, + A919CA5B7254BB3FF60A5DE7, + 3DD0FD0BC2F231862DB27C0E, + 86E4C9BAFD35A57EC10F979A, + 89C5AA5B6E8CF94B1B170BC1, + 466A9F12236DE37BACE09B42, + 9B5E1CC8F419EA87FFCA25EA, + E6FCC7E47574DFBEF222A74B, ); name = effects; sourceTree = ""; }; + 0C53451405C707E80D5E3524 = {isa = PBXGroup; children = ( F0A17AE5EBBD91BD44AC2DDC, 2567995CCEFF466EE733B17E, A33608197D3926F693D04540, @@ -1026,17 +1057,29 @@ E7449A06AE5C5783B9C1A0B3, 2006597B2FDE720C44D3A4FA, B082837B13A368148C64EB87, - C84B393BB56ECED0D2F26577, ); name = midi; sourceTree = ""; }; - 3D5BF1B8248EB63C2C66C7B8 = {isa = PBXGroup; children = ( - 39BE88EF0E3BD6B4AB68F2B9, - D67D2A6E5C3F59CD621EA248, - A919CA5B7254BB3FF60A5DE7, - 3DD0FD0BC2F231862DB27C0E, - 86E4C9BAFD35A57EC10F979A, - 89C5AA5B6E8CF94B1B170BC1, - 466A9F12236DE37BACE09B42, - E6FCC7E47574DFBEF222A74B, ); name = effects; sourceTree = ""; }; - 9D736E9C739DD85D088DAE4C = {isa = PBXGroup; children = ( + C84B393BB56ECED0D2F26577, + B3CC9DC75DBF4166649F4903, + 5E6F9C107ED44AD3A6C38F25, ); name = midi; sourceTree = ""; }; + F35A50D2D034136B6D91E2B2 = {isa = PBXGroup; children = ( + 6140A9EFC120C19C900E9997, + 4D683F6CB06A1BFA3B7D0619, + E3037BC34D7BF2461BDE7406, + EDC2FD69DA8E9734C6E8EC30, + 5DB5A30479144B1BDC7EFB2E, + 3BEDADA1310ADC048CDA2C5F, + F3ACB6DE3915DDD06925799D, + CE5A38CECF65EEEB3BEB576A, + F994AC2474618A75DD677972, + EB14AB8617A8CA2AA16A14A3, + D862D05ADC5B51155A7E92CF, + 2C5EC74F7F59FB4D2EDBF48A, + 6156454DCC08491EA30C909B, + AC800D28406E1EB42D6F8011, + 04B2FA3730FEC50AE2B1C817, + 6FE8AB8B32ECC447077F85C9, + 4D78DF92155C219D09D7A455, + 7C93F0E35AFAFF12CAEEC002, ); name = mpe; sourceTree = ""; }; + 6F72B2B6AAA728BF3FE71551 = {isa = PBXGroup; children = ( 5971D2F5F06AE6D9ED210336, F65C6FEA297DBD53427E4038, 298F381E5973B357D56BCC0B, @@ -1053,15 +1096,16 @@ 4E4473B8662EBAD8C7093702, 731D74A0304C74EEB840EBEE, 6231453F80A55511B2CE63D3, ); name = sources; sourceTree = ""; }; - 07B8D2EF44928306F9390667 = {isa = PBXGroup; children = ( + 7F3E0419F9C0DBCF92B84C6D = {isa = PBXGroup; children = ( B8C6E4497BD264030302F083, 008905A65B6DD3A48DF09AA2, ); name = synthesisers; sourceTree = ""; }; EDCB4DA5D2A8138374D81A81 = {isa = PBXGroup; children = ( 40FE43300C92687E35D35021, - C376BB9DEA9AC1C48037B349, - 3D5BF1B8248EB63C2C66C7B8, - 9D736E9C739DD85D088DAE4C, - 07B8D2EF44928306F9390667, + 0B09A0C8B3CBBE56F9A7B2D0, + 0C53451405C707E80D5E3524, + F35A50D2D034136B6D91E2B2, + 6F72B2B6AAA728BF3FE71551, + 7F3E0419F9C0DBCF92B84C6D, 6B6BC26837948329DC9F76AB, 1AEDC787DD547DD40727B3AD, ); name = "juce_audio_basics"; sourceTree = ""; }; B5571584010E7737E68C42DC = {isa = PBXGroup; children = ( @@ -1314,6 +1358,7 @@ 837D41054CF06F3C359E1C4C, F14CDF0462EBEDEE9BA22F1F, 4220849FC5D24D5998470B27, + 1AC1AD1897BA6CDA479EECF8, 66B6E7D3C0DA58D3D789929C, 8B266FAFAC2B004FE0491E3F, 91714A462B09B119638753DE, @@ -1555,8 +1600,7 @@ DAB01420B5EC8DF3067D57C8, 9A68EFB4F4ADD8E02B77D574, 2367FC583388A40FD177FAC7, - CF460BB59AE1A3CB56C2CC97, - 51280CE644EA693D81E76BAB, ); name = broadcasters; sourceTree = ""; }; + CF460BB59AE1A3CB56C2CC97, ); name = broadcasters; sourceTree = ""; }; AC0F8CF82712912729A1787D = {isa = PBXGroup; children = ( FEBEF52CF458D9C80275863D, 4A43E2F65187E76BA7247DC8, @@ -2204,6 +2248,7 @@ OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow -Wno-missing-field-initializers -Wshadow -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion"; OTHER_LDFLAGS = "-bundle -lAAXLibrary"; OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d ppc64_$ppc64 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Extras/CoreAudio/AudioUnits/AUPublic/AUBase\""; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.Arpeggiator; SDKROOT_ppc = macosx10.5; WRAPPER_EXTENSION = component; }; name = Debug; }; BE9E3EF2B9B86E30560190F3 = {isa = XCBuildConfiguration; buildSettings = { @@ -2233,11 +2278,13 @@ OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow -Wno-missing-field-initializers -Wshadow -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion"; OTHER_LDFLAGS = "-bundle -lAAXLibrary"; OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d ppc64_$ppc64 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Extras/CoreAudio/AudioUnits/AUPublic/AUBase\""; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.Arpeggiator; SDKROOT_ppc = macosx10.5; WRAPPER_EXTENSION = component; }; name = Release; }; A6E581C14CB7121F9770B6E8 = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info.plist b/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info.plist index e7e97845c3..f9f29f16cb 100644 --- a/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info.plist +++ b/examples/PlugInSamples/Arpeggiator/Builds/MacOSX/Info.plist @@ -8,7 +8,7 @@ CFBundleIconFile CFBundleIdentifier - com.ROLI.Arpeggiator + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName Arpeggiator CFBundlePackageType diff --git a/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2015/Arpeggiator.vcxproj b/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2015/Arpeggiator.vcxproj index 903aac0dbc..dcedb2c488 100644 --- a/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2015/Arpeggiator.vcxproj +++ b/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2015/Arpeggiator.vcxproj @@ -144,6 +144,15 @@ true + + true + + + true + + + true + true @@ -159,13 +168,34 @@ true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -1282,16 +1312,27 @@ + + + + + + - - - - - + + + + + + + + + + @@ -1415,6 +1456,7 @@ + @@ -1520,7 +1562,6 @@ - diff --git a/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2015/Arpeggiator.vcxproj.filters b/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2015/Arpeggiator.vcxproj.filters index 0e8c5e1ca7..299b727978 100644 --- a/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2015/Arpeggiator.vcxproj.filters +++ b/examples/PlugInSamples/Arpeggiator/Builds/VisualStudio2015/Arpeggiator.vcxproj.filters @@ -17,11 +17,14 @@ {A33A1E1D-AC2C-6382-8681-48B0FC374C60} + + {11A75801-B027-40BD-4993-023023ACCBF7} + {3FD908F5-98C8-9A61-FC03-0BAF8913CBB0} - - {11A75801-B027-40BD-4993-023023ACCBF7} + + {8C868E51-156D-A916-047C-0D9EA1393675} {EF2CAB40-0432-429B-C517-86ADF136BB8A} @@ -331,6 +334,15 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\midi @@ -346,14 +358,35 @@ Juce Modules\juce_audio_basics\midi - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\midi - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe Juce Modules\juce_audio_basics\sources @@ -1596,6 +1629,24 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\midi @@ -1611,20 +1662,35 @@ Juce Modules\juce_audio_basics\midi - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\midi - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe Juce Modules\juce_audio_basics\sources @@ -1995,6 +2061,9 @@ Juce Modules\juce_core\containers + + Juce Modules\juce_core\containers + Juce Modules\juce_core\containers @@ -2310,9 +2379,6 @@ Juce Modules\juce_events\broadcasters - - Juce Modules\juce_events\broadcasters - Juce Modules\juce_events\interprocess diff --git a/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/GainPlugIn.xcodeproj/project.pbxproj b/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/GainPlugIn.xcodeproj/project.pbxproj index 20f6ebaef2..092cf03d71 100644 --- a/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/GainPlugIn.xcodeproj/project.pbxproj +++ b/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/GainPlugIn.xcodeproj/project.pbxproj @@ -81,6 +81,7 @@ 015E97C363F4CE0656327274 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; 01947181134AC4100C1E9540 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 02325FB27988AABC15E9F7D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; + 027412328DE49125F841AE57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; }; 02B9FBB01F321F92651F6281 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; 03BE4C840DFCADC9DEACA964 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; 0403E9194FBB5396D56C0D17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CameraDevice.cpp"; path = "../../../../../modules/juce_video/capture/juce_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -98,6 +99,7 @@ 067F87AAA6D0615FE189F604 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLShaderProgram.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h"; sourceTree = "SOURCE_ROOT"; }; 06DE65F9C3237B91CA3E4626 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; 072EC0BD45686F0D876AFC9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; + 074AA27AF6DEA1DD843C42D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; 077D5141707A5EB4513D7CC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; 07AB0727D7D9D9DE22CFE455 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; 0837E472178D483FA7AFEDFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; @@ -112,6 +114,7 @@ 0C2D7C6FB347CEA06CC25E41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; 0C46760C35F7C80B22188D08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; }; 0CF532889CC441CDFB9DCDCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0CFA4CB74568DE690B65D1AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; 0D2A7858B11DFF41AE0F0D18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 0DD046EBFAD0AC88E36223BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; }; 0DE3329E6C98F8DAB5196BB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; @@ -137,6 +140,7 @@ 10ADBBF6AE37D363C7CC5E83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 10C1A45449AFEAAECD62FBD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; 10FAC3FED378E83BBD80220A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; + 1127E52190B4DC4D4133647E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; 112A2BC97499C68DFFD78722 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; 113D54BFCBF4E2FB929AF341 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; 11506A5A3B9249D3BCAAC7D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -148,6 +152,7 @@ 1237FC2746459E7FB10CD5A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; 123A6B31D9C1BA8DA606D6FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 1251EFF2CF96BABFCB30EC84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; + 125AEF47724D755852688941 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 12759DCF0E74DF0087F10917 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; 12CACA7B3A7C79544B110B8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; 12CF82623211831CCEAD1CED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -239,6 +244,7 @@ 2B16BEE619F42394E6CFB6A8 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 2B186C698E4525FF67DC068E = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; }; 2B5BFA938F8B7DD4456242C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2B67B13342F0A3F807DF2B2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; }; 2B7C784CF333CA6BEEF5038A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RTAS_DigiCode1.cpp"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode1.cpp"; sourceTree = "SOURCE_ROOT"; }; 2BC8F8214792631A55C86182 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IncludeModuleHeaders.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_IncludeModuleHeaders.h"; sourceTree = "SOURCE_ROOT"; }; 2C29E6A7967E9244FC3CDE85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; @@ -278,7 +284,9 @@ 3593B89B8CDE59DDA5932F22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Whirlpool.cpp"; path = "../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp"; sourceTree = "SOURCE_ROOT"; }; 35A2079EEF244246A032D04C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; 35B4ED2CB96C0BB28AA63805 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; + 35DA65C71E79224AAE6DC7B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; 365037A479900D98EA46C78D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; + 366835A7E194774D7333EC83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; 3675E748AF7B4196C2DAD7BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; 36848D600B96A3E233D7BE51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; 36D7E127C3C67F84467259F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -310,7 +318,6 @@ 3DF901DCC1FB9BE5E6889989 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 3E42BB9BCDFBE6496FFF1363 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; 3E750A56336FE91FE4190D0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; - 3E9FE02DBB2F6B25D413A6D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; 3EBEC98CB93144341E24A75A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 3F1B1BB001E0EF0215638018 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; 3F2C73A503CF2A3EEB2FA37D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -336,6 +343,7 @@ 45B7DA5829EC535A7358B483 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; 45CF9FC46ECEB2B97446A51C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLExtensions.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h"; sourceTree = "SOURCE_ROOT"; }; 464061B97667C9E017E05B99 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 46D387910B077A3AA7CB9C92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; }; 471D92ACB8B31557BCA3B255 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; 476A4BF63FB8E65B39CDC05F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; 4796877B2EEF190AC4208F86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -351,6 +359,7 @@ 497FA1C5A1D9A978D8D1B163 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; 49DC6529069B211DF4EF0C79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 4A5DB4C153D051E2F4C66052 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; + 4A7AE43CB3279CA55F3CD658 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; 4AF0140AA4611A48B70E8824 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; 4B126CA90C9CEBD9103B601E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; 4B5F20CD00D4F941E076D7B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Whirlpool.h"; path = "../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h"; sourceTree = "SOURCE_ROOT"; }; @@ -361,6 +370,7 @@ 4C1DDE053C0E6BAF542394F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 4C8443CA0D7DEE719DD49A6F = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 4CF34417FEEB19B3F86F6BF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4D636682CC831D76D3BB7C7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; }; 4D99940AA662A7F82431ADEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 4E2D55AD5C0799596BAD8A95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; 4E3C9588F4DF6C1BEA4367CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -422,6 +432,7 @@ 5BD40BA42D700476595054D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; 5C205FD9971CD48899BBF5FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; 5D4D4CA80024F87B12B5631C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5D673258913CCC1B0DED9F51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; 5D9B19FA05348ED861D60B2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; 5DC42627E6F5518217529A9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; 5DCD4BC5BC61EC41393FE43A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUDispatch.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUDispatch.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -598,6 +609,8 @@ 8C6C84652D446F0FA1C71637 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 8C96B65675D85EE1DC3E075C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; 8CD7B01A646341ACCBB0A732 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; }; + 8CE9CC147B5ACCAFF12E599F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8D495F90F56830865D5591A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; }; 8D76E6F96920A62F49C247AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; 8DCC32E9FE5D5A16E99A2DA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; 8DCFE006BA4A373E886F0C81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; @@ -619,6 +632,7 @@ 92834AA91135F9049B69068A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RSAKey.h"; path = "../../../../../modules/juce_cryptography/encryption/juce_RSAKey.h"; sourceTree = "SOURCE_ROOT"; }; 92EC9D7739D7B8886EC93C87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 939172D714BB97C1064800F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; + 93D22E30CF61C961B6CE1733 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; 9420B606457A7060C2F978B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; 950E2B80BD70E212D87E31D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; 9517F9EEE18C1038E1497FA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; }; @@ -629,6 +643,7 @@ 95F5B0723C24598C877C8DAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 95FC2D683A0E0F41FAD02E8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; 9740A9390ECA80CAA92382D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; + 97B472DF9AD7A1AB538868F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; }; 97E3D56E1E5016E8069EB3F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 981DA305340363E4119DC2F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; 98B0BA1AE40B5C9896E10B5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -812,6 +827,7 @@ CB9221C8E22E7CD43BC03A69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; CC8A51BAA9DFE6BF2E35F72E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; CC9362142B6BAC4A72B9C872 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; + CC99560FE6EBDC39D071BBC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; CD117363B0E312AAFD54FA9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; CE2E472DD3539C039CB07480 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; CE2EAFD2AE799027E2F90866 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; @@ -895,6 +911,7 @@ E219774D186DF70D694D2768 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FakeMouseMoveGenerator.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_FakeMouseMoveGenerator.h"; sourceTree = "SOURCE_ROOT"; }; E221C545F4A08B1422CC6708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; E22A8C6006C3BD972035B132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + E2C54EC051B9509356592AE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; E394CA84B664710B3771ACAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; E3958C99991C2CDD36DB609D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; E407EB81948286696C44549D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewControl.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewControl.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -936,7 +953,9 @@ ECDE37F9E82739051FB71056 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; ECF93FB75583FDA74259A503 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; ECFED4F63BCB9E823BE82505 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + ED5AAE97A896206C7243B3B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; }; ED921D42FF3C5D33AEFF5609 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + EDAB6EF5F96B6F95B5AF2669 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; }; EE29E33BC698ECA4ED4C44B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; EE2B71E866AFDA7C92D9CFAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; EE3D9D885DC024F73E7BA834 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CarbonEventHandler.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CarbonEventHandler.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -948,8 +967,10 @@ EF967C07CC287C17EF57A3F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; EF9CFCD6A5BEAD685E992C75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; F02702BECFB98B36CED9D3F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F06C83C04FC16618FBA9BFBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; F12E2F9633C0C10172C7EB29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBase.cpp"; sourceTree = "SOURCE_ROOT"; }; F1475CE46C7D261D36DF7E62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; + F19532C9A9B834EF732E2C52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; F1B4EC755365729CF9850E27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; F1C1D72B4B911227DF608946 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; F28941FBBB1C31040CDFEA67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; @@ -987,11 +1008,11 @@ F9B2244F5EFA1FFA722DA562 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; FA20C873EDCF671DD973E3F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; FA45F5639F77F80ED3580D13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - FA4B060DCFA1FF9AA15C1FF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLPixelFormat.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; FA8D7F0CB75953BD21B37929 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLContext.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp"; sourceTree = "SOURCE_ROOT"; }; - FA905D2AD00F1A5ED9D55D36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; FAD1FB98450C939FAB191F42 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; 87149B629BF27D063AFF0BB9 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = GainPlugIn.component; sourceTree = "BUILT_PRODUCTS_DIR"; }; + FA4B060DCFA1FF9AA15C1FF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLPixelFormat.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + FA905D2AD00F1A5ED9D55D36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; FB543B91C7E0C32D35F9936B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; }; FB954DE9B8BEC80A9B7E33DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; FCB0A5982114DD8E9C3C48BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -1016,7 +1037,17 @@ 237733D1EA87B4C27665E50C, 1D0EE5EAD6884214BB2D262E, 21B97DA05679BB8EE0C91A65, ); name = buffers; sourceTree = ""; }; - CDB25F907D5B4AA44E5EE13B = {isa = PBXGroup; children = ( + C9460E5A3D79B9B640DE09DF = {isa = PBXGroup; children = ( + 00588853E1349AC4628FBE4E, + D12A713DA14521B90404F672, + 75F909BD93C1C29809827E08, + CA26DA522E4998DF00EC3927, + 4EDA6213BB262D96FEE0AA55, + 45B7DA5829EC535A7358B483, + 8A57DF9994DB00CF1232E8A3, + EDAB6EF5F96B6F95B5AF2669, + 11FD04163B441355109B6404, ); name = effects; sourceTree = ""; }; + E8E600A3F6A8CC15DA4AB380 = {isa = PBXGroup; children = ( 05214F029B4F78722B9642EF, 25E400988B2BFD763207E0EC, 3188471C61CFEC8036BE0FBC, @@ -1026,17 +1057,29 @@ 0022D310074F4B82ED8704D3, 5655B03A7E02DB37AFC641FD, 27A630A986DDEFB7182E59BA, - E52C9CE6870145C1B27963B4, ); name = midi; sourceTree = ""; }; - 201F1D89F1C417151BA37926 = {isa = PBXGroup; children = ( - 00588853E1349AC4628FBE4E, - D12A713DA14521B90404F672, - 75F909BD93C1C29809827E08, - CA26DA522E4998DF00EC3927, - 4EDA6213BB262D96FEE0AA55, - 45B7DA5829EC535A7358B483, - 8A57DF9994DB00CF1232E8A3, - 11FD04163B441355109B6404, ); name = effects; sourceTree = ""; }; - 553B171FBE5102953DE5E0D6 = {isa = PBXGroup; children = ( + E52C9CE6870145C1B27963B4, + 2B67B13342F0A3F807DF2B2A, + 97B472DF9AD7A1AB538868F2, ); name = midi; sourceTree = ""; }; + 4FC4DCB960A47FF99D235E40 = {isa = PBXGroup; children = ( + 8CE9CC147B5ACCAFF12E599F, + ED5AAE97A896206C7243B3B3, + 027412328DE49125F841AE57, + 1127E52190B4DC4D4133647E, + 4A7AE43CB3279CA55F3CD658, + 8D495F90F56830865D5591A3, + 0CFA4CB74568DE690B65D1AE, + 366835A7E194774D7333EC83, + 125AEF47724D755852688941, + CC99560FE6EBDC39D071BBC5, + 4D636682CC831D76D3BB7C7B, + 46D387910B077A3AA7CB9C92, + 5D673258913CCC1B0DED9F51, + 35DA65C71E79224AAE6DC7B8, + F06C83C04FC16618FBA9BFBA, + E2C54EC051B9509356592AE1, + F19532C9A9B834EF732E2C52, + 074AA27AF6DEA1DD843C42D6, ); name = mpe; sourceTree = ""; }; + 913FA6ECB5D8A89C282D9F25 = {isa = PBXGroup; children = ( DB230439C2B74460A935E0EA, 10927CA28A3C411F2F40490C, F3BFC5ADFAD663890D658894, @@ -1053,15 +1096,16 @@ F945ADAF44E9F3EF76FF78AD, 3396C7F7CD64F9A70357CEE9, 70A8196A5040003FBF7D67D6, ); name = sources; sourceTree = ""; }; - 42254536EA2D807E93C6C7A8 = {isa = PBXGroup; children = ( + EDAF359D3673E30BB3E188DE = {isa = PBXGroup; children = ( 9079597BEBFAC1474AE04618, 1EF7D8DB5497858765CDCCF8, ); name = synthesisers; sourceTree = ""; }; 9F77553445814637D3E8C676 = {isa = PBXGroup; children = ( CCA17014988EBD48A5ED5DD6, - CDB25F907D5B4AA44E5EE13B, - 201F1D89F1C417151BA37926, - 553B171FBE5102953DE5E0D6, - 42254536EA2D807E93C6C7A8, + C9460E5A3D79B9B640DE09DF, + E8E600A3F6A8CC15DA4AB380, + 4FC4DCB960A47FF99D235E40, + 913FA6ECB5D8A89C282D9F25, + EDAF359D3673E30BB3E188DE, 4944D74AFDAD75D539AEB8D4, 5015777ECDDAC17D0C132F34, ); name = "juce_audio_basics"; sourceTree = ""; }; 690D35B2436D4D22FB1ABF16 = {isa = PBXGroup; children = ( @@ -1314,6 +1358,7 @@ BE1897DD24C0D246E3A3CAFE, 6128AC2D8968E03358270E2C, 1A94132E3E360E82F17A6BC4, + 93D22E30CF61C961B6CE1733, 0DF6C35510888847D1E902F5, CA8A03AA754B6D2E50407614, 5BC3CDD41499BB93EE4C240C, @@ -1555,8 +1600,7 @@ D513D324C35DB0ABE2072669, B27A9D33D351006D133C2A4F, 741EA80E2D8B179A8CC3C486, - D5473FF02298634F76630131, - 3E9FE02DBB2F6B25D413A6D7, ); name = broadcasters; sourceTree = ""; }; + D5473FF02298634F76630131, ); name = broadcasters; sourceTree = ""; }; EB300AC888CF5699661F9982 = {isa = PBXGroup; children = ( 2152D28F9FCD5E968AB74A6D, 6AF0F56FACEF5F8F62CABABD, @@ -2203,6 +2247,7 @@ MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; OTHER_LDFLAGS = "-bundle -lAAXLibrary"; OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d ppc64_$ppc64 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Extras/CoreAudio/AudioUnits/AUPublic/AUBase\""; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.GainPlugIn; SDKROOT_ppc = macosx10.5; WRAPPER_EXTENSION = component; }; name = Debug; }; A1C396C5187D6F9F4B486EDD = {isa = XCBuildConfiguration; buildSettings = { @@ -2231,11 +2276,13 @@ MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; OTHER_LDFLAGS = "-bundle -lAAXLibrary"; OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d ppc64_$ppc64 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Extras/CoreAudio/AudioUnits/AUPublic/AUBase\""; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.GainPlugIn; SDKROOT_ppc = macosx10.5; WRAPPER_EXTENSION = component; }; name = Release; }; 12107CEF96782BFB9B82B7AC = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info.plist b/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info.plist index 1625f56102..107b93b782 100644 --- a/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info.plist +++ b/examples/PlugInSamples/GainPlugIn/Builds/MacOSX/Info.plist @@ -8,7 +8,7 @@ CFBundleIconFile CFBundleIdentifier - com.ROLI.GainPlugIn + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName GainPlugIn CFBundlePackageType diff --git a/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2015/GainPlugIn.vcxproj b/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2015/GainPlugIn.vcxproj index d916b12c70..0e111abf55 100644 --- a/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2015/GainPlugIn.vcxproj +++ b/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2015/GainPlugIn.vcxproj @@ -144,6 +144,15 @@ true + + true + + + true + + + true + true @@ -159,13 +168,34 @@ true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -1282,16 +1312,27 @@ + + + + + + - - - - - + + + + + + + + + + @@ -1415,6 +1456,7 @@ + @@ -1520,7 +1562,6 @@ - diff --git a/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2015/GainPlugIn.vcxproj.filters b/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2015/GainPlugIn.vcxproj.filters index baeca9af66..5f64c35324 100644 --- a/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2015/GainPlugIn.vcxproj.filters +++ b/examples/PlugInSamples/GainPlugIn/Builds/VisualStudio2015/GainPlugIn.vcxproj.filters @@ -17,11 +17,14 @@ {A33A1E1D-AC2C-6382-8681-48B0FC374C60} + + {11A75801-B027-40BD-4993-023023ACCBF7} + {3FD908F5-98C8-9A61-FC03-0BAF8913CBB0} - - {11A75801-B027-40BD-4993-023023ACCBF7} + + {8C868E51-156D-A916-047C-0D9EA1393675} {EF2CAB40-0432-429B-C517-86ADF136BB8A} @@ -331,6 +334,15 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\midi @@ -346,14 +358,35 @@ Juce Modules\juce_audio_basics\midi - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\midi - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe Juce Modules\juce_audio_basics\sources @@ -1596,6 +1629,24 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\midi @@ -1611,20 +1662,35 @@ Juce Modules\juce_audio_basics\midi - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\midi - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe Juce Modules\juce_audio_basics\sources @@ -1995,6 +2061,9 @@ Juce Modules\juce_core\containers + + Juce Modules\juce_core\containers + Juce Modules\juce_core\containers @@ -2310,9 +2379,6 @@ Juce Modules\juce_events\broadcasters - - Juce Modules\juce_events\broadcasters - Juce Modules\juce_events\interprocess diff --git a/examples/PlugInSamples/GainPlugIn/GainPlugIn.jucer b/examples/PlugInSamples/GainPlugIn/GainPlugIn.jucer index 7a5df57696..8aeb183a5c 100644 --- a/examples/PlugInSamples/GainPlugIn/GainPlugIn.jucer +++ b/examples/PlugInSamples/GainPlugIn/GainPlugIn.jucer @@ -8,7 +8,7 @@ pluginIsSynth="0" pluginWantsMidiIn="0" pluginProducesMidiOut="0" pluginSilenceInIsSilenceOut="1" pluginEditorRequiresKeys="0" pluginAUExportPrefix="GainPlugInAU" pluginRTASCategory="" aaxIdentifier="com.ROLI.GainPlugIn" - pluginAAXCategory="AAX_ePlugInCategory_Dynamics" jucerVersion="4.0.2" + pluginAAXCategory="AAX_ePlugInCategory_Dynamics" jucerVersion="4.1.0" pluginIsMidiEffectPlugin="0"> diff --git a/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/Info.plist b/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/Info.plist index dea72daa4c..e0c5ec1206 100644 --- a/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/Info.plist +++ b/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/Info.plist @@ -8,7 +8,7 @@ CFBundleIconFile CFBundleIdentifier - com.ROLI.MultiOutSynth + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName MultiOutSynth CFBundlePackageType diff --git a/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/MultiOutSynth.xcodeproj/project.pbxproj b/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/MultiOutSynth.xcodeproj/project.pbxproj index a5166b677b..7e1098b8a1 100644 --- a/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/MultiOutSynth.xcodeproj/project.pbxproj +++ b/examples/PlugInSamples/MultiOutSynth/Builds/MacOSX/MultiOutSynth.xcodeproj/project.pbxproj @@ -72,6 +72,7 @@ 000AC5FF554793776E3AA4FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; 002CC17409E195D13298FB0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; 00AEE6823FC9C1A4913C7747 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 0131FC9AFE713F21B922F009 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 014566D04367E8AC6C3E5494 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 017CCA9557BD06B5BDD9E3AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUScopeElement.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUScopeElement.cpp"; sourceTree = "SOURCE_ROOT"; }; 020ADF783703D9BA9DCD3D7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -151,6 +152,8 @@ 161F437161F652CD3D05E7DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 164E2C468EA1492CC75B1A67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 16F9C729308D7F52D194ECFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; + 171E2A766009DC7F5766E7D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; }; + 17561E7ABD87311B2693596E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; }; 178435F0CA12608B22C45154 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; 17883F1D2C9554BF9CCCDCBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; 178944D8D270668280542984 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -171,6 +174,7 @@ 195890E4E6C23E08A84D96CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; 198DE0A56C502B27A9594FB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 19DBDBD739D1DA9E9DC333D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 1A5DA527683597B26ED9C82F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; 1B250B6B2BB1021C9171C253 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; 1B468DBA17F78A4C46EFDB34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CheckSettingMacros.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h"; sourceTree = "SOURCE_ROOT"; }; 1B61ACAEDE5042CAE76E5604 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; @@ -213,7 +217,6 @@ 2613AA4577571B92CE39F6C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; 2641826B6F48226186091387 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 26DB004476F7F4944A6A9AA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; - 27082116535CD9AE4EC30F38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; 27170419E6F8EC6BD7C8BCA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; 273D9E2E857E120E21A6288A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; 2757B658C783233B21C07F8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -363,6 +366,7 @@ 4AEC0F849EBE143B5B7ADDE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; 4B4395FD0B981840C14E2344 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; 4B46AE20905B34DFA0AF76C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; + 4BC964E3D06331BCF6218D9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; 4BFC336E5E422B4F7AC270F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; 4BFC4BAE9302DCBFB1C464B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 4CE235E66B9E5E1A10B337E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; @@ -371,6 +375,7 @@ 4D7B7390B8ADA5BCB2FC4D7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; 4E1182D5F41EB84A74D6F261 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 4E42E6E91CA59435A4ECF5FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4E4515C1E964BE8E471211A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; 4E57D180512E7FD62B4FBA86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; 4E9D35F434E31D2166A0DCB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; 4EA4942EFEF5159987BA8048 = {isa = PBXFileReference; lastKnownFileType = file.ogg; name = singing.ogg; path = ../../Source/BinaryData/singing.ogg; sourceTree = "SOURCE_ROOT"; }; @@ -513,6 +518,7 @@ 701887A3C3EE66EEF8EF0961 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterFloat.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"; sourceTree = "SOURCE_ROOT"; }; 706EA223A5859B5B1D9AE107 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; 70BC3C87909EA4BAA5A23BFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 70C5C7441E1ABDD141697357 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; }; 70D716A3A5CB882444F74D9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 716620BCB7F02A85EEC40C7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 71CA2D69B013364826D13ED5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; @@ -520,6 +526,7 @@ 729F1EFFD61EE82D7AE1786A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 72B595E3E9871AE21AD1965F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; 72BD50416C51413DCBD7D8DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_win32.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_win32.h"; sourceTree = "SOURCE_ROOT"; }; + 73725E43E7F0A24F4EF85454 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; }; 73CB12292CE60AB18538AF4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; 74419B36F967A905E6420456 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; 749953F7CA095C042B1B4559 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -562,6 +569,7 @@ 7F5AC5802C5F3456000B33E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; 7F6829C8ACDB4BFDAFE28980 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; 7FB910D43631077DB32A2110 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; + 7FF0BA5F88A0A8B52C507D28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; 80040993DA30B1F497A07EA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; 800E8059F047CEB061C075A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 80625D96A668687AC550A820 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; @@ -577,6 +585,7 @@ 83451E47EC6D450257F8BA55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; 83523069062525815BFD036F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; 836EAC1C5D126C6C8907E8C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AU_Wrapper.mm"; path = "../../../../../modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm"; sourceTree = "SOURCE_ROOT"; }; + 8374955FFBDFF30233E30708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; 846285470BF62A799EDE2325 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; 846AA1CDFADEBB73B72CE6C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 846B7257E942D68688EA379A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -584,6 +593,7 @@ 84F75A3966D4F24241B3CCA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; 85B2725C830D3AE0F1A47C2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; 85C014F835B48411CB12B57E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8684A652B0449DFDF4DAA4B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; }; 86DEFDF770D2D154CEE92B63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; 86FD2BEB554C25724A2AF813 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RTAS_DigiCode1.cpp"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode1.cpp"; sourceTree = "SOURCE_ROOT"; }; 870B0A5554D4D10C714885E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -609,6 +619,7 @@ 8AC10A34622E7BC408140CA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; 8AED28A9FB0E39665E7815B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; 8B06ADD5C4EE0C60F07616F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterBool.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"; sourceTree = "SOURCE_ROOT"; }; + 8B63CF0D72940D7FEE5CD031 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; 8B8E7EDC3FDB461257EEB131 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 8B91222AA8F3B575C73C0CA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; 8BC913A5669953BFE5A456F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FakeMouseMoveGenerator.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_FakeMouseMoveGenerator.h"; sourceTree = "SOURCE_ROOT"; }; @@ -617,6 +628,7 @@ 8D3FA5C2C12EC7E60EAD2B2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; 8D8D6C4E9A3B9D7ECA7A8B6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; 8E7404BA40E1808B5ED7E648 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 8EB72E0BBFF2C0E0BA3EDA96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; 8F6829961A0F50B8265BD9CB = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; 8F808F4330D4F791E62FC452 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; 8F9997207C596AF8202322E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -696,6 +708,7 @@ A15FA1277122C51BBC59CA88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; A19D22E0A27BAE1FC50CE613 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; A1F225D69FED37DF00EA8785 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + A2747584601435BA6B3D5CDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; A32F1AA27CD6AB49CB228FCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; A36AA1398C4541FE5C6AFB2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; A3891F76A362C09F73786739 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; @@ -703,6 +716,7 @@ A53147DCDEB082194C22B621 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; A531A8EF845CA83185289794 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; A54BD09649A116C594A3A5A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; + A5517A628BE856C29017BA31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; }; A56E6BF5D58DAB115AB2C7F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; A5B89CA940B7EB19170AD83A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; A5C098E2A6A7ABB35F5B86DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -747,6 +761,7 @@ B16C314C068BA840D4C85E3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; B19D9B4BBB6FE2A7D87858F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; B1E2909AE12C3CDB53D73092 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + B1FEC640A51E3FA12BC20E0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; B224AC09365587D008350995 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; B2257ED7F84FF2ECDFFE46F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; B2DC593E5D8E5F920309CFFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -792,17 +807,20 @@ C08649E52B86DF11BFEA005C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; C0FEDD014D61F70AF5E487C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; C11EE4B9FC2D96C53F50BCDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; + C13560671ADE38C728067652 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; }; C17936056CB37CDC047FFDB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; C1B9FC52A734E68F31FCC26A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; C24225BBC1A782BEB1B1A631 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; C2800EE214F48F4A1A754A13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; C2EF85C94EA976606FFA4D9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; + C30136753CC983A267920749 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; C31833453401D61E252001B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; C3D0A23DF844C5A6ADF37600 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; C3DD39031B0142481AEB5469 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; C4325E86FCBE01FC9E65C6FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; C44C58F5A4D9D8EEC658DDB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CameraDevice.mm"; path = "../../../../../modules/juce_video/native/juce_mac_CameraDevice.mm"; sourceTree = "SOURCE_ROOT"; }; C453837C3342293C205C2F83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; + C49E420FD1E187FA65B8DD59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; }; C4B9D5E8565EEA36D3C53523 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; C543793FB12BB110AED9D59E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; C55BA71B6FDCD2E164586597 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; @@ -813,58 +831,58 @@ C669B2C94347112865575479 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; C70AF24CE449413957076690 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLContext.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h"; sourceTree = "SOURCE_ROOT"; }; C7570B6C472BBE132D6EA308 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; + C7620DBAD9E38AA49607E8A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; }; C78B08A40E0F71F8091C8F58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; C7A1DF50E15C11D93375BD53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; - C7FF15427F8871470BFA4820 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; C89360329ADE7BE3C58AB6ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; - C8FDFE252C3E17D4A02C256E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; - C9D607D1006DC507DED7889F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - C9F38DEE0CD76DA4FF6BBDF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; CA5EBD7676B224123E102A1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + CA8CF02AC2665E599ECF7A7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; CAAE1D22DACE9CACB93B2129 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; CAF48DE29336FD7E6BA83365 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; + CB841032A149EE040BB59594 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; CC9DCEC108739FBC8A377A22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_osx.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_osx.h"; sourceTree = "SOURCE_ROOT"; }; CCF97D006BD017722C74B6A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MusicDeviceBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/MusicDeviceBase.cpp"; sourceTree = "SOURCE_ROOT"; }; CD02F270DE7AE1635A3E423E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; - CD111D36AD8E9D73CE9739F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; CD21B4F62CDF547C13D747C3 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - CD26D70DEFE69EB620F09443 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; - CD4A4B5DF38D0F6C1B5CA961 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - CD4CB495D75A2ABAA66A2951 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - CEEC9947F99D7F39C77DE79B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; - D06DCC799C2F8567B19C2B0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; - D18DE409087FFFDCA4187D4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; - D21FC426C0106FDE24A94A5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; - D5445BE1A8D52195956FD045 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; - D5BD3DE485D0F4E7C3BB6A0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; - D719C3CB67E409229DF1DC12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; - DAC36A924C848D4620ACBBDB = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; - DC6ADA91CE5D30DDB24E5A7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; - DDE7DA42F3224AE87479C531 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; - DDEC9F2E4879D892EE4D5D14 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; - 4854B1D7DF32D117BB7E4D1F = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MultiOutSynth.component; sourceTree = "BUILT_PRODUCTS_DIR"; }; - C30136753CC983A267920749 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; - CA8CF02AC2665E599ECF7A7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; - CB1789262FD3A919F45A7FD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; - CB841032A149EE040BB59594 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; - CC1F87E59205712A0B2B08D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginHostType.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_PluginHostType.h"; sourceTree = "SOURCE_ROOT"; }; CD2CEC703F63930859D26DBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; - CDB15D2B8437758B0F7434B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; CE1C954808FDA669FEEFDC2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; CEA5C634122F13B61BC06B2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; CF2A59FABE1AEC5251A7C9A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAAudioChannelLayout.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAudioChannelLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + D18DE409087FFFDCA4187D4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; + D44AA51289630AADC5B6790C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + D5445BE1A8D52195956FD045 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + DAC36A924C848D4620ACBBDB = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; + DC6ADA91CE5D30DDB24E5A7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; + DDEC9F2E4879D892EE4D5D14 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; + 4854B1D7DF32D117BB7E4D1F = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MultiOutSynth.component; sourceTree = "BUILT_PRODUCTS_DIR"; }; + C785485A7DC04A2134F4F2B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; + C7FF15427F8871470BFA4820 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + C8FDFE252C3E17D4A02C256E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; + C9D607D1006DC507DED7889F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + C9F38DEE0CD76DA4FF6BBDF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + CB1789262FD3A919F45A7FD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; + CC1F87E59205712A0B2B08D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginHostType.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_PluginHostType.h"; sourceTree = "SOURCE_ROOT"; }; + CD111D36AD8E9D73CE9739F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; + CD26D70DEFE69EB620F09443 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; + CD4A4B5DF38D0F6C1B5CA961 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + CD4CB495D75A2ABAA66A2951 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + CDB15D2B8437758B0F7434B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; + CEEC9947F99D7F39C77DE79B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; D01619CC43F88EC81883B673 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; + D06DCC799C2F8567B19C2B0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; + D21FC426C0106FDE24A94A5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; D29D052F62D8B4DD5965D099 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; D3A6E1B603DE41421B936020 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; - D44AA51289630AADC5B6790C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; D494EAD9146C1223068494AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; D503329DCE178787E5B2D8C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; D50539AB3F3030B5B6EE1E27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; + D5BD3DE485D0F4E7C3BB6A0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; D6257EA24F3F7E3AED2A21BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; D62F1F169DFB880C99CD8735 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; D65B12939D2497DB1D262101 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; D6889EB5ED8960BD2093A686 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; D6A2647F0D5451971FFC64F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + D719C3CB67E409229DF1DC12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; D75404BD545EF7897D43EB0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; D7BE613B990CEDB4030CBBC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; D7CEEB6BD07F4EC64B6AD329 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; @@ -879,12 +897,14 @@ DAD8860FF8B669EDFE4C1A25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; DBAED9DF8F8A34A575B53475 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; DBCB6A4B9FD47F186ED54DE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; + DC3E923567B8D0A82632AE93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; }; DD125DF0B3BB2378B48A6434 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; DD4A6E358F46DEC4600AC71F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; DD610485E54DF8315DA4428A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; DD97A7CBBE42561E6480E3ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewBase.cpp"; sourceTree = "SOURCE_ROOT"; }; DDA1AFBAA2188CE903B2E54A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; DDA7BDCA776F0FF25A0FD157 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; + DDE7DA42F3224AE87479C531 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; DEA56EFE4291A9CD5BC96ED0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; DEDF197765F5312D4BDDC0D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUDispatch.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUDispatch.cpp"; sourceTree = "SOURCE_ROOT"; }; DEEF4C84F0F68E23C3971AC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -993,6 +1013,7 @@ F9B90C281BF97ECE9FC82587 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CameraDevice.cpp"; path = "../../../../../modules/juce_video/capture/juce_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; FA24EA3E5A920F30B57F1D33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; FAA929F0001987BCB1E8EB9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + FB38C824E91E1D9D9870EE2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; FB7613F3D8DDF20FB12F805E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; }; FB99B04786E13E92B0A5DEA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; FBE21CA28CDA215648CD2F13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -1023,7 +1044,17 @@ 26DB004476F7F4944A6A9AA2, DC6ADA91CE5D30DDB24E5A7A, 3BDA347B8ABAB8F412A8775D, ); name = buffers; sourceTree = ""; }; - 9325434184593753EEF34210 = {isa = PBXGroup; children = ( + F0136AEC76EA647325BB9C33 = {isa = PBXGroup; children = ( + BF3758CE73C625C6CDFCE49A, + 1F845F1E4C76D9B6EC0E2E03, + FB7613F3D8DDF20FB12F805E, + 9A30B40360613D3FE6E4977A, + 4D654FC603651F7BB9159FB0, + EC2CF7627F27AA2864A5D7C6, + 27BEC151D14FE6F4E1D39E15, + 73725E43E7F0A24F4EF85454, + D06DCC799C2F8567B19C2B0A, ); name = effects; sourceTree = ""; }; + AAD90CACF4385535D67887E1 = {isa = PBXGroup; children = ( 41488025FDE6C41BF92C67CF, 00AEE6823FC9C1A4913C7747, 568DEA42FC180015FAB05351, @@ -1033,17 +1064,29 @@ 12532B4A3337CC57DD67EE4A, 08215D928696F8C465CE8621, F293FF5EFE9AF4B02F280BD0, - 2D4F50A68C0E086A2C9FB6D5, ); name = midi; sourceTree = ""; }; - 98408C2DD7C2A1CA60C32BC2 = {isa = PBXGroup; children = ( - BF3758CE73C625C6CDFCE49A, - 1F845F1E4C76D9B6EC0E2E03, - FB7613F3D8DDF20FB12F805E, - 9A30B40360613D3FE6E4977A, - 4D654FC603651F7BB9159FB0, - EC2CF7627F27AA2864A5D7C6, - 27BEC151D14FE6F4E1D39E15, - D06DCC799C2F8567B19C2B0A, ); name = effects; sourceTree = ""; }; - 69EC6229D13ECEF53FE1D262 = {isa = PBXGroup; children = ( + 2D4F50A68C0E086A2C9FB6D5, + C7620DBAD9E38AA49607E8A4, + C49E420FD1E187FA65B8DD59, ); name = midi; sourceTree = ""; }; + 1C3131DE5F94DA686A7D4151 = {isa = PBXGroup; children = ( + 8684A652B0449DFDF4DAA4B4, + 171E2A766009DC7F5766E7D0, + 17561E7ABD87311B2693596E, + 8374955FFBDFF30233E30708, + 1A5DA527683597B26ED9C82F, + A5517A628BE856C29017BA31, + 4E4515C1E964BE8E471211A8, + 4BC964E3D06331BCF6218D9E, + DC3E923567B8D0A82632AE93, + B1FEC640A51E3FA12BC20E0A, + 70C5C7441E1ABDD141697357, + C13560671ADE38C728067652, + C785485A7DC04A2134F4F2B3, + FB38C824E91E1D9D9870EE2D, + A2747584601435BA6B3D5CDF, + 8B63CF0D72940D7FEE5CD031, + 0131FC9AFE713F21B922F009, + 7FF0BA5F88A0A8B52C507D28, ); name = mpe; sourceTree = ""; }; + FCBDBAC0DA95D12540B21F69 = {isa = PBXGroup; children = ( 98C80D3580F3F5DEEB2E4B54, 4585AD460114FC89A5E5AFC8, 41D277DB3A04C99DAC3F6970, @@ -1060,15 +1103,16 @@ 3B14066CC1A7CE3F697E6D91, B6854E911F4EBFC8F05BE1A6, 672DBC02D6EDB3050B2289C2, ); name = sources; sourceTree = ""; }; - 78CD8C07D9DDB1BA08932038 = {isa = PBXGroup; children = ( + B9F686C235EFD42C179F16A8 = {isa = PBXGroup; children = ( 1D81EC260CD9B2486EB0C035, 80040993DA30B1F497A07EA3, ); name = synthesisers; sourceTree = ""; }; B857FA4BA21C5AD0321C7F32 = {isa = PBXGroup; children = ( 97B6F387F15B93CF98B48290, - 9325434184593753EEF34210, - 98408C2DD7C2A1CA60C32BC2, - 69EC6229D13ECEF53FE1D262, - 78CD8C07D9DDB1BA08932038, + F0136AEC76EA647325BB9C33, + AAD90CACF4385535D67887E1, + 1C3131DE5F94DA686A7D4151, + FCBDBAC0DA95D12540B21F69, + B9F686C235EFD42C179F16A8, 61384A4EC446167E7F11985A, C31833453401D61E252001B9, ); name = "juce_audio_basics"; sourceTree = ""; }; B1399783AB5A9A2B3D3911E8 = {isa = PBXGroup; children = ( @@ -1321,6 +1365,7 @@ F366732E3ADF596642F1639A, 59D43C502ABCFF34DFB72CA2, BC88BB8A29FC65FD3EB84D76, + 8EB72E0BBFF2C0E0BA3EDA96, CEEC9947F99D7F39C77DE79B, 59C20493E9BF8D89F9238BF1, C24225BBC1A782BEB1B1A631, @@ -1562,8 +1607,7 @@ C11EE4B9FC2D96C53F50BCDB, D75404BD545EF7897D43EB0A, F13ED53195C1AFEC88B36244, - A3891F76A362C09F73786739, - 27082116535CD9AE4EC30F38, ); name = broadcasters; sourceTree = ""; }; + A3891F76A362C09F73786739, ); name = broadcasters; sourceTree = ""; }; 1908BB0424610BC8396867C9 = {isa = PBXGroup; children = ( 9EB89F75DEEB3562DBA2BBC3, 71F462A36BBF13093CDD8175, @@ -2212,6 +2256,7 @@ OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow -Wno-missing-field-initializers -Wshadow -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion"; OTHER_LDFLAGS = "-bundle -lAAXLibrary"; OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d ppc64_$ppc64 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Extras/CoreAudio/AudioUnits/AUPublic/AUBase\""; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.MultiOutSynth; SDKROOT_ppc = macosx10.5; WRAPPER_EXTENSION = component; }; name = Debug; }; 6E412255106D2A5FF632F0C5 = {isa = XCBuildConfiguration; buildSettings = { @@ -2240,11 +2285,13 @@ OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow -Wno-missing-field-initializers -Wshadow -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion"; OTHER_LDFLAGS = "-bundle -lAAXLibrary"; OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d ppc64_$ppc64 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Extras/CoreAudio/AudioUnits/AUPublic/AUBase\""; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.MultiOutSynth; SDKROOT_ppc = macosx10.5; WRAPPER_EXTENSION = component; }; name = Release; }; D56139B213D35348922DEF18 = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2015/MultiOutSynth.vcxproj b/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2015/MultiOutSynth.vcxproj index bd966ce6e3..3175037e1e 100644 --- a/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2015/MultiOutSynth.vcxproj +++ b/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2015/MultiOutSynth.vcxproj @@ -144,6 +144,15 @@ true + + true + + + true + + + true + true @@ -159,13 +168,34 @@ true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -1283,16 +1313,27 @@ + + + + + + - - - - - + + + + + + + + + + @@ -1416,6 +1457,7 @@ + @@ -1521,7 +1563,6 @@ - diff --git a/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2015/MultiOutSynth.vcxproj.filters b/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2015/MultiOutSynth.vcxproj.filters index 2a2e20619c..f7972679c0 100644 --- a/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2015/MultiOutSynth.vcxproj.filters +++ b/examples/PlugInSamples/MultiOutSynth/Builds/VisualStudio2015/MultiOutSynth.vcxproj.filters @@ -20,11 +20,14 @@ {A33A1E1D-AC2C-6382-8681-48B0FC374C60} + + {11A75801-B027-40BD-4993-023023ACCBF7} + {3FD908F5-98C8-9A61-FC03-0BAF8913CBB0} - - {11A75801-B027-40BD-4993-023023ACCBF7} + + {8C868E51-156D-A916-047C-0D9EA1393675} {EF2CAB40-0432-429B-C517-86ADF136BB8A} @@ -334,6 +337,15 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\midi @@ -349,14 +361,35 @@ Juce Modules\juce_audio_basics\midi - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\midi - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe Juce Modules\juce_audio_basics\sources @@ -1602,6 +1635,24 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\midi @@ -1617,20 +1668,35 @@ Juce Modules\juce_audio_basics\midi - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\midi - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe Juce Modules\juce_audio_basics\sources @@ -2001,6 +2067,9 @@ Juce Modules\juce_core\containers + + Juce Modules\juce_core\containers + Juce Modules\juce_core\containers @@ -2316,9 +2385,6 @@ Juce Modules\juce_events\broadcasters - - Juce Modules\juce_events\broadcasters - Juce Modules\juce_events\interprocess diff --git a/examples/PlugInSamples/MultiOutSynth/MultiOutSynth.jucer b/examples/PlugInSamples/MultiOutSynth/MultiOutSynth.jucer index e49d845a4a..eadf342068 100644 --- a/examples/PlugInSamples/MultiOutSynth/MultiOutSynth.jucer +++ b/examples/PlugInSamples/MultiOutSynth/MultiOutSynth.jucer @@ -9,7 +9,7 @@ pluginSilenceInIsSilenceOut="0" pluginEditorRequiresKeys="0" pluginAUExportPrefix="MultiOutSynthAU" pluginRTASCategory="" aaxIdentifier="com.ROLI.MultiOutSynth" pluginAAXCategory="AAX_ePlugInCategory_SWGenerators" - jucerVersion="4.0.2" companyName="ROLI Ltd." companyWebsite="www.roli.com" + jucerVersion="4.1.0" companyName="ROLI Ltd." companyWebsite="www.roli.com" companyEmail="info@juce.com" pluginIsMidiEffectPlugin="0"> diff --git a/examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info.plist b/examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info.plist index 1fc74ea01b..968dcb0a01 100644 --- a/examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info.plist +++ b/examples/PlugInSamples/NoiseGate/Builds/MacOSX/Info.plist @@ -8,7 +8,7 @@ CFBundleIconFile CFBundleIdentifier - com.roli.NoiseGate + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName NoiseGate CFBundlePackageType diff --git a/examples/PlugInSamples/NoiseGate/Builds/MacOSX/NoiseGate.xcodeproj/project.pbxproj b/examples/PlugInSamples/NoiseGate/Builds/MacOSX/NoiseGate.xcodeproj/project.pbxproj index 17d052a589..783aa5aff7 100644 --- a/examples/PlugInSamples/NoiseGate/Builds/MacOSX/NoiseGate.xcodeproj/project.pbxproj +++ b/examples/PlugInSamples/NoiseGate/Builds/MacOSX/NoiseGate.xcodeproj/project.pbxproj @@ -73,6 +73,7 @@ 00F9E4426F088AB1162FFFF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; 010613C644BE3D59642B0236 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; 011ECA3B0A50EBC19D534178 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 016B625C850303B6DEFC8B06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; 016F2A51F3064D1BEDE560D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; 01A79D982F03174319959EF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; 01D916B4FD36FBFBA0F6036B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -127,6 +128,7 @@ 0E433B3D05C0F0DD6F98DD85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 0E6C9B964B771B2BCBCEBCD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; 0FC1D51B60B952D25B74EBED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1002C5D10559D446910ADEDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; }; 1042E64811FFE832B224A59A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; }; 10F6E110D54421324D7FF118 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; 110A2791839AF0A8A3EAEF83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; @@ -210,6 +212,7 @@ 25398FFE0D814EBFF1A51AAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 258861CF979A5C278D2900E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; 259860F50BF88025C9451A37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; + 262F949CA9D33E194281DF14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; 266B77C47D17B1BF65EF6C64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; 2692844292F9B2EF9C2A3B63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; 26C683F1B50315F7D54F2B4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -238,6 +241,7 @@ 2DBA2F48AF1591A3EB1B0C21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; 2DD2731D86AFD89EA4C8BBB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; 2DD29819AFA3A5F3E07BD965 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; + 2DE7F5CB550369147A926A22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; 2E1C905B950B22F3D62A7826 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; 2E6372C0453C24714BAF52D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; }; 2E7C45A3DE967DA2042E77D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -277,6 +281,7 @@ 38FF7F334650E302FF70770D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; 39330A1B1B7B8221577B5287 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 39B623717771E10C10DB4203 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; + 3ADEE51FBB32B9E7CDD3A924 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; 3B8EA21CAF31E3EBF86C72C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; 3BA94AB680CAB0079326E155 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; 3C3243F7C991EB9425F3AA42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -295,6 +300,7 @@ 3ED2CBBCD8CD636730F6771F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; 3EF69AC6D7A75BCF43A2FE91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; 3FCF0AC87F15299AEE4E0085 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 3FE30040DBAE8D28275C4533 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; 401E5E8894DDB1D48D23A116 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; 40D306B2EBC7C4D75A0F4D98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; 40FB4762ABA47B642C71DC23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; @@ -324,6 +330,7 @@ 47E718B88C4DBCAB24ECED6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; 47E8924D97788E68FD007DFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; 485418F6ADC8752DD9F99DCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; }; + 488951B27D3508D6835C8BE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; 4935AF0293FD72FCA1A20601 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; 4948EE5199F5B112D3D5A956 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; 49C5DE8EAAE4AEBAF7BA60A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; @@ -334,6 +341,7 @@ 4BA8C030EBAD032677A603EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; 4BACF3260C3D989D1134FD27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 4BD658660C6B6A5A67B93187 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4C27DB310396A866B2917A15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; 4C2CF6BC5BDC337F11F8E64B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 4C3FC93FCFD846D2CD7038F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; 4C69398466F6DD914602C907 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; @@ -376,13 +384,14 @@ 5594AF89F8EA68B7F0296F78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; 55A0272BFAEAD9E1F3895068 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; 55F359FA31D7FE4CA10AB533 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; - 55F6E36F65E1E0A89EAA9FBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; 55FBB3ADE143ECCD6E154196 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; 5667737D7AFBE57506EA08F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; + 569B70D86CB4966AFBAEB5BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; }; 56F5CC34D255847725356493 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; 571B0C346579CCD9F6F9A6D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; 57298B969E81834AE86812D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; 57DF22B9C166595A356364F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; + 57EB3B0C971107A667B0B9DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; }; 580A589FD052C519B103607A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLContext.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 58559FB6482E5AF25EFAD70C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; 589790462BFA1ACD31F0042E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; @@ -572,6 +581,7 @@ 8A1F5A87C3B2CCEA93585F83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; }; 8A44C26ED69578525502B4A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 8ABC8FFA9062954E385544CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 8ADC67E56AA14EC05BBF681A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 8B486E598F012F91FA7559C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; 8B4F542918794989863D35ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; 8CA9B7EE49BD83035EFE86E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; @@ -615,6 +625,7 @@ 9602F721F59305974F6CD26D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; 960619C8B62DDD99E5C7E973 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; }; 96302BC71AF750DF0F00ED14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9655EC304547418EE0F73AB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; }; 971613FC789719C3F6D2E5B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; 972767EADE58482A1C7BF65C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 97CE8E2B4E405E8C9199E2B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -623,6 +634,7 @@ 9840126F3F4C38B60332CDDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; 98AA1B3E2E60CBE1E9EFB73A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; 99025567594494D7CF194D7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 999B9F4C3F6091ADBA9421E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; }; 99CFD965842860C4248EFB4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; 99DBD2D02979E38C288F1C7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; 9A0A19875BF42ABAEA7BE5A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -669,6 +681,7 @@ A2CF63640DAFC02E02EF0E7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; A35FA240D1B9B62278997E63 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; A43DCE541DAFF4006D5405D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; + A4409A13BED13FDFBC5B4552 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; }; A46F3CFCD04B5B97CC845A23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; A54A606A16B534B45C59CE8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; A57C11933D8DB9EC58479065 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLGraphicsContext.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -694,6 +707,7 @@ A96A725563AEF91D0FBFA691 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; A977A4055E854FA3E893B043 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; A98DBC09FFE32743F0AC6C3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MD5.h"; path = "../../../../../modules/juce_cryptography/hashing/juce_MD5.h"; sourceTree = "SOURCE_ROOT"; }; + A9C5A07DC31D544051025C80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; AA5E59C590D4B439AA60F87D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeMovieComponent.h"; path = "../../../../../modules/juce_video/playback/juce_QuickTimeMovieComponent.h"; sourceTree = "SOURCE_ROOT"; }; AA9B31B85C75B0CA6DA24741 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; ABCF504D78AFDC9C1C0AE41A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; @@ -712,6 +726,7 @@ B0C0D96339D48277760418C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; B0E97BE292E3D682C05BA857 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; B12EE6AF06E03901F0F155E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; + B16225EF7398EAE3D96ED4FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; }; B17CF6FB971C27506797A7ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; B1F80E8BADE2F82A20D517F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; B2329BE06F6CB7B939F2707C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -745,6 +760,7 @@ B9A21AE64CC4B86FC1F67061 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginUtilities.cpp"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp"; sourceTree = "SOURCE_ROOT"; }; BA9309916A0ECFD82AB55A06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; BB0C0C019EF35B3EEAFB165F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + BB1056A76B51437D49207330 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; }; BB1D32224A52A6C18E5B070F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; BB6BD1571D257BFABEA6EC35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; BB7C17AF74A27DB50E8995D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -757,8 +773,10 @@ BD79391479F73580810F52AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; BDA9DDCC46750F9BEC942F54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; BDF3BEDEBF9A3DC15D5D9CED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; + BDF6569EACC07DC73258C685 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; BE60354576FEEF833B0D8F18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; BE959CAE23A6B132936F35D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MD5.cpp"; path = "../../../../../modules/juce_cryptography/hashing/juce_MD5.cpp"; sourceTree = "SOURCE_ROOT"; }; + BEA30517C0F46A7F15548C27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; }; BF52836BE388BD649AE3568B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; BF7D8E074246E8D83D82C1F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; BFD1E323CFA0C31373F17005 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; }; @@ -786,6 +804,7 @@ C6133FECB081DAF238300AF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CarbonEventHandler.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CarbonEventHandler.cpp"; sourceTree = "SOURCE_ROOT"; }; C617096451F177459C4C667C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MusicDeviceBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/MusicDeviceBase.cpp"; sourceTree = "SOURCE_ROOT"; }; C62AED30E688772F7AE78618 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; + C6392B4465535F02C6C37BA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; }; C65373B23FC2A7F22E3FEC01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; C6A9A10636624D5D1B63F6BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; C7112156016984DD3F77B39F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; @@ -807,6 +826,7 @@ CA6E05682098587BB2DF5FA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; CABF309B0893ACB234F3A8B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; CB208336B1C9C1D9AA906BB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; + CB3093468EDB60AED639D308 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; CB425D61E072DED92F6CAC85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AU_Wrapper.mm"; path = "../../../../../modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm"; sourceTree = "SOURCE_ROOT"; }; CB83B999879BF9C635AE0AB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; CB9FB800411BB27FAC82E799 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; @@ -936,6 +956,7 @@ EE004DC5369648F9F4F967B5 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; EE251D7EB5D3AE227EC1EFFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLGraphicsContext.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; EE4F068BCE9F99CE4CD2B12C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; + EEBCF2E97ABC7735C5B1712D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; EEDF6AB8291D205CC8F76047 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; EEF0BC764D4CBA4BD1B4FBE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; EF4925BA88D2315DA25B7915 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -957,21 +978,21 @@ F35CA755BCEF635E1D3A905C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsHooks.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_WindowsHooks.h"; sourceTree = "SOURCE_ROOT"; }; F371D8637CA487256A3B629E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; F3D6E76B33CCF7C8C5E62659 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; + F402880EDB009624652675FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; F420A1026C41E30B63C5174A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; F43B0BB64499285E4D2D65E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; F4C02954B36F8FCE5D4E647C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FakeMouseMoveGenerator.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_FakeMouseMoveGenerator.h"; sourceTree = "SOURCE_ROOT"; }; - F5EB0A8DFCB7CD91CF9CBE75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; - F600E3EF3432A72F10575130 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; - F6657739D6FBDE57D542E4A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; - F785317A2BB8414F5D8E2813 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RTAS_WinUtilities.cpp"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinUtilities.cpp"; sourceTree = "SOURCE_ROOT"; }; - F89668D992EB657D805942EC = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; - 19590F837CF3298B056902F6 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = NoiseGate.component; sourceTree = "BUILT_PRODUCTS_DIR"; }; - F402880EDB009624652675FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; F4CD72A3B13818EEA379A6EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; F4E8427587734D0D2B94F4D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RTAS_DigiCode_Header.h"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode_Header.h"; sourceTree = "SOURCE_ROOT"; }; F594549A67A6B48C0DBF104B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; + F5EB0A8DFCB7CD91CF9CBE75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + F600E3EF3432A72F10575130 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; + F785317A2BB8414F5D8E2813 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RTAS_WinUtilities.cpp"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinUtilities.cpp"; sourceTree = "SOURCE_ROOT"; }; F7B9CA2B12E7F8FF917770B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; F80341FE453303ED1D9CE210 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; + F89668D992EB657D805942EC = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; + 19590F837CF3298B056902F6 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = NoiseGate.component; sourceTree = "BUILT_PRODUCTS_DIR"; }; + F6657739D6FBDE57D542E4A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; F8354F540C7AD8D7D331AC8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; F838AA16DFECC7023BADF2FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; F8755BB22478DDE574F49550 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; @@ -1016,7 +1037,17 @@ 99DBD2D02979E38C288F1C7D, D55687B3C041C9FD94D8415F, C6A9A10636624D5D1B63F6BD, ); name = buffers; sourceTree = ""; }; - D3F76EB2B8A787AE60798E4D = {isa = PBXGroup; children = ( + 00C01FDEA79F5F9D8EF03938 = {isa = PBXGroup; children = ( + C932E76A63B20E88EF1F8B3D, + 750758ECC540B541C7566CC1, + D99988F1251B1C59A8EC0A05, + 96302BC71AF750DF0F00ED14, + 2E6372C0453C24714BAF52D8, + F600E3EF3432A72F10575130, + ED5D91E0310FF5CBC1962AF2, + 9655EC304547418EE0F73AB8, + 092D7A87A801CF8AC2C40E3C, ); name = effects; sourceTree = ""; }; + 6C1EC996DA676B506C730968 = {isa = PBXGroup; children = ( 4EDCF2BD923E25832D05916E, 0A360D5A0E729876A18A38A7, E042774BE22A3A962D71C21A, @@ -1026,17 +1057,29 @@ 16C4246BF24221CDA0DFB56D, 29EC2A0E5AB98A6431A80C8F, 57DF22B9C166595A356364F7, - E51E3C4D621A469C86F46BE2, ); name = midi; sourceTree = ""; }; - F5B423AD0462BF1A3A715C41 = {isa = PBXGroup; children = ( - C932E76A63B20E88EF1F8B3D, - 750758ECC540B541C7566CC1, - D99988F1251B1C59A8EC0A05, - 96302BC71AF750DF0F00ED14, - 2E6372C0453C24714BAF52D8, - F600E3EF3432A72F10575130, - ED5D91E0310FF5CBC1962AF2, - 092D7A87A801CF8AC2C40E3C, ); name = effects; sourceTree = ""; }; - E022A667EB8B2AF6709A2D4D = {isa = PBXGroup; children = ( + E51E3C4D621A469C86F46BE2, + 999B9F4C3F6091ADBA9421E0, + 569B70D86CB4966AFBAEB5BF, ); name = midi; sourceTree = ""; }; + 1E4E1F71EAB813080B59CCB8 = {isa = PBXGroup; children = ( + BB1056A76B51437D49207330, + A4409A13BED13FDFBC5B4552, + 57EB3B0C971107A667B0B9DB, + BDF6569EACC07DC73258C685, + 016B625C850303B6DEFC8B06, + B16225EF7398EAE3D96ED4FA, + 4C27DB310396A866B2917A15, + 3FE30040DBAE8D28275C4533, + C6392B4465535F02C6C37BA7, + 488951B27D3508D6835C8BE6, + BEA30517C0F46A7F15548C27, + 1002C5D10559D446910ADEDC, + CB3093468EDB60AED639D308, + 2DE7F5CB550369147A926A22, + 3ADEE51FBB32B9E7CDD3A924, + 262F949CA9D33E194281DF14, + 8ADC67E56AA14EC05BBF681A, + EEBCF2E97ABC7735C5B1712D, ); name = mpe; sourceTree = ""; }; + 3430FD046BBEF538D33CF064 = {isa = PBXGroup; children = ( 71C365057920A8B25AABBCFE, 07AFA071D97D3E0EECED0DB4, B4A41AA6C0B39149FF262728, @@ -1053,15 +1096,16 @@ 84213C8680C3AAAF489747F0, F43B0BB64499285E4D2D65E2, F5EB0A8DFCB7CD91CF9CBE75, ); name = sources; sourceTree = ""; }; - 3466AD6E1186F6C7FF187BD7 = {isa = PBXGroup; children = ( + 18FCF327CE9EF342E83C1DBF = {isa = PBXGroup; children = ( F337D7C65DC5090A9A47C63A, EEDF6AB8291D205CC8F76047, ); name = synthesisers; sourceTree = ""; }; 2ADC259A5923E47E240184C5 = {isa = PBXGroup; children = ( D664511DBB6FDB8F412BB11F, - D3F76EB2B8A787AE60798E4D, - F5B423AD0462BF1A3A715C41, - E022A667EB8B2AF6709A2D4D, - 3466AD6E1186F6C7FF187BD7, + 00C01FDEA79F5F9D8EF03938, + 6C1EC996DA676B506C730968, + 1E4E1F71EAB813080B59CCB8, + 3430FD046BBEF538D33CF064, + 18FCF327CE9EF342E83C1DBF, 113C2009363F968B7E80EDE0, 6E74706D73837239FE5FB6BC, ); name = "juce_audio_basics"; sourceTree = ""; }; A09A86760E8E59AC1319BDE8 = {isa = PBXGroup; children = ( @@ -1314,6 +1358,7 @@ 1C7FF524BBD0810430CF06D2, A79A2F454A734BF87399A9F5, 65E98340D35A2BE70D0534C4, + A9C5A07DC31D544051025C80, EA8723E2A2C8F0DD058F9665, 9EB05C378008BD43BC552E33, 9DAB02E651736622947A4879, @@ -1555,8 +1600,7 @@ 6E774756F601F41E87ED8F4F, EF6241E2090C80185095EB47, 3716F81408159E9307118FED, - E5B3A88A39DCA9224EAE360D, - 55F6E36F65E1E0A89EAA9FBF, ); name = broadcasters; sourceTree = ""; }; + E5B3A88A39DCA9224EAE360D, ); name = broadcasters; sourceTree = ""; }; F970DE3D45574C2DFE7C9C16 = {isa = PBXGroup; children = ( 3E224AA9A88BBA37C77D51F4, 2D41BDA9FB2BC252594B5943, @@ -2204,6 +2248,7 @@ OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow -Wno-missing-field-initializers -Wshadow -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion"; OTHER_LDFLAGS = "-bundle -lAAXLibrary"; OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d ppc64_$ppc64 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Extras/CoreAudio/AudioUnits/AUPublic/AUBase\""; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.NoiseGate; SDKROOT_ppc = macosx10.5; WRAPPER_EXTENSION = component; }; name = Debug; }; 18FA66B5CEF0833AA3B3E744 = {isa = XCBuildConfiguration; buildSettings = { @@ -2233,11 +2278,13 @@ OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow -Wno-missing-field-initializers -Wshadow -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion"; OTHER_LDFLAGS = "-bundle -lAAXLibrary"; OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d ppc64_$ppc64 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Extras/CoreAudio/AudioUnits/AUPublic/AUBase\""; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.NoiseGate; SDKROOT_ppc = macosx10.5; WRAPPER_EXTENSION = component; }; name = Release; }; 5CD64870C7B8063A2BA5A23E = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2015/NoiseGate.vcxproj b/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2015/NoiseGate.vcxproj index d8ce5d8dc5..9f61d6be8a 100644 --- a/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2015/NoiseGate.vcxproj +++ b/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2015/NoiseGate.vcxproj @@ -144,6 +144,15 @@ true + + true + + + true + + + true + true @@ -159,13 +168,34 @@ true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -1282,16 +1312,27 @@ + + + + + + - - - - - + + + + + + + + + + @@ -1415,6 +1456,7 @@ + @@ -1520,7 +1562,6 @@ - diff --git a/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2015/NoiseGate.vcxproj.filters b/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2015/NoiseGate.vcxproj.filters index 0673e74b84..30107b4051 100644 --- a/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2015/NoiseGate.vcxproj.filters +++ b/examples/PlugInSamples/NoiseGate/Builds/VisualStudio2015/NoiseGate.vcxproj.filters @@ -17,11 +17,14 @@ {A33A1E1D-AC2C-6382-8681-48B0FC374C60} + + {11A75801-B027-40BD-4993-023023ACCBF7} + {3FD908F5-98C8-9A61-FC03-0BAF8913CBB0} - - {11A75801-B027-40BD-4993-023023ACCBF7} + + {8C868E51-156D-A916-047C-0D9EA1393675} {EF2CAB40-0432-429B-C517-86ADF136BB8A} @@ -331,6 +334,15 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\midi @@ -346,14 +358,35 @@ Juce Modules\juce_audio_basics\midi - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\midi - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe Juce Modules\juce_audio_basics\sources @@ -1596,6 +1629,24 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\midi @@ -1611,20 +1662,35 @@ Juce Modules\juce_audio_basics\midi - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\midi - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe Juce Modules\juce_audio_basics\sources @@ -1995,6 +2061,9 @@ Juce Modules\juce_core\containers + + Juce Modules\juce_core\containers + Juce Modules\juce_core\containers @@ -2310,9 +2379,6 @@ Juce Modules\juce_events\broadcasters - - Juce Modules\juce_events\broadcasters - Juce Modules\juce_events\interprocess diff --git a/examples/PlugInSamples/NoiseGate/NoiseGate.jucer b/examples/PlugInSamples/NoiseGate/NoiseGate.jucer index 9112044a88..b92a7f97aa 100644 --- a/examples/PlugInSamples/NoiseGate/NoiseGate.jucer +++ b/examples/PlugInSamples/NoiseGate/NoiseGate.jucer @@ -8,7 +8,7 @@ pluginIsSynth="0" pluginWantsMidiIn="0" pluginProducesMidiOut="0" pluginSilenceInIsSilenceOut="0" pluginEditorRequiresKeys="0" pluginAUExportPrefix="NoiseGateAU" pluginRTASCategory="" aaxIdentifier="com.roli.NoiseGate" - pluginAAXCategory="AAX_ePlugInCategory_Dynamics" jucerVersion="4.0.2" + pluginAAXCategory="AAX_ePlugInCategory_Dynamics" jucerVersion="4.1.0" pluginIsMidiEffectPlugin="0"> diff --git a/examples/PlugInSamples/Spatializer/Builds/MacOSX/Info.plist b/examples/PlugInSamples/Spatializer/Builds/MacOSX/Info.plist index 38a063a3f8..a5c046d587 100644 --- a/examples/PlugInSamples/Spatializer/Builds/MacOSX/Info.plist +++ b/examples/PlugInSamples/Spatializer/Builds/MacOSX/Info.plist @@ -8,7 +8,7 @@ CFBundleIconFile CFBundleIdentifier - com.ROLI.Spatializer + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName Spatializer CFBundlePackageType diff --git a/examples/PlugInSamples/Spatializer/Builds/MacOSX/Spatializer.xcodeproj/project.pbxproj b/examples/PlugInSamples/Spatializer/Builds/MacOSX/Spatializer.xcodeproj/project.pbxproj index e7ff82e7d5..7e74f9e4de 100644 --- a/examples/PlugInSamples/Spatializer/Builds/MacOSX/Spatializer.xcodeproj/project.pbxproj +++ b/examples/PlugInSamples/Spatializer/Builds/MacOSX/Spatializer.xcodeproj/project.pbxproj @@ -107,6 +107,7 @@ 0A8B2220C48BD7CB942BAB91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 0ADBA967D2370E7BA1D06661 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; 0B5830C30E7F66B1D8EC94B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 0B5BB91249272FE9B9BC0F17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; }; 0B73B44371ED84B19F74010A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; 0B825A235F3D13D81779D9E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; 0B96F006FA7607E81F6744E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -172,6 +173,7 @@ 1BFC1888379E8FF6B97C203D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; }; 1C56CEC7004907CDAEF38453 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; 1C59F1266054422695078F5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C7C41F9071F263901C81AEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; }; 1CD3ADA84EFE505B125C53EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; 1CD79C7BD43D8E5C604FC549 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; 1CD97935B3BB623495905D75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAStreamBasicDescription.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAStreamBasicDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -260,6 +262,7 @@ 3123530BF26BBB6541C8E4CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; 313AEFED513DB3A1BF77DF20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; 31488FAE4A662270455AC440 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3197326DC484EE8C3750C821 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; }; 31B0F8740BD10F71EC92C1D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; 31C7244A5A095901F00EA50C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; 32CC45778B5B5B255163BB30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -348,6 +351,7 @@ 4912DAB71A00F319CEC30800 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; 492E52D89CFE81648E26A04E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; 49560E6574C4AE88AC441CD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; }; + 498317E9BB9E7F31FD62395D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; }; 499976DDD064E8609DC25FB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 4A0E4F72F10F2E1A29447852 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RTAS_DigiCode3.cpp"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode3.cpp"; sourceTree = "SOURCE_ROOT"; }; 4A5B6B338D760FEFC9E0CDA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; @@ -439,6 +443,7 @@ 60C42F6A1C4EA193B2A2EA21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; 61BC566D2CC1725AA047CB37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 61F57A7F0E39860346776C15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; + 6211F56B14F64E3A2718F89C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; }; 62553F858BE2F01022E40DBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; 63140BB55E2A4149F88F271B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 63A4659A907E6841D146EA10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; @@ -451,6 +456,7 @@ 66453E1A858E5315D222B7C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; 668CB865C79DC2E5C4D17DA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 66C02C4EE23BA0DC557F7EED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 66FB97AC7D3E1EAC4CD2D5AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; }; 67E788EA8675169E961971D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; 6804F62B88CF8EB894112924 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; 684F45CA8AAAAC8BEFF6655E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; @@ -458,6 +464,7 @@ 68B3229C3595CC7DEA4BFD41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; 68F5D2666A4ADF1B7D6303D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; 69682A2B4E0D8680B5FD9D53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_RTAS_MacUtilities.mm"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_MacUtilities.mm"; sourceTree = "SOURCE_ROOT"; }; + 698FECF770157A24AB4ED83F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; 6ACE99E32363B8469D2C0DEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; 6AD814A64A738E506F6C9B87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLExtensions.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h"; sourceTree = "SOURCE_ROOT"; }; 6B046BBB62F1AE7EFCF77089 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; @@ -465,6 +472,7 @@ 6B7A8805A32635F5BC60F2CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; 6BCE2D26E1FAA86CF3B571CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; 6BF47CA2F93CB4FCC90A3D71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6BF63343EA4E345632830712 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; }; 6C724110311DA4C2937480AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; 6CBC19F1CE3BF34C86B189DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; 6DAF603EB249182F640AB557 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; @@ -476,6 +484,7 @@ 6ECC11DD941E63A216AC0B31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; 6EDB196FA30F763AD1900D95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; 6FDD1DF441C30BF5264B6CDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; + 6FE7A0BB1C9D112CDE6A84F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; }; 701EE545B689C3F86C9E78D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; 702A52528D88892A3ACF780A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterBool.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"; sourceTree = "SOURCE_ROOT"; }; 70F9EC9FDF958DD865C2C015 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; }; @@ -506,6 +515,7 @@ 7A4FCAA0E19E8B7E2CFC2BB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 7AC401F2C2780638CAC25322 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; 7AD7DF820AB93EC2AB08973A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7B1256C61E6B76F96E4A8852 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; 7B3FC13D5C0F841EBF79C873 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; 7CB5E244CC0A6A4CFE4304B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; 7D344CBB6183BCA4F69F3329 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -529,10 +539,12 @@ 830C0583A57CA5FE6D628E22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; 8319BAB2321FCE52C784A4F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; 8363EFA15EA169FC4CCAD0F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IncludeModuleHeaders.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_IncludeModuleHeaders.h"; sourceTree = "SOURCE_ROOT"; }; + 83925D652855CACAA14B7093 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; }; 839C9EA94D841EC15C280108 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; 83EA0B86BCC5C162C6ADDB11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; 842D6422B57E6CC8FB0CEC0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; 84A59B0A80443BC13ED867BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 84C0DB13AD3F35352A8DF100 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; }; 84C27DA5A28C1A76FCF3580A = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 85B8A183C0C10960F111E77F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; 86006627FC754EB3CF059AE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -609,6 +621,7 @@ 99019D3440DF5B870C18F0E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; }; 9953EAA12D1F39F0DD922B39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; 99DB4E80193568FEC420D2A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 99EC446A69BB72FAF50FA6C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; }; 9A007FE5FD17A0E8F48E4917 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; 9A0D506EC020CFEE145158C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; 9A243FE62C349501DE3F729A = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; }; @@ -660,6 +673,8 @@ A46F2605E137B171557D5395 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; A47917CC146AA54805F82AB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; A48059D01E60531827DD7FAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + A4DD1223308A4FD7396929EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; }; + A54086C90ED6CE6ED0B293AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; }; A551A9BABB4C90802EF5713A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; A55AB25417DA10DEABBDFC5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; A57A1D7A8913813E66587168 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; @@ -667,13 +682,16 @@ A5D25208A0198B49C14DD787 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; A60EB7C30A52958740BBD8A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; A61DA1E7A6F5916189B4F5FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; + A6228EE18834EBEACF2E1121 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; }; A67DAE994643AE469C387C94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; A67DBC9C0DB9563C0FF4E338 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; A6AA8CF8F36A821EE96BACA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + A780651C3A7A7F98BBA0D903 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; }; A7C9748EE56598F609E982A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; A7D679FF9A9936CDB8EAF086 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; A811529AA4A439A1D8166627 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; A8307F9EBD8BB3818B4B1804 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + A8953A2C324B30F467C7CFC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; }; A8B0C38201A38829E17CB12B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; A8D62577B5D84A05088CA181 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; A8D68A58B138B28DE511CE89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; @@ -732,6 +750,7 @@ B84E1CDD52AA17299F8595E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; B87E71BB6F23FBFE67C000A5 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; B89E4564B6A2ADB23E76C620 = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; + B992EA2939ED6783AB6B49B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; }; B9BA17C9BDC859E6DB47AA48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; B9DFEAB3172A03D53D200448 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; BAA00673BBAEC6A75E8FB9F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; @@ -760,6 +779,7 @@ C1321891420F94B24EFCF1D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; C1A764A8AA96809DA7480779 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; C1E4C9B08DEAF7133674EA06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + C1FCBA3BEC2063936954873E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; }; C219000751AFBAB3C8D0C12F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; C259B7FD55379C05F8E95BC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; C2D35A1A189915C7EECF3FD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -792,7 +812,6 @@ C99FD0755B6E34F6BA337BCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; C9A835800B69F236CD11E6C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLImage.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h"; sourceTree = "SOURCE_ROOT"; }; CA1757AED1DF64D57CC61AEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; - CA4F396C2669DAD9D6E2B44B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; CACECB8BBE3943313B11D33B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; CAF94F50F42FE4E9D2171DA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; CB1E39CCD13E7FF55393871B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -850,6 +869,7 @@ D6437FE350A01B14C40BB7D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; D6530E94EE65E549E2E5C833 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; D6B5DE5D7B9E48032A90D86F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; + D6CFD59C0314CE7DD7BD73EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; }; D71475B2A6D2B248338BA848 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; D74F6515EB15BEF077B7F430 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; D756ABE1B9380A8BD1F3A312 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; @@ -888,7 +908,6 @@ DD432701F0355EACC790C62A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; DDD0601C2C4FB41B275CC0C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; DDEB6505135C5A79CBD40BCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - DE1799DEA7064C5F74F6E4A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; DE59ADAF175A2A639A070DE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; DE70C26194CCEEF541089ADC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; DEB8498A4BFA81F8A8F22E8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; @@ -909,7 +928,6 @@ E31A623D2CA5E8684EF2A6CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUOutputBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputBase.cpp"; sourceTree = "SOURCE_ROOT"; }; E3662C34D42B7FCC8784B7B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; E40AA7239F354B6252F89544 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; - E419F2F8A34646775873D3F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; E481B969AB05E916781EC18C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; E512AA48EAE90CA546235ACD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; E581890C5859E4828C1BD76A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -923,14 +941,18 @@ E766339D94CC9B0C36E79B3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; E7B2A27C7ADD3F7541E861DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; E7B4133FF82803E818F6991E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; - E7DE8032BF3EE6E3EFBC4558 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; E7F5A0B8E920452DF903F358 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; E81BBF6F97EDEA7FDC1F69D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; E842B76A1DCC0E0BF8956DA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; E8700FFF476BECBD2C77B1B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; - E87734FA8E583D8BCC5E910D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; E884E5D1197DA5F515B8A17D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; E8A4AB1A3C1521BB275EEEC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + F42550666CCA34433A2336AA = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + 6FE5B154BB57F05637B2339C = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Spatializer.component; sourceTree = "BUILT_PRODUCTS_DIR"; }; + DE1799DEA7064C5F74F6E4A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; + E419F2F8A34646775873D3F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; + E7DE8032BF3EE6E3EFBC4558 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; + E87734FA8E583D8BCC5E910D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; E8EB602B65D8F38325BCADAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; E94AFE32124F3F234DC3D487 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; E95FC66FFEE9B835945F46FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -944,8 +966,6 @@ EACCB32681C96DCBF60B4007 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; EB2F3B26CA6AA6A46A992939 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; EB41D0A58922C1F9A5862184 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; - F42550666CCA34433A2336AA = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; - 6FE5B154BB57F05637B2339C = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Spatializer.component; sourceTree = "BUILT_PRODUCTS_DIR"; }; EB7D06976714FA930F3CDAC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; EB8EB8968B992FFAC968EA86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; EC0B0CCFBE66B11BA3120288 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; @@ -971,6 +991,7 @@ F3C05C4B3B5B073DFB7EF30E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; F3CB95C2A1FA0004DEDF10CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; F5FCFB2DF288D4383059BDCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; + F684F45179910D257AA28B58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; F6C2EA9EBF342A7357B0F13E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; F7A30FB39ED14A8C2DD5F70F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; F7B55FCD56257E0B0F77B95E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; @@ -1016,7 +1037,17 @@ 1A5B8B63A80D5EC9636ECFC8, D15AC0A134AFAFFBBF924A7A, CBE386E48B7730317D403119, ); name = buffers; sourceTree = ""; }; - 15F08C54EAF666954DA2976E = {isa = PBXGroup; children = ( + 5176393479E78D22F710BC44 = {isa = PBXGroup; children = ( + DC768FA8A9E33024D57D5F66, + 49560E6574C4AE88AC441CD0, + C920D1667739967B4785E645, + 1E5380575E2840568CEE18B0, + 5571D97128A513A4BBFA3E2D, + CBF186F248A7B053967529BE, + A1BDD8CA03B00EE72E06E2C8, + 83925D652855CACAA14B7093, + FFFF5649EA413863979E7B6E, ); name = effects; sourceTree = ""; }; + 1F92F72B66D6139996047551 = {isa = PBXGroup; children = ( 90867F2535F1F8EEFECF020A, 2C8E27327D36D3E2B393A79E, 0DBF03145527DAE8BDD98FF5, @@ -1026,17 +1057,29 @@ 2B5171E4A2674078D44395F7, D928ABE7E0ABAE418F018A89, 4B022FD2D547AECEF38D1C60, - DA4591B5BA3B70396E708614, ); name = midi; sourceTree = ""; }; - 25F335E3C0CA8FB12408BA29 = {isa = PBXGroup; children = ( - DC768FA8A9E33024D57D5F66, - 49560E6574C4AE88AC441CD0, - C920D1667739967B4785E645, - 1E5380575E2840568CEE18B0, - 5571D97128A513A4BBFA3E2D, - CBF186F248A7B053967529BE, - A1BDD8CA03B00EE72E06E2C8, - FFFF5649EA413863979E7B6E, ); name = effects; sourceTree = ""; }; - D80462765DD5025C55788A60 = {isa = PBXGroup; children = ( + DA4591B5BA3B70396E708614, + B992EA2939ED6783AB6B49B3, + A780651C3A7A7F98BBA0D903, ); name = midi; sourceTree = ""; }; + A3C6629009CCC508BE3A2349 = {isa = PBXGroup; children = ( + C1FCBA3BEC2063936954873E, + 0B5BB91249272FE9B9BC0F17, + 66FB97AC7D3E1EAC4CD2D5AC, + D6CFD59C0314CE7DD7BD73EA, + 84C0DB13AD3F35352A8DF100, + 3197326DC484EE8C3750C821, + F684F45179910D257AA28B58, + 498317E9BB9E7F31FD62395D, + 6BF63343EA4E345632830712, + 6211F56B14F64E3A2718F89C, + A8953A2C324B30F467C7CFC0, + 6FE7A0BB1C9D112CDE6A84F5, + 1C7C41F9071F263901C81AEB, + 99EC446A69BB72FAF50FA6C1, + A54086C90ED6CE6ED0B293AA, + A4DD1223308A4FD7396929EE, + 698FECF770157A24AB4ED83F, + A6228EE18834EBEACF2E1121, ); name = mpe; sourceTree = ""; }; + 357800C3DDAF59EFF75E57CF = {isa = PBXGroup; children = ( 106336EF7D17FB3FC3430527, 0A8B2220C48BD7CB942BAB91, EE3F7E057A361EAB617739D6, @@ -1053,15 +1096,16 @@ A1D3DD348C5846C2F0992BF9, 93359AEBEFFFCBEF78F65DBE, 20B89DE51E1C449D0A42FA79, ); name = sources; sourceTree = ""; }; - E7B20DBE5A96870184F8E877 = {isa = PBXGroup; children = ( + 25FE22821328BCED3D4A8DCB = {isa = PBXGroup; children = ( 0E701CDBF2DF0A6D600C64FB, 286C96166C43E3010D28CC86, ); name = synthesisers; sourceTree = ""; }; DD80F04BB2A4012039CC99E9 = {isa = PBXGroup; children = ( EF49A47831967DC2AC7EAD8B, - 15F08C54EAF666954DA2976E, - 25F335E3C0CA8FB12408BA29, - D80462765DD5025C55788A60, - E7B20DBE5A96870184F8E877, + 5176393479E78D22F710BC44, + 1F92F72B66D6139996047551, + A3C6629009CCC508BE3A2349, + 357800C3DDAF59EFF75E57CF, + 25FE22821328BCED3D4A8DCB, A0D0AEA4C3A66D0BA7E82343, 1FC44D72EEEA32D1B9159458, ); name = "juce_audio_basics"; sourceTree = ""; }; 071A62D9B344D0228965AA9F = {isa = PBXGroup; children = ( @@ -1314,6 +1358,7 @@ D47BD559E2A64C4D3DB4F4A6, 786BAB2519BD92C1DB0B810C, 39E5970711248B88D0AE21E6, + 7B1256C61E6B76F96E4A8852, B9DFEAB3172A03D53D200448, 5DEE6FFDFB2055E45202BC25, 85B8A183C0C10960F111E77F, @@ -1555,8 +1600,7 @@ D4D255CCDFE0F0C7044102C2, 9A0D506EC020CFEE145158C1, EC647FDDB410F250373D95CE, - 00FB03A7B2A03FEC348CECAB, - CA4F396C2669DAD9D6E2B44B, ); name = broadcasters; sourceTree = ""; }; + 00FB03A7B2A03FEC348CECAB, ); name = broadcasters; sourceTree = ""; }; 27374956F377B94FC5B0F547 = {isa = PBXGroup; children = ( 830C0583A57CA5FE6D628E22, 0EBA363945C61C43AD11D768, @@ -2202,6 +2246,7 @@ MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; OTHER_LDFLAGS = "-bundle -lAAXLibrary"; OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d ppc64_$ppc64 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Extras/CoreAudio/AudioUnits/AUPublic/AUBase\""; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.Spatializer; SDKROOT_ppc = macosx10.5; WRAPPER_EXTENSION = component; }; name = Debug; }; ADE738CB72745F9108B75339 = {isa = XCBuildConfiguration; buildSettings = { @@ -2229,11 +2274,13 @@ MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; OTHER_LDFLAGS = "-bundle -lAAXLibrary"; OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d ppc64_$ppc64 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Extras/CoreAudio/AudioUnits/AUPublic/AUBase\""; + PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.Spatializer; SDKROOT_ppc = macosx10.5; WRAPPER_EXTENSION = component; }; name = Release; }; B47BAC17B47CCFA9AD69C0AD = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/examples/PlugInSamples/Spatializer/Builds/VisualStudio2015/Spatializer.vcxproj b/examples/PlugInSamples/Spatializer/Builds/VisualStudio2015/Spatializer.vcxproj index 859322dc63..cf5321534e 100644 --- a/examples/PlugInSamples/Spatializer/Builds/VisualStudio2015/Spatializer.vcxproj +++ b/examples/PlugInSamples/Spatializer/Builds/VisualStudio2015/Spatializer.vcxproj @@ -144,6 +144,15 @@ true + + true + + + true + + + true + true @@ -159,13 +168,34 @@ true - + true - + true - + + true + + + true + + + true + + + true + + + true + + + true + + + true + + true @@ -1282,16 +1312,27 @@ + + + + + + - - - - - + + + + + + + + + + @@ -1415,6 +1456,7 @@ + @@ -1520,7 +1562,6 @@ - diff --git a/examples/PlugInSamples/Spatializer/Builds/VisualStudio2015/Spatializer.vcxproj.filters b/examples/PlugInSamples/Spatializer/Builds/VisualStudio2015/Spatializer.vcxproj.filters index 8302de3615..0486cc4622 100644 --- a/examples/PlugInSamples/Spatializer/Builds/VisualStudio2015/Spatializer.vcxproj.filters +++ b/examples/PlugInSamples/Spatializer/Builds/VisualStudio2015/Spatializer.vcxproj.filters @@ -17,11 +17,14 @@ {A33A1E1D-AC2C-6382-8681-48B0FC374C60} + + {11A75801-B027-40BD-4993-023023ACCBF7} + {3FD908F5-98C8-9A61-FC03-0BAF8913CBB0} - - {11A75801-B027-40BD-4993-023023ACCBF7} + + {8C868E51-156D-A916-047C-0D9EA1393675} {EF2CAB40-0432-429B-C517-86ADF136BB8A} @@ -331,6 +334,15 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\midi @@ -346,14 +358,35 @@ Juce Modules\juce_audio_basics\midi - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\midi - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe Juce Modules\juce_audio_basics\sources @@ -1596,6 +1629,24 @@ Juce Modules\juce_audio_basics\buffers + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + Juce Modules\juce_audio_basics\midi @@ -1611,20 +1662,35 @@ Juce Modules\juce_audio_basics\midi - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\midi - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe - - Juce Modules\juce_audio_basics\effects + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe + + + Juce Modules\juce_audio_basics\mpe Juce Modules\juce_audio_basics\sources @@ -1995,6 +2061,9 @@ Juce Modules\juce_core\containers + + Juce Modules\juce_core\containers + Juce Modules\juce_core\containers @@ -2310,9 +2379,6 @@ Juce Modules\juce_events\broadcasters - - Juce Modules\juce_events\broadcasters - Juce Modules\juce_events\interprocess diff --git a/examples/PlugInSamples/Spatializer/Spatializer.jucer b/examples/PlugInSamples/Spatializer/Spatializer.jucer index 0c458a9731..e5b52e41e1 100644 --- a/examples/PlugInSamples/Spatializer/Spatializer.jucer +++ b/examples/PlugInSamples/Spatializer/Spatializer.jucer @@ -9,7 +9,7 @@ pluginIsMidiEffectPlugin="0" pluginSilenceInIsSilenceOut="1" pluginEditorRequiresKeys="0" pluginAUExportPrefix="SpatializerAU" pluginRTASCategory="" aaxIdentifier="com.ROLI.Spatializer" pluginAAXCategory="AAX_ePlugInCategory_SoundField" - jucerVersion="4.0.2" companyName="ROLI Ltd." companyWebsite="www.juce.com" + jucerVersion="4.1.0" companyName="ROLI Ltd." companyWebsite="www.juce.com" companyEmail="info@juce.com"> diff --git a/examples/SimpleFFTExample/Builds/MacOSX/Info.plist b/examples/SimpleFFTExample/Builds/MacOSX/Info.plist index 6df44660b8..7f1c61bd8c 100644 --- a/examples/SimpleFFTExample/Builds/MacOSX/Info.plist +++ b/examples/SimpleFFTExample/Builds/MacOSX/Info.plist @@ -8,7 +8,7 @@ CFBundleIconFile CFBundleIdentifier - com.yourcompany.SimpleFFTExample + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName SimpleFFTExample CFBundlePackageType diff --git a/examples/SimpleFFTExample/Builds/MacOSX/SimpleFFTExample.xcodeproj/project.pbxproj b/examples/SimpleFFTExample/Builds/MacOSX/SimpleFFTExample.xcodeproj/project.pbxproj index f2cfd6331f..da762771ff 100644 --- a/examples/SimpleFFTExample/Builds/MacOSX/SimpleFFTExample.xcodeproj/project.pbxproj +++ b/examples/SimpleFFTExample/Builds/MacOSX/SimpleFFTExample.xcodeproj/project.pbxproj @@ -1993,6 +1993,7 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.SimpleFFTExample; SDKROOT_ppc = macosx10.5; }; name = Debug; }; 001561C2B2CDB3908D96AB46 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2014,10 +2015,12 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.SimpleFFTExample; SDKROOT_ppc = macosx10.5; }; name = Release; }; F1DB30FBBCE0275545D5B9CE = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/examples/audio plugin demo/Builds/MacOSX/Info.plist b/examples/audio plugin demo/Builds/MacOSX/Info.plist index c7fbf09d4f..04f425f5e6 100644 --- a/examples/audio plugin demo/Builds/MacOSX/Info.plist +++ b/examples/audio plugin demo/Builds/MacOSX/Info.plist @@ -8,7 +8,7 @@ CFBundleIconFile CFBundleIdentifier - com.juce.JuceDemoPlugin + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName JuceDemoPlugin CFBundlePackageType diff --git a/examples/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj b/examples/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj index f79a854fad..c9a47fef74 100644 --- a/examples/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj +++ b/examples/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj @@ -2155,6 +2155,7 @@ MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; OTHER_LDFLAGS = "-bundle"; OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d ppc64_$ppc64 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Extras/CoreAudio/AudioUnits/AUPublic/AUBase\""; + PRODUCT_BUNDLE_IDENTIFIER = com.juce.JuceDemoPlugin; SDKROOT_ppc = macosx10.5; WRAPPER_EXTENSION = component; }; name = Debug; }; 76082281008CF5F891C856DA = {isa = XCBuildConfiguration; buildSettings = { @@ -2182,11 +2183,13 @@ MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; OTHER_LDFLAGS = "-bundle"; OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d ppc64_$ppc64 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Extras/CoreAudio/AudioUnits/AUPublic/AUBase\""; + PRODUCT_BUNDLE_IDENTIFIER = com.juce.JuceDemoPlugin; SDKROOT_ppc = macosx10.5; WRAPPER_EXTENSION = component; }; name = Release; }; 6758D5C5D24024DB6F83E78F = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/examples/audio plugin host/Builds/MacOSX/Info.plist b/examples/audio plugin host/Builds/MacOSX/Info.plist index 66fad286dd..3f51777ac9 100644 --- a/examples/audio plugin host/Builds/MacOSX/Info.plist +++ b/examples/audio plugin host/Builds/MacOSX/Info.plist @@ -8,7 +8,7 @@ CFBundleIconFile CFBundleIdentifier - com.roli.pluginhost + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName Plugin Host CFBundlePackageType diff --git a/examples/audio plugin host/Builds/MacOSX/Plugin Host.xcodeproj/project.pbxproj b/examples/audio plugin host/Builds/MacOSX/Plugin Host.xcodeproj/project.pbxproj index 6f383d3b3d..58a05705b8 100644 --- a/examples/audio plugin host/Builds/MacOSX/Plugin Host.xcodeproj/project.pbxproj +++ b/examples/audio plugin host/Builds/MacOSX/Plugin Host.xcodeproj/project.pbxproj @@ -2170,6 +2170,7 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.pluginhost; SDKROOT_ppc = macosx10.5; }; name = Debug; }; 20F59BC9E9ACBDF56007CE03 = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2192,10 +2193,12 @@ INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET = 10.5; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.pluginhost; SDKROOT_ppc = macosx10.5; }; name = Release; }; 8D1CA827F1EFD443BDCF198A = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/extras/Introjucer/Builds/MacOSX/Info.plist b/extras/Introjucer/Builds/MacOSX/Info.plist index 457de4bb59..74e92d44f0 100644 --- a/extras/Introjucer/Builds/MacOSX/Info.plist +++ b/extras/Introjucer/Builds/MacOSX/Info.plist @@ -8,7 +8,7 @@ CFBundleIconFile Icon.icns CFBundleIdentifier - com.roli.introjucer + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName The Introjucer CFBundlePackageType diff --git a/extras/Introjucer/Builds/MacOSX/The Introjucer.xcodeproj/project.pbxproj b/extras/Introjucer/Builds/MacOSX/The Introjucer.xcodeproj/project.pbxproj index 6b27a2cb8e..e92857b6fb 100644 --- a/extras/Introjucer/Builds/MacOSX/The Introjucer.xcodeproj/project.pbxproj +++ b/extras/Introjucer/Builds/MacOSX/The Introjucer.xcodeproj/project.pbxproj @@ -2035,6 +2035,7 @@ MACOSX_DEPLOYMENT_TARGET = 10.10; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow -Wno-missing-field-initializers -Wshadow -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion"; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.introjucer; SDKROOT_ppc = macosx10.5; }; name = Debug; }; B159CF4275B8A90122629FF4 = {isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(NATIVE_ARCH_ACTUAL)"; @@ -2059,10 +2060,12 @@ MACOSX_DEPLOYMENT_TARGET = 10.5; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow -Wno-missing-field-initializers -Wshadow -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion"; + PRODUCT_BUNDLE_IDENTIFIER = com.roli.introjucer; SDKROOT_ppc = macosx10.5; }; name = Release; }; C42924A24AB55E6A940423EA = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_XCode.h b/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_XCode.h index 4de050957b..648a2fd6c9 100644 --- a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_XCode.h +++ b/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_XCode.h @@ -1,1583 +1,1583 @@ -/* - ============================================================================== - - This file is part of the JUCE library. - Copyright (c) 2015 - ROLI Ltd. - - Permission is granted to use this software under the terms of either: - a) the GPL v2 (or any later version) - b) the Affero GPL v3 - - Details of these licenses can be found at: www.gnu.org/licenses - - JUCE is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - ------------------------------------------------------------------------------ - - To release a closed-source product which uses JUCE, commercial licenses are - available: visit www.juce.com for more information. - - ============================================================================== -*/ - -namespace -{ - const char* const osxVersionDefault = "default"; - const int oldestSDKVersion = 5; - const int currentSDKVersion = 11; - - const char* const osxArch_Default = "default"; - const char* const osxArch_Native = "Native"; - const char* const osxArch_32BitUniversal = "32BitUniversal"; - const char* const osxArch_64BitUniversal = "64BitUniversal"; - const char* const osxArch_64Bit = "64BitIntel"; -} - -//============================================================================== -class XCodeProjectExporter : public ProjectExporter -{ -public: - //============================================================================== - static const char* getNameMac() { return "Xcode (MacOSX)"; } - static const char* getNameiOS() { return "Xcode (iOS)"; } - static const char* getValueTreeTypeName (bool iOS) { return iOS ? "XCODE_IPHONE" : "XCODE_MAC"; } - - //============================================================================== - XCodeProjectExporter (Project& p, const ValueTree& t, const bool isIOS) - : ProjectExporter (p, t), - iOS (isIOS) - { - name = iOS ? getNameiOS() : getNameMac(); - - if (getTargetLocationString().isEmpty()) - getTargetLocationValue() = getDefaultBuildsRootFolder() + (iOS ? "iOS" : "MacOSX"); - - initialiseDependencyPathValues(); - } - - static XCodeProjectExporter* createForSettings (Project& project, const ValueTree& settings) - { - if (settings.hasType (getValueTreeTypeName (false))) return new XCodeProjectExporter (project, settings, false); - if (settings.hasType (getValueTreeTypeName (true))) return new XCodeProjectExporter (project, settings, true); - - return nullptr; - } - - //============================================================================== - Value getPListToMergeValue() { return getSetting ("customPList"); } - String getPListToMergeString() const { return settings ["customPList"]; } - - Value getExtraFrameworksValue() { return getSetting (Ids::extraFrameworks); } - String getExtraFrameworksString() const { return settings [Ids::extraFrameworks]; } - - Value getPostBuildScriptValue() { return getSetting (Ids::postbuildCommand); } - String getPostBuildScript() const { return settings [Ids::postbuildCommand]; } - - Value getPreBuildScriptValue() { return getSetting (Ids::prebuildCommand); } - String getPreBuildScript() const { return settings [Ids::prebuildCommand]; } - - bool usesMMFiles() const override { return true; } - bool isXcode() const override { return true; } - bool isOSX() const override { return ! iOS; } - bool canCopeWithDuplicateFiles() override { return true; } - - void createExporterProperties (PropertyListBuilder& props) override - { - if (projectType.isGUIApplication() && ! iOS) - { - props.add (new TextPropertyComponent (getSetting ("documentExtensions"), "Document file extensions", 128, false), - "A comma-separated list of file extensions for documents that your app can open. " - "Using a leading '.' is optional, and the extensions are not case-sensitive."); - } - else if (iOS) - { - props.add (new BooleanPropertyComponent (getSetting ("UIFileSharingEnabled"), "File Sharing Enabled", "Enabled"), - "Enable this to expose your app's files to iTunes."); - - props.add (new BooleanPropertyComponent (getSetting ("UIStatusBarHidden"), "Status Bar Hidden", "Enabled"), - "Enable this to disable the status bar in your app."); - } - - props.add (new TextPropertyComponent (getPListToMergeValue(), "Custom PList", 8192, true), - "You can paste the contents of an XML PList file in here, and the settings that it contains will override any " - "settings that the Introjucer creates. BEWARE! When doing this, be careful to remove from the XML any " - "values that you DO want the introjucer to change!"); - - props.add (new TextPropertyComponent (getExtraFrameworksValue(), "Extra Frameworks", 2048, false), - "A comma-separated list of extra frameworks that should be added to the build. " - "(Don't include the .framework extension in the name)"); - - props.add (new TextPropertyComponent (getPreBuildScriptValue(), "Pre-build shell script", 32768, true), - "Some shell-script that will be run before a build starts."); - - props.add (new TextPropertyComponent (getPostBuildScriptValue(), "Post-build shell script", 32768, true), - "Some shell-script that will be run after a build completes."); - } - - bool launchProject() override - { - #if JUCE_MAC - return getProjectBundle().startAsProcess(); - #else - return false; - #endif - } - - bool canLaunchProject() override - { - #if JUCE_MAC - return true; - #else - return false; - #endif - } - - //============================================================================== - void create (const OwnedArray&) const override - { - infoPlistFile = getTargetFolder().getChildFile ("Info.plist"); - menuNibFile = getTargetFolder().getChildFile ("RecentFilesMenuTemplate.nib"); - - createIconFile(); - - File projectBundle (getProjectBundle()); - createDirectoryOrThrow (projectBundle); - - createObjects(); - - File projectFile (projectBundle.getChildFile ("project.pbxproj")); - - { - MemoryOutputStream mo; - writeProjectFile (mo); - overwriteFileIfDifferentOrThrow (projectFile, mo); - } - - writeInfoPlistFile(); - - // Deleting the .rsrc files can be needed to force Xcode to update the version number. - deleteRsrcFiles(); - } - -protected: - //============================================================================== - class XcodeBuildConfiguration : public BuildConfiguration - { - public: - XcodeBuildConfiguration (Project& p, const ValueTree& t, const bool isIOS, const ProjectExporter& e) - : BuildConfiguration (p, t, e), iOS (isIOS) - { - if (iOS) - { - if (getiOSCompatibilityVersion().isEmpty()) - getiOSCompatibilityVersionValue() = osxVersionDefault; - } - else - { - if (getMacSDKVersion().isEmpty()) - getMacSDKVersionValue() = osxVersionDefault; - - if (getMacCompatibilityVersion().isEmpty()) - getMacCompatibilityVersionValue() = osxVersionDefault; - - if (getMacArchitecture().isEmpty()) - getMacArchitectureValue() = osxArch_Default; - } - } - - Value getMacSDKVersionValue() { return getValue (Ids::osxSDK); } - String getMacSDKVersion() const { return config [Ids::osxSDK]; } - Value getMacCompatibilityVersionValue() { return getValue (Ids::osxCompatibility); } - String getMacCompatibilityVersion() const { return config [Ids::osxCompatibility]; } - Value getiOSCompatibilityVersionValue() { return getValue (Ids::iosCompatibility); } - String getiOSCompatibilityVersion() const { return config [Ids::iosCompatibility]; } - Value getMacArchitectureValue() { return getValue (Ids::osxArchitecture); } - String getMacArchitecture() const { return config [Ids::osxArchitecture]; } - Value getCustomXcodeFlagsValue() { return getValue (Ids::customXcodeFlags); } - String getCustomXcodeFlags() const { return config [Ids::customXcodeFlags]; } - Value getCppLanguageStandardValue() { return getValue (Ids::cppLanguageStandard); } - String getCppLanguageStandard() const { return config [Ids::cppLanguageStandard]; } - Value getCppLibTypeValue() { return getValue (Ids::cppLibType); } - String getCppLibType() const { return config [Ids::cppLibType]; } - Value getCodeSignIdentityValue() { return getValue (Ids::codeSigningIdentity); } - String getCodeSignIdentity() const { return config [Ids::codeSigningIdentity]; } - Value getFastMathValue() { return getValue (Ids::fastMath); } - bool isFastMathEnabled() const { return config [Ids::fastMath]; } - Value getLinkTimeOptimisationValue() { return getValue (Ids::linkTimeOptimisation); } - bool isLinkTimeOptimisationEnabled() const { return config [Ids::linkTimeOptimisation]; } - - var getDefaultOptimisationLevel() const override { return var ((int) (isDebug() ? gccO0 : gccO3)); } - - void createConfigProperties (PropertyListBuilder& props) override - { - addGCCOptimisationProperty (props); - - if (iOS) - { - const char* iosVersions[] = { "Use Default", "7.0", "7.1", "8.0", "8.1", "8.2", "8.3", "8.4", "9.0", "9.1", "9.2", 0 }; - const char* iosVersionValues[] = { osxVersionDefault, "7.0", "7.1", "8.0", "8.1", "8.2", "8.3", "8.4", "9.0", "9.1", "9.2", 0 }; - - props.add (new ChoicePropertyComponent (getiOSCompatibilityVersionValue(), "iOS Deployment Target", - StringArray (iosVersions), Array (iosVersionValues)), - "The minimum version of iOS that the target binary will run on."); - } - else - { - StringArray sdkVersionNames, osxVersionNames; - Array versionValues; - - sdkVersionNames.add ("Use Default"); - osxVersionNames.add ("Use Default"); - versionValues.add (osxVersionDefault); - - for (int ver = oldestSDKVersion; ver <= currentSDKVersion; ++ver) - { - sdkVersionNames.add (getSDKName (ver)); - osxVersionNames.add (getOSXVersionName (ver)); - versionValues.add (getSDKName (ver)); - } - - props.add (new ChoicePropertyComponent (getMacSDKVersionValue(), "OSX Base SDK Version", sdkVersionNames, versionValues), - "The version of OSX to link against in the XCode build."); - - props.add (new ChoicePropertyComponent (getMacCompatibilityVersionValue(), "OSX Deployment Target", osxVersionNames, versionValues), - "The minimum version of OSX that the target binary will be compatible with."); - - const char* osxArch[] = { "Use Default", "Native architecture of build machine", - "Universal Binary (32-bit)", "Universal Binary (32/64-bit)", "64-bit Intel", 0 }; - const char* osxArchValues[] = { osxArch_Default, osxArch_Native, osxArch_32BitUniversal, - osxArch_64BitUniversal, osxArch_64Bit, 0 }; - - props.add (new ChoicePropertyComponent (getMacArchitectureValue(), "OSX Architecture", - StringArray (osxArch), Array (osxArchValues)), - "The type of OSX binary that will be produced."); - } - - props.add (new TextPropertyComponent (getCustomXcodeFlagsValue(), "Custom Xcode flags", 8192, false), - "A comma-separated list of custom Xcode setting flags which will be appended to the list of generated flags, " - "e.g. MACOSX_DEPLOYMENT_TARGET_i386 = 10.5, VALID_ARCHS = \"ppc i386 x86_64\""); - - const char* cppLanguageStandardNames[] = { "Use Default", "C++98", "GNU++98", "C++11", "GNU++11", "C++14", "GNU++14", nullptr }; - Array cppLanguageStandardValues; - cppLanguageStandardValues.add (var::null); - cppLanguageStandardValues.add ("c++98"); - cppLanguageStandardValues.add ("gnu++98"); - cppLanguageStandardValues.add ("c++11"); - cppLanguageStandardValues.add ("gnu++11"); - cppLanguageStandardValues.add ("c++14"); - cppLanguageStandardValues.add ("gnu++14"); - - props.add (new ChoicePropertyComponent (getCppLanguageStandardValue(), "C++ Language Standard", StringArray (cppLanguageStandardNames), cppLanguageStandardValues), - "The standard of the C++ language that will be used for compilation."); - - const char* cppLibNames[] = { "Use Default", "LLVM libc++", "GNU libstdc++", nullptr }; - Array cppLibValues; - cppLibValues.add (var::null); - cppLibValues.add ("libc++"); - cppLibValues.add ("libstdc++"); - - props.add (new ChoicePropertyComponent (getCppLibTypeValue(), "C++ Library", StringArray (cppLibNames), cppLibValues), - "The type of C++ std lib that will be linked."); - - props.add (new TextPropertyComponent (getCodeSignIdentityValue(), "Code-signing Identity", 8192, false), - "The name of a code-signing identity for Xcode to apply."); - - props.add (new BooleanPropertyComponent (getFastMathValue(), "Relax IEEE compliance", "Enabled"), - "Enable this to use FAST_MATH non-IEEE mode. (Warning: this can have unexpected results!)"); - - props.add (new BooleanPropertyComponent (getLinkTimeOptimisationValue(), "Link-Time Optimisation", "Enabled"), - "Enable this to perform link-time code generation. This is recommended for release builds."); - } - - bool iOS; - }; - - BuildConfiguration::Ptr createBuildConfig (const ValueTree& v) const override - { - return new XcodeBuildConfiguration (project, v, iOS, *this); - } - -private: - mutable OwnedArray pbxBuildFiles, pbxFileReferences, pbxGroups, misc, projectConfigs, targetConfigs; - mutable StringArray buildPhaseIDs, resourceIDs, sourceIDs, frameworkIDs; - mutable StringArray frameworkFileIDs, rezFileIDs, resourceFileRefs; - mutable File infoPlistFile, menuNibFile, iconFile; - const bool iOS; - - static String sanitisePath (const String& path) - { - if (path.startsWithChar ('~')) - return "$(HOME)" + path.substring (1); - - return path; - } - - static String addQuotesIfContainsSpace (const String& s) - { - return s.containsChar (' ') ? s.quoted() : s; - } - - File getProjectBundle() const { return getTargetFolder().getChildFile (project.getProjectFilenameRoot()).withFileExtension (".xcodeproj"); } - - //============================================================================== - void createObjects() const - { - addFrameworks(); - addMainBuildProduct(); - - if (xcodeCreatePList) - { - RelativePath plistPath (infoPlistFile, getTargetFolder(), RelativePath::buildTargetFolder); - addFileReference (plistPath.toUnixStyle()); - resourceFileRefs.add (createFileRefID (plistPath)); - } - - if (iOS) - { - if (! projectType.isStaticLibrary()) - createiOSAssetsFolder(); - } - else - { - MemoryOutputStream nib; - nib.write (BinaryData::RecentFilesMenuTemplate_nib, BinaryData::RecentFilesMenuTemplate_nibSize); - overwriteFileIfDifferentOrThrow (menuNibFile, nib); - - RelativePath menuNibPath (menuNibFile, getTargetFolder(), RelativePath::buildTargetFolder); - addFileReference (menuNibPath.toUnixStyle()); - resourceIDs.add (addBuildFile (menuNibPath, false, false)); - resourceFileRefs.add (createFileRefID (menuNibPath)); - } - - if (iconFile.exists()) - { - RelativePath iconPath (iconFile, getTargetFolder(), RelativePath::buildTargetFolder); - addFileReference (iconPath.toUnixStyle()); - resourceIDs.add (addBuildFile (iconPath, false, false)); - resourceFileRefs.add (createFileRefID (iconPath)); - } - - { - StringArray topLevelGroupIDs; - - for (int i = 0; i < getAllGroups().size(); ++i) - { - const Project::Item& group = getAllGroups().getReference(i); - - if (group.getNumChildren() > 0) - topLevelGroupIDs.add (addProjectItem (group)); - } - - { // Add 'resources' group - String resourcesGroupID (createID ("__resources")); - addGroup (resourcesGroupID, "Resources", resourceFileRefs); - topLevelGroupIDs.add (resourcesGroupID); - } - - { // Add 'frameworks' group - String frameworksGroupID (createID ("__frameworks")); - addGroup (frameworksGroupID, "Frameworks", frameworkFileIDs); - topLevelGroupIDs.add (frameworksGroupID); - } - - { // Add 'products' group - String productsGroupID (createID ("__products")); - StringArray products; - products.add (createID ("__productFileID")); - addGroup (productsGroupID, "Products", products); - topLevelGroupIDs.add (productsGroupID); - } - - addGroup (createID ("__mainsourcegroup"), "Source", topLevelGroupIDs); - } - - for (ConstConfigIterator config (*this); config.next();) - { - const XcodeBuildConfiguration& xcodeConfig = dynamic_cast (*config); - addProjectConfig (config->getName(), getProjectSettings (xcodeConfig)); - addTargetConfig (config->getName(), getTargetSettings (xcodeConfig)); - } - - addConfigList (projectConfigs, createID ("__projList")); - addConfigList (targetConfigs, createID ("__configList")); - - addShellScriptBuildPhase ("Pre-build script", getPreBuildScript()); - - if (! projectType.isStaticLibrary()) - addBuildPhase ("PBXResourcesBuildPhase", resourceIDs); - - if (rezFileIDs.size() > 0) - addBuildPhase ("PBXRezBuildPhase", rezFileIDs); - - addBuildPhase ("PBXSourcesBuildPhase", sourceIDs); - - if (! projectType.isStaticLibrary()) - addBuildPhase ("PBXFrameworksBuildPhase", frameworkIDs); - - addShellScriptBuildPhase ("Post-build script", getPostBuildScript()); - - addTargetObject(); - addProjectObject(); - } - - static Image fixMacIconImageSize (Drawable& image) - { - const int validSizes[] = { 16, 32, 48, 128, 256, 512, 1024 }; - - const int w = image.getWidth(); - const int h = image.getHeight(); - - int bestSize = 16; - - for (int i = 0; i < numElementsInArray (validSizes); ++i) - { - if (w == h && w == validSizes[i]) - { - bestSize = w; - break; - } - - if (jmax (w, h) > validSizes[i]) - bestSize = validSizes[i]; - } - - return rescaleImageForIcon (image, bestSize); - } - - static void writeOldIconFormat (MemoryOutputStream& out, const Image& image, const char* type, const char* maskType) - { - const int w = image.getWidth(); - const int h = image.getHeight(); - - out.write (type, 4); - out.writeIntBigEndian (8 + 4 * w * h); - - const Image::BitmapData bitmap (image, Image::BitmapData::readOnly); - - for (int y = 0; y < h; ++y) - { - for (int x = 0; x < w; ++x) - { - const Colour pixel (bitmap.getPixelColour (x, y)); - out.writeByte ((char) pixel.getAlpha()); - out.writeByte ((char) pixel.getRed()); - out.writeByte ((char) pixel.getGreen()); - out.writeByte ((char) pixel.getBlue()); - } - } - - out.write (maskType, 4); - out.writeIntBigEndian (8 + w * h); - - for (int y = 0; y < h; ++y) - { - for (int x = 0; x < w; ++x) - { - const Colour pixel (bitmap.getPixelColour (x, y)); - out.writeByte ((char) pixel.getAlpha()); - } - } - } - - static void writeNewIconFormat (MemoryOutputStream& out, const Image& image, const char* type) - { - MemoryOutputStream pngData; - PNGImageFormat pngFormat; - pngFormat.writeImageToStream (image, pngData); - - out.write (type, 4); - out.writeIntBigEndian (8 + (int) pngData.getDataSize()); - out << pngData; - } - - void writeIcnsFile (const OwnedArray& images, OutputStream& out) const - { - MemoryOutputStream data; - int smallest = 0x7fffffff; - Drawable* smallestImage = nullptr; - - for (int i = 0; i < images.size(); ++i) - { - const Image image (fixMacIconImageSize (*images.getUnchecked(i))); - jassert (image.getWidth() == image.getHeight()); - - if (image.getWidth() < smallest) - { - smallest = image.getWidth(); - smallestImage = images.getUnchecked(i); - } - - switch (image.getWidth()) - { - case 16: writeOldIconFormat (data, image, "is32", "s8mk"); break; - case 32: writeOldIconFormat (data, image, "il32", "l8mk"); break; - case 48: writeOldIconFormat (data, image, "ih32", "h8mk"); break; - case 128: writeOldIconFormat (data, image, "it32", "t8mk"); break; - case 256: writeNewIconFormat (data, image, "ic08"); break; - case 512: writeNewIconFormat (data, image, "ic09"); break; - case 1024: writeNewIconFormat (data, image, "ic10"); break; - default: break; - } - } - - jassert (data.getDataSize() > 0); // no suitable sized images? - - // If you only supply a 1024 image, the file doesn't work on 10.8, so we need - // to force a smaller one in there too.. - if (smallest > 512 && smallestImage != nullptr) - writeNewIconFormat (data, rescaleImageForIcon (*smallestImage, 512), "ic09"); - - out.write ("icns", 4); - out.writeIntBigEndian ((int) data.getDataSize() + 8); - out << data; - } - - void getIconImages (OwnedArray& images) const - { - ScopedPointer bigIcon (getBigIcon()); - if (bigIcon != nullptr) - images.add (bigIcon.release()); - - ScopedPointer smallIcon (getSmallIcon()); - if (smallIcon != nullptr) - images.add (smallIcon.release()); - } - - void createiOSIconFiles (File appIconSet) const - { - const Array types (getiOSAppIconTypes()); - - OwnedArray images; - getIconImages (images); - - if (images.size() > 0) - { - for (int i = 0; i < types.size(); ++i) - { - const AppIconType type = types.getUnchecked(i); - const Image image (rescaleImageForIcon (*images.getFirst(), type.size)); - - MemoryOutputStream pngData; - PNGImageFormat pngFormat; - pngFormat.writeImageToStream (image, pngData); - - overwriteFileIfDifferentOrThrow (appIconSet.getChildFile (type.filename), pngData); - } - } - } - - void createIconFile() const - { - OwnedArray images; - getIconImages (images); - - if (images.size() > 0) - { - MemoryOutputStream mo; - writeIcnsFile (images, mo); - - iconFile = getTargetFolder().getChildFile ("Icon.icns"); - overwriteFileIfDifferentOrThrow (iconFile, mo); - } - } - - void writeInfoPlistFile() const - { - if (! xcodeCreatePList) - return; - - ScopedPointer plist (XmlDocument::parse (getPListToMergeString())); - - if (plist == nullptr || ! plist->hasTagName ("plist")) - plist = new XmlElement ("plist"); - - XmlElement* dict = plist->getChildByName ("dict"); - - if (dict == nullptr) - dict = plist->createNewChildElement ("dict"); - - if (iOS) - { - addPlistDictionaryKeyBool (dict, "LSRequiresIPhoneOS", true); - addPlistDictionaryKeyBool (dict, "UIViewControllerBasedStatusBarAppearance", false); - } - - addPlistDictionaryKey (dict, "CFBundleExecutable", "${EXECUTABLE_NAME}"); - - if (! iOS) // (NB: on iOS this causes error ITMS-90032 during publishing) - addPlistDictionaryKey (dict, "CFBundleIconFile", iconFile.exists() ? iconFile.getFileName() : String()); - - addPlistDictionaryKey (dict, "CFBundleIdentifier", "$(PRODUCT_BUNDLE_IDENTIFIER)"); - addPlistDictionaryKey (dict, "CFBundleName", projectName); - addPlistDictionaryKey (dict, "CFBundlePackageType", xcodePackageType); - addPlistDictionaryKey (dict, "CFBundleSignature", xcodeBundleSignature); - addPlistDictionaryKey (dict, "CFBundleShortVersionString", project.getVersionString()); - addPlistDictionaryKey (dict, "CFBundleVersion", project.getVersionString()); - addPlistDictionaryKey (dict, "NSHumanReadableCopyright", project.getCompanyName().toString()); - addPlistDictionaryKeyBool (dict, "NSHighResolutionCapable", true); - - StringArray documentExtensions; - documentExtensions.addTokens (replacePreprocessorDefs (getAllPreprocessorDefs(), settings ["documentExtensions"]), - ",", StringRef()); - documentExtensions.trim(); - documentExtensions.removeEmptyStrings (true); - - if (documentExtensions.size() > 0) - { - dict->createNewChildElement ("key")->addTextElement ("CFBundleDocumentTypes"); - XmlElement* dict2 = dict->createNewChildElement ("array")->createNewChildElement ("dict"); - XmlElement* arrayTag = nullptr; - - for (int i = 0; i < documentExtensions.size(); ++i) - { - String ex (documentExtensions[i]); - if (ex.startsWithChar ('.')) - ex = ex.substring (1); - - if (arrayTag == nullptr) - { - dict2->createNewChildElement ("key")->addTextElement ("CFBundleTypeExtensions"); - arrayTag = dict2->createNewChildElement ("array"); - - addPlistDictionaryKey (dict2, "CFBundleTypeName", ex); - addPlistDictionaryKey (dict2, "CFBundleTypeRole", "Editor"); - addPlistDictionaryKey (dict2, "CFBundleTypeIconFile", "Icon"); - addPlistDictionaryKey (dict2, "NSPersistentStoreTypeKey", "XML"); - } - - arrayTag->createNewChildElement ("string")->addTextElement (ex); - } - } - - if (settings ["UIFileSharingEnabled"]) - addPlistDictionaryKeyBool (dict, "UIFileSharingEnabled", true); - - if (settings ["UIStatusBarHidden"]) - addPlistDictionaryKeyBool (dict, "UIStatusBarHidden", true); - - if (iOS) - { - // Forcing full screen disables the split screen feature and prevents error ITMS-90475 - addPlistDictionaryKeyBool (dict, "UIRequiresFullScreen", true); - - static const char* kDefaultiOSOrientationStrings[] = - { - "UIInterfaceOrientationPortrait", - "UIInterfaceOrientationPortraitUpsideDown", - "UIInterfaceOrientationLandscapeLeft", - "UIInterfaceOrientationLandscapeRight", - nullptr - }; - - StringArray iOSOrientations (kDefaultiOSOrientationStrings); - - dict->createNewChildElement ("key")->addTextElement ("UISupportedInterfaceOrientations"); - XmlElement* plistStringArray = dict->createNewChildElement ("array"); - - for (int i = 0; i < iOSOrientations.size(); ++i) - plistStringArray->createNewChildElement ("string")->addTextElement (iOSOrientations[i]); - } - - for (int i = 0; i < xcodeExtraPListEntries.size(); ++i) - dict->addChildElement (new XmlElement (xcodeExtraPListEntries.getReference(i))); - - MemoryOutputStream mo; - plist->writeToStream (mo, ""); - - overwriteFileIfDifferentOrThrow (infoPlistFile, mo); - } - - void deleteRsrcFiles() const - { - for (DirectoryIterator di (getTargetFolder().getChildFile ("build"), true, "*.rsrc", File::findFiles); di.next();) - di.getFile().deleteFile(); - } - - String getHeaderSearchPaths (const BuildConfiguration& config) const - { - StringArray paths (extraSearchPaths); - paths.addArray (config.getHeaderSearchPaths()); - paths.add ("$(inherited)"); - - paths = getCleanedStringArray (paths); - - for (int i = 0; i < paths.size(); ++i) - { - String& s = paths.getReference(i); - - s = replacePreprocessorTokens (config, s); - - if (s.containsChar (' ')) - s = "\"\\\"" + s + "\\\"\""; // crazy double quotes required when there are spaces.. - else - s = "\"" + s + "\""; - } - - return "(" + paths.joinIntoString (", ") + ")"; - } - - static String getLinkerFlagForLib (String library) - { - if (library.substring (0, 3) == "lib") - library = library.substring (3); - - return "-l" + library.upToLastOccurrenceOf (".", false, false); - } - - void getLinkerFlagsForStaticLibrary (const RelativePath& library, StringArray& flags, StringArray& librarySearchPaths) const - { - flags.add (getLinkerFlagForLib (library.getFileNameWithoutExtension())); - - String searchPath (library.toUnixStyle().upToLastOccurrenceOf ("/", false, false)); - - if (! library.isAbsolute()) - { - String srcRoot (rebaseFromProjectFolderToBuildTarget (RelativePath (".", RelativePath::projectFolder)).toUnixStyle()); - - if (srcRoot.endsWith ("/.")) srcRoot = srcRoot.dropLastCharacters (2); - if (! srcRoot.endsWithChar ('/')) srcRoot << '/'; - - searchPath = srcRoot + searchPath; - } - - librarySearchPaths.add (sanitisePath (searchPath)); - } - - void getLinkerFlags (const BuildConfiguration& config, StringArray& flags, StringArray& librarySearchPaths) const - { - if (xcodeIsBundle) - flags.add ("-bundle"); - - const Array& extraLibs = config.isDebug() ? xcodeExtraLibrariesDebug - : xcodeExtraLibrariesRelease; - - for (int i = 0; i < extraLibs.size(); ++i) - getLinkerFlagsForStaticLibrary (extraLibs.getReference(i), flags, librarySearchPaths); - - flags.add (replacePreprocessorTokens (config, getExtraLinkerFlagsString())); - flags.add (getExternalLibraryFlags (config)); - - for (int i = 0; i < xcodeLibs.size(); ++i) - flags.add (getLinkerFlagForLib (xcodeLibs[i])); - - flags = getCleanedStringArray (flags); - } - - StringArray getProjectSettings (const XcodeBuildConfiguration& config) const - { - StringArray s; - s.add ("ALWAYS_SEARCH_USER_PATHS = NO"); - s.add ("GCC_C_LANGUAGE_STANDARD = c99"); - s.add ("GCC_WARN_ABOUT_RETURN_TYPE = YES"); - s.add ("GCC_WARN_CHECK_SWITCH_STATEMENTS = YES"); - s.add ("GCC_WARN_UNUSED_VARIABLE = YES"); - s.add ("GCC_WARN_MISSING_PARENTHESES = YES"); - s.add ("GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES"); - s.add ("GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES"); - s.add ("WARNING_CFLAGS = -Wreorder"); - s.add ("GCC_MODEL_TUNING = G5"); - - if (projectType.isStaticLibrary()) - { - s.add ("GCC_INLINES_ARE_PRIVATE_EXTERN = NO"); - s.add ("GCC_SYMBOLS_PRIVATE_EXTERN = NO"); - } - else - { - s.add ("GCC_INLINES_ARE_PRIVATE_EXTERN = YES"); - } - - if (config.isDebug()) - { - s.add ("ENABLE_TESTABILITY = YES"); - - if (config.getMacArchitecture() == osxArch_Default || config.getMacArchitecture().isEmpty()) - s.add ("ONLY_ACTIVE_ARCH = YES"); - } - - if (iOS) - { - s.add ("\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\""); - s.add ("SDKROOT = iphoneos"); - s.add ("TARGETED_DEVICE_FAMILY = \"1,2\""); - - const String iosVersion (config.getiOSCompatibilityVersion()); - if (iosVersion.isNotEmpty() && iosVersion != osxVersionDefault) - s.add ("IPHONEOS_DEPLOYMENT_TARGET = " + iosVersion); - } - - s.add ("ZERO_LINK = NO"); - - if (xcodeCanUseDwarf) - s.add ("DEBUG_INFORMATION_FORMAT = \"dwarf\""); - - s.add ("PRODUCT_NAME = \"" + replacePreprocessorTokens (config, config.getTargetBinaryNameString()) + "\""); - return s; - } - - StringArray getTargetSettings (const XcodeBuildConfiguration& config) const - { - StringArray s; - - s.add ("PRODUCT_BUNDLE_IDENTIFIER = " + project.getBundleIdentifier().toString()); - - const String arch (config.getMacArchitecture()); - if (arch == osxArch_Native) s.add ("ARCHS = \"$(NATIVE_ARCH_ACTUAL)\""); - else if (arch == osxArch_32BitUniversal) s.add ("ARCHS = \"$(ARCHS_STANDARD_32_BIT)\""); - else if (arch == osxArch_64BitUniversal) s.add ("ARCHS = \"$(ARCHS_STANDARD_32_64_BIT)\""); - else if (arch == osxArch_64Bit) s.add ("ARCHS = \"$(ARCHS_STANDARD_64_BIT)\""); - - s.add ("HEADER_SEARCH_PATHS = " + getHeaderSearchPaths (config)); - s.add ("GCC_OPTIMIZATION_LEVEL = " + config.getGCCOptimisationFlag()); - s.add ("INFOPLIST_FILE = " + infoPlistFile.getFileName()); - - if (config.isLinkTimeOptimisationEnabled()) - s.add ("LLVM_LTO = YES"); - - if (config.isFastMathEnabled()) - s.add ("GCC_FAST_MATH = YES"); - - const String extraFlags (replacePreprocessorTokens (config, getExtraCompilerFlagsString()).trim()); - if (extraFlags.isNotEmpty()) - s.add ("OTHER_CPLUSPLUSFLAGS = \"" + extraFlags + "\""); - - if (xcodeProductInstallPath.isNotEmpty()) - s.add ("INSTALL_PATH = \"" + xcodeProductInstallPath + "\""); - - if (xcodeIsBundle) - { - s.add ("LIBRARY_STYLE = Bundle"); - s.add ("WRAPPER_EXTENSION = " + xcodeBundleExtension.substring (1)); - s.add ("GENERATE_PKGINFO_FILE = YES"); - } - - if (xcodeOtherRezFlags.isNotEmpty()) - s.add ("OTHER_REZFLAGS = \"" + xcodeOtherRezFlags + "\""); - - if (config.getTargetBinaryRelativePathString().isNotEmpty()) - { - RelativePath binaryPath (config.getTargetBinaryRelativePathString(), RelativePath::projectFolder); - binaryPath = binaryPath.rebased (projectFolder, getTargetFolder(), RelativePath::buildTargetFolder); - - s.add ("DSTROOT = " + addQuotesIfContainsSpace (sanitisePath (binaryPath.toUnixStyle()))); - s.add ("SYMROOT = " + addQuotesIfContainsSpace (sanitisePath (binaryPath.toUnixStyle()))); - } - else - { - s.add ("CONFIGURATION_BUILD_DIR = \"$(PROJECT_DIR)/build/$(CONFIGURATION)\""); - } - - String gccVersion ("com.apple.compilers.llvm.clang.1_0"); - - if (iOS) - { - s.add ("ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon"); - s.add ("ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage"); - } - else - { - const String sdk (config.getMacSDKVersion()); - const String sdkCompat (config.getMacCompatibilityVersion()); - - for (int ver = oldestSDKVersion; ver <= currentSDKVersion; ++ver) - { - if (sdk == getSDKName (ver)) s.add ("SDKROOT = macosx10." + String (ver)); - if (sdkCompat == getSDKName (ver)) s.add ("MACOSX_DEPLOYMENT_TARGET = 10." + String (ver)); - } - - s.add ("MACOSX_DEPLOYMENT_TARGET_ppc = 10.4"); - s.add ("SDKROOT_ppc = macosx10.5"); - - if (xcodeExcludedFiles64Bit.isNotEmpty()) - { - s.add ("EXCLUDED_SOURCE_FILE_NAMES = \"$(EXCLUDED_SOURCE_FILE_NAMES_$(CURRENT_ARCH))\""); - s.add ("EXCLUDED_SOURCE_FILE_NAMES_x86_64 = " + xcodeExcludedFiles64Bit); - } - } - - s.add ("GCC_VERSION = " + gccVersion); - s.add ("CLANG_CXX_LANGUAGE_STANDARD = \"c++0x\""); - s.add ("CLANG_LINK_OBJC_RUNTIME = NO"); - - if (config.getCodeSignIdentity().isNotEmpty()) - s.add ("CODE_SIGN_IDENTITY = " + config.getCodeSignIdentity().quoted()); - - if (config.getCppLanguageStandard().isNotEmpty()) - s.add ("CLANG_CXX_LANGUAGE_STANDARD = " + config.getCppLanguageStandard().quoted()); - - if (config.getCppLibType().isNotEmpty()) - s.add ("CLANG_CXX_LIBRARY = " + config.getCppLibType().quoted()); - - s.add ("COMBINE_HIDPI_IMAGES = YES"); - - { - StringArray linkerFlags, librarySearchPaths; - getLinkerFlags (config, linkerFlags, librarySearchPaths); - - if (linkerFlags.size() > 0) - s.add ("OTHER_LDFLAGS = \"" + linkerFlags.joinIntoString (" ") + "\""); - - librarySearchPaths.addArray (config.getLibrarySearchPaths()); - librarySearchPaths = getCleanedStringArray (librarySearchPaths); - - if (librarySearchPaths.size() > 0) - { - String libPaths ("LIBRARY_SEARCH_PATHS = (\"$(inherited)\""); - - for (int i = 0; i < librarySearchPaths.size(); ++i) - libPaths += ", \"\\\"" + librarySearchPaths[i] + "\\\"\""; - - s.add (libPaths + ")"); - } - } - - StringPairArray defines; - - if (config.isDebug()) - { - defines.set ("_DEBUG", "1"); - defines.set ("DEBUG", "1"); - s.add ("COPY_PHASE_STRIP = NO"); - s.add ("GCC_DYNAMIC_NO_PIC = NO"); - } - else - { - defines.set ("_NDEBUG", "1"); - defines.set ("NDEBUG", "1"); - s.add ("GCC_GENERATE_DEBUGGING_SYMBOLS = NO"); - s.add ("GCC_SYMBOLS_PRIVATE_EXTERN = YES"); - s.add ("DEAD_CODE_STRIPPING = YES"); - } - - { - defines = mergePreprocessorDefs (defines, getAllPreprocessorDefs (config)); - - StringArray defsList; - - for (int i = 0; i < defines.size(); ++i) - { - String def (defines.getAllKeys()[i]); - const String value (defines.getAllValues()[i]); - if (value.isNotEmpty()) - def << "=" << value.replace ("\"", "\\\""); - - defsList.add ("\"" + def + "\""); - } - - s.add ("GCC_PREPROCESSOR_DEFINITIONS = " + indentParenthesisedList (defsList)); - } - - s.addTokens (config.getCustomXcodeFlags(), ",", "\"'"); - - return getCleanedStringArray (s); - } - - void addFrameworks() const - { - if (! projectType.isStaticLibrary()) - { - StringArray s (xcodeFrameworks); - s.addTokens (getExtraFrameworksString(), ",;", "\"'"); - - if (project.getConfigFlag ("JUCE_QUICKTIME") == Project::configFlagDisabled) - s.removeString ("QuickTime"); - - s.trim(); - s.removeDuplicates (true); - s.sort (true); - - for (int i = 0; i < s.size(); ++i) - addFramework (s[i]); - } - } - - //============================================================================== - void writeProjectFile (OutputStream& output) const - { - output << "// !$*UTF8*$!\n{\n" - "\tarchiveVersion = 1;\n" - "\tclasses = {\n\t};\n" - "\tobjectVersion = 46;\n" - "\tobjects = {\n\n"; - - Array objects; - objects.addArray (pbxBuildFiles); - objects.addArray (pbxFileReferences); - objects.addArray (pbxGroups); - objects.addArray (targetConfigs); - objects.addArray (projectConfigs); - objects.addArray (misc); - - for (int i = 0; i < objects.size(); ++i) - { - ValueTree& o = *objects.getUnchecked(i); - output << "\t\t" << o.getType().toString() << " = {"; - - for (int j = 0; j < o.getNumProperties(); ++j) - { - const Identifier propertyName (o.getPropertyName(j)); - String val (o.getProperty (propertyName).toString()); - - if (val.isEmpty() || (val.containsAnyOf (" \t;<>()=,&+-_@~\r\n\\#%^`*") - && ! (val.trimStart().startsWithChar ('(') - || val.trimStart().startsWithChar ('{')))) - val = "\"" + val + "\""; - - output << propertyName.toString() << " = " << val << "; "; - } - - output << "};\n"; - } - - output << "\t};\n\trootObject = " << createID ("__root") << ";\n}\n"; - } - - String addBuildFile (const String& path, const String& fileRefID, bool addToSourceBuildPhase, bool inhibitWarnings) const - { - String fileID (createID (path + "buildref")); - - if (addToSourceBuildPhase) - sourceIDs.add (fileID); - - ValueTree* v = new ValueTree (fileID); - v->setProperty ("isa", "PBXBuildFile", nullptr); - v->setProperty ("fileRef", fileRefID, nullptr); - - if (inhibitWarnings) - v->setProperty ("settings", "{COMPILER_FLAGS = \"-w\"; }", nullptr); - - pbxBuildFiles.add (v); - return fileID; - } - - String addBuildFile (const RelativePath& path, bool addToSourceBuildPhase, bool inhibitWarnings) const - { - return addBuildFile (path.toUnixStyle(), createFileRefID (path), addToSourceBuildPhase, inhibitWarnings); - } - - String addFileReference (String pathString) const - { - String sourceTree ("SOURCE_ROOT"); - RelativePath path (pathString, RelativePath::unknown); - - if (pathString.startsWith ("${")) - { - sourceTree = pathString.substring (2).upToFirstOccurrenceOf ("}", false, false); - pathString = pathString.fromFirstOccurrenceOf ("}/", false, false); - } - else if (path.isAbsolute()) - { - sourceTree = ""; - } - - const String fileRefID (createFileRefID (pathString)); - - ScopedPointer v (new ValueTree (fileRefID)); - v->setProperty ("isa", "PBXFileReference", nullptr); - v->setProperty ("lastKnownFileType", getFileType (path), nullptr); - v->setProperty (Ids::name, pathString.fromLastOccurrenceOf ("/", false, false), nullptr); - v->setProperty ("path", sanitisePath (pathString), nullptr); - v->setProperty ("sourceTree", sourceTree, nullptr); - - const int existing = pbxFileReferences.indexOfSorted (*this, v); - - if (existing >= 0) - { - // If this fails, there's either a string hash collision, or the same file is being added twice (incorrectly) - jassert (pbxFileReferences.getUnchecked (existing)->isEquivalentTo (*v)); - } - else - { - pbxFileReferences.addSorted (*this, v.release()); - } - - return fileRefID; - } - -public: - static int compareElements (const ValueTree* first, const ValueTree* second) - { - return first->getType().getCharPointer().compare (second->getType().getCharPointer()); - } - -private: - static String getFileType (const RelativePath& file) - { - if (file.hasFileExtension (cppFileExtensions)) return "sourcecode.cpp.cpp"; - if (file.hasFileExtension (".mm")) return "sourcecode.cpp.objcpp"; - if (file.hasFileExtension (".m")) return "sourcecode.c.objc"; - if (file.hasFileExtension (".c")) return "sourcecode.c.c"; - if (file.hasFileExtension (headerFileExtensions)) return "sourcecode.c.h"; - if (file.hasFileExtension (asmFileExtensions)) return "sourcecode.c.asm"; - if (file.hasFileExtension (".framework")) return "wrapper.framework"; - if (file.hasFileExtension (".jpeg;.jpg")) return "image.jpeg"; - if (file.hasFileExtension ("png;gif")) return "image" + file.getFileExtension(); - if (file.hasFileExtension ("html;htm")) return "text.html"; - if (file.hasFileExtension ("xml;zip;wav")) return "file" + file.getFileExtension(); - if (file.hasFileExtension ("txt;rtf")) return "text" + file.getFileExtension(); - if (file.hasFileExtension ("plist")) return "text.plist.xml"; - if (file.hasFileExtension ("app")) return "wrapper.application"; - if (file.hasFileExtension ("component;vst;plugin")) return "wrapper.cfbundle"; - if (file.hasFileExtension ("xcodeproj")) return "wrapper.pb-project"; - if (file.hasFileExtension ("a")) return "archive.ar"; - if (file.hasFileExtension ("xcassets")) return "folder.assetcatalog"; - - return "file" + file.getFileExtension(); - } - - String addFile (const RelativePath& path, bool shouldBeCompiled, bool shouldBeAddedToBinaryResources, bool shouldBeAddedToXcodeResources, bool inhibitWarnings) const - { - const String pathAsString (path.toUnixStyle()); - const String refID (addFileReference (path.toUnixStyle())); - - if (shouldBeCompiled) - { - if (path.hasFileExtension (".r")) - rezFileIDs.add (addBuildFile (pathAsString, refID, false, inhibitWarnings)); - else - addBuildFile (pathAsString, refID, true, inhibitWarnings); - } - else if (! shouldBeAddedToBinaryResources || shouldBeAddedToXcodeResources) - { - const String fileType (getFileType (path)); - - if (shouldBeAddedToXcodeResources || fileType.startsWith ("image.") || fileType.startsWith ("text.") || fileType.startsWith ("file.")) - { - resourceIDs.add (addBuildFile (pathAsString, refID, false, false)); - resourceFileRefs.add (refID); - } - } - - return refID; - } - - String addProjectItem (const Project::Item& projectItem) const - { - if (projectItem.isGroup()) - { - StringArray childIDs; - for (int i = 0; i < projectItem.getNumChildren(); ++i) - { - const String childID (addProjectItem (projectItem.getChild(i))); - - if (childID.isNotEmpty()) - childIDs.add (childID); - } - - return addGroup (projectItem, childIDs); - } - - if (projectItem.shouldBeAddedToTargetProject()) - { - const String itemPath (projectItem.getFilePath()); - RelativePath path; - - if (itemPath.startsWith ("${")) - path = RelativePath (itemPath, RelativePath::unknown); - else - path = RelativePath (projectItem.getFile(), getTargetFolder(), RelativePath::buildTargetFolder); - - return addFile (path, projectItem.shouldBeCompiled(), - projectItem.shouldBeAddedToBinaryResources(), - projectItem.shouldBeAddedToXcodeResources(), - projectItem.shouldInhibitWarnings()); - } - - return String(); - } - - void addFramework (const String& frameworkName) const - { - String path (frameworkName); - if (! File::isAbsolutePath (path)) - path = "System/Library/Frameworks/" + path; - - if (! path.endsWithIgnoreCase (".framework")) - path << ".framework"; - - const String fileRefID (createFileRefID (path)); - - addFileReference ((File::isAbsolutePath (frameworkName) ? "" : "${SDKROOT}/") + path); - frameworkIDs.add (addBuildFile (path, fileRefID, false, false)); - frameworkFileIDs.add (fileRefID); - } - - void addGroup (const String& groupID, const String& groupName, const StringArray& childIDs) const - { - ValueTree* v = new ValueTree (groupID); - v->setProperty ("isa", "PBXGroup", nullptr); - v->setProperty ("children", indentParenthesisedList (childIDs), nullptr); - v->setProperty (Ids::name, groupName, nullptr); - v->setProperty ("sourceTree", "", nullptr); - pbxGroups.add (v); - } - - String addGroup (const Project::Item& item, StringArray& childIDs) const - { - const String groupName (item.getName()); - const String groupID (getIDForGroup (item)); - addGroup (groupID, groupName, childIDs); - return groupID; - } - - void addMainBuildProduct() const - { - jassert (xcodeFileType.isNotEmpty()); - jassert (xcodeBundleExtension.isEmpty() || xcodeBundleExtension.startsWithChar ('.')); - - if (ProjectExporter::BuildConfiguration::Ptr config = getConfiguration(0)) - { - String productName (replacePreprocessorTokens (*config, config->getTargetBinaryNameString())); - - if (xcodeFileType == "archive.ar") - productName = getLibbedFilename (productName); - else - productName += xcodeBundleExtension; - - addBuildProduct (xcodeFileType, productName); - } - } - - void addBuildProduct (const String& fileType, const String& binaryName) const - { - ValueTree* v = new ValueTree (createID ("__productFileID")); - v->setProperty ("isa", "PBXFileReference", nullptr); - v->setProperty ("explicitFileType", fileType, nullptr); - v->setProperty ("includeInIndex", (int) 0, nullptr); - v->setProperty ("path", sanitisePath (binaryName), nullptr); - v->setProperty ("sourceTree", "BUILT_PRODUCTS_DIR", nullptr); - pbxFileReferences.add (v); - } - - void addTargetConfig (const String& configName, const StringArray& buildSettings) const - { - ValueTree* v = new ValueTree (createID ("targetconfigid_" + configName)); - v->setProperty ("isa", "XCBuildConfiguration", nullptr); - v->setProperty ("buildSettings", indentBracedList (buildSettings), nullptr); - v->setProperty (Ids::name, configName, nullptr); - targetConfigs.add (v); - } - - void addProjectConfig (const String& configName, const StringArray& buildSettings) const - { - ValueTree* v = new ValueTree (createID ("projectconfigid_" + configName)); - v->setProperty ("isa", "XCBuildConfiguration", nullptr); - v->setProperty ("buildSettings", indentBracedList (buildSettings), nullptr); - v->setProperty (Ids::name, configName, nullptr); - projectConfigs.add (v); - } - - void addConfigList (const OwnedArray & configsToUse, const String& listID) const - { - StringArray configIDs; - - for (int i = 0; i < configsToUse.size(); ++i) - configIDs.add (configsToUse[i]->getType().toString()); - - ValueTree* v = new ValueTree (listID); - v->setProperty ("isa", "XCConfigurationList", nullptr); - v->setProperty ("buildConfigurations", indentParenthesisedList (configIDs), nullptr); - v->setProperty ("defaultConfigurationIsVisible", (int) 0, nullptr); - - if (configsToUse[0] != nullptr) - v->setProperty ("defaultConfigurationName", configsToUse[0]->getProperty (Ids::name), nullptr); - - misc.add (v); - } - - ValueTree& addBuildPhase (const String& phaseType, const StringArray& fileIds) const - { - String phaseId (createID (phaseType + "resbuildphase")); - - int n = 0; - while (buildPhaseIDs.contains (phaseId)) - phaseId = createID (phaseType + "resbuildphase" + String (++n)); - - buildPhaseIDs.add (phaseId); - - ValueTree* v = new ValueTree (phaseId); - v->setProperty ("isa", phaseType, nullptr); - v->setProperty ("buildActionMask", "2147483647", nullptr); - v->setProperty ("files", indentParenthesisedList (fileIds), nullptr); - v->setProperty ("runOnlyForDeploymentPostprocessing", (int) 0, nullptr); - misc.add (v); - return *v; - } - - void addTargetObject() const - { - ValueTree* const v = new ValueTree (createID ("__target")); - v->setProperty ("isa", "PBXNativeTarget", nullptr); - v->setProperty ("buildConfigurationList", createID ("__configList"), nullptr); - v->setProperty ("buildPhases", indentParenthesisedList (buildPhaseIDs), nullptr); - v->setProperty ("buildRules", "( )", nullptr); - v->setProperty ("dependencies", "( )", nullptr); - v->setProperty (Ids::name, projectName, nullptr); - v->setProperty ("productName", projectName, nullptr); - v->setProperty ("productReference", createID ("__productFileID"), nullptr); - - if (xcodeProductInstallPath.isNotEmpty()) - v->setProperty ("productInstallPath", xcodeProductInstallPath, nullptr); - - jassert (xcodeProductType.isNotEmpty()); - v->setProperty ("productType", xcodeProductType, nullptr); - - misc.add (v); - } - - void addProjectObject() const - { - ValueTree* const v = new ValueTree (createID ("__root")); - v->setProperty ("isa", "PBXProject", nullptr); - v->setProperty ("buildConfigurationList", createID ("__projList"), nullptr); - v->setProperty ("attributes", "{ LastUpgradeCheck = 0440; }", nullptr); - v->setProperty ("compatibilityVersion", "Xcode 3.2", nullptr); - v->setProperty ("hasScannedForEncodings", (int) 0, nullptr); - v->setProperty ("mainGroup", createID ("__mainsourcegroup"), nullptr); - v->setProperty ("projectDirPath", "\"\"", nullptr); - v->setProperty ("projectRoot", "\"\"", nullptr); - v->setProperty ("targets", "( " + createID ("__target") + " )", nullptr); - misc.add (v); - } - - void addShellScriptBuildPhase (const String& phaseName, const String& script) const - { - if (script.trim().isNotEmpty()) - { - ValueTree& v = addBuildPhase ("PBXShellScriptBuildPhase", StringArray()); - v.setProperty (Ids::name, phaseName, nullptr); - v.setProperty ("shellPath", "/bin/sh", nullptr); - v.setProperty ("shellScript", script.replace ("\\", "\\\\") - .replace ("\"", "\\\"") - .replace ("\r\n", "\\n") - .replace ("\n", "\\n"), nullptr); - } - } - - //============================================================================== - struct AppIconType - { - const char* idiom; - const char* sizeString; - const char* filename; - const char* scale; - int size; - }; - - static Array getiOSAppIconTypes() - { - AppIconType types[] = - { - { "iphone", "29x29", "Icon-29.png", "1x", 29 }, - { "iphone", "29x29", "Icon-29@2x.png", "2x", 58 }, - { "iphone", "29x29", "Icon-29@3x.png", "3x", 87 }, - { "iphone", "40x40", "Icon-Spotlight-40@2x.png", "2x", 80 }, - { "iphone", "40x40", "Icon-Spotlight-40@3x.png", "3x", 120 }, - { "iphone", "57x57", "Icon.png", "1x", 57 }, - { "iphone", "57x57", "Icon@2x.png", "2x", 114 }, - { "iphone", "60x60", "Icon-60@2x.png", "2x", 120 }, - { "iphone", "60x60", "Icon-@3x.png", "3x", 180 }, - { "ipad", "29x29", "Icon-Small-1.png", "1x", 29 }, - { "ipad", "29x29", "Icon-Small@2x-1.png", "2x", 58 }, - { "ipad", "40x40", "Icon-Spotlight-40.png", "1x", 40 }, - { "ipad", "40x40", "Icon-Spotlight-40@2x-1.png", "2x", 80 }, - { "ipad", "50x50", "Icon-Small-50.png", "1x", 50 }, - { "ipad", "50x50", "Icon-Small-50@2x.png", "2x", 100 }, - { "ipad", "72x72", "Icon-72.png", "1x", 72 }, - { "ipad", "72x72", "Icon-72@2x.png", "2x", 144 }, - { "ipad", "76x76", "Icon-76.png", "1x", 76 }, - { "ipad", "76x76", "Icon-76@2x.png", "2x", 152 }, - { "ipad", "83.5x83.5", "Icon-83.5@2x.png", "2x", 167 } - }; - - return Array (types, numElementsInArray (types)); - } - - static String getiOSAppIconContents() - { - const Array types (getiOSAppIconTypes()); - var images; - - for (int i = 0; i < types.size(); ++i) - { - AppIconType type = types.getUnchecked(i); - - DynamicObject::Ptr d = new DynamicObject(); - d->setProperty ("idiom", type.idiom); - d->setProperty ("size", type.sizeString); - d->setProperty ("filename", type.filename); - d->setProperty ("scale", type.scale); - images.append (var (d)); - } - - return getiOSAssetContents (images); - } - - //============================================================================== - struct ImageType - { - const char* orientation; - const char* idiom; - const char* subtype; - const char* extent; - const char* scale; - const char* filename; - int width; - int height; - }; - - static Array getiOSLaunchImageTypes() - { - ImageType types[] = - { - { "portrait", "iphone", nullptr, "full-screen", "2x", "LaunchImage-iphone-2x.png", 640, 960 }, - { "portrait", "iphone", "retina4", "full-screen", "2x", "LaunchImage-iphone-retina4.png", 640, 1136 }, - { "portrait", "ipad", nullptr, "full-screen", "1x", "LaunchImage-ipad-portrait-1x.png", 768, 1024 }, - { "landscape","ipad", nullptr, "full-screen", "1x", "LaunchImage-ipad-landscape-1x.png", 1024, 768 }, - { "portrait", "ipad", nullptr, "full-screen", "2x", "LaunchImage-ipad-portrait-2x.png", 1536, 2048 }, - { "landscape","ipad", nullptr, "full-screen", "2x", "LaunchImage-ipad-landscape-2x.png", 2048, 1536 } - }; - - return Array (types, numElementsInArray (types)); - } - - static String getiOSLaunchImageContents() - { - const Array types (getiOSLaunchImageTypes()); - var images; - - for (int i = 0; i < types.size(); ++i) - { - const ImageType& type = types.getReference(i); - - DynamicObject::Ptr d = new DynamicObject(); - d->setProperty ("orientation", type.orientation); - d->setProperty ("idiom", type.idiom); - d->setProperty ("extent", type.extent); - d->setProperty ("minimum-system-version", "7.0"); - d->setProperty ("scale", type.scale); - d->setProperty ("filename", type.filename); - - if (type.subtype != nullptr) - d->setProperty ("subtype", type.subtype); - - images.append (var (d)); - } - - return getiOSAssetContents (images); - } - - static void createiOSLaunchImageFiles (const File& launchImageSet) - { - const Array types (getiOSLaunchImageTypes()); - - for (int i = 0; i < types.size(); ++i) - { - const ImageType& type = types.getReference(i); - - Image image (Image::ARGB, type.width, type.height, true); // (empty black image) - image.clear (image.getBounds(), Colours::black); - - MemoryOutputStream pngData; - PNGImageFormat pngFormat; - pngFormat.writeImageToStream (image, pngData); - overwriteFileIfDifferentOrThrow (launchImageSet.getChildFile (type.filename), pngData); - } - } - - //============================================================================== - static String getiOSAssetContents (var images) - { - DynamicObject::Ptr v (new DynamicObject()); - - var info (new DynamicObject()); - info.getDynamicObject()->setProperty ("version", 1); - info.getDynamicObject()->setProperty ("author", "xcode"); - - v->setProperty ("images", images); - v->setProperty ("info", info); - - return JSON::toString (var (v)); - } - - void createiOSAssetsFolder() const - { - const File assets (getTargetFolder().getChildFile (project.getProjectFilenameRoot()) - .getChildFile ("Images.xcassets")); - const File iconSet (assets.getChildFile ("AppIcon.appiconset")); - const File launchImage (assets.getChildFile ("LaunchImage.launchimage")); - - overwriteFileIfDifferentOrThrow (iconSet.getChildFile ("Contents.json"), getiOSAppIconContents()); - createiOSIconFiles (iconSet); - - overwriteFileIfDifferentOrThrow (launchImage.getChildFile ("Contents.json"), getiOSLaunchImageContents()); - createiOSLaunchImageFiles (launchImage); - - RelativePath assetsPath (assets, getTargetFolder(), RelativePath::buildTargetFolder); - addFileReference (assetsPath.toUnixStyle()); - resourceIDs.add (addBuildFile (assetsPath, false, false)); - resourceFileRefs.add (createFileRefID (assetsPath)); - } - - //============================================================================== - static String indentBracedList (const StringArray& list) { return "{" + indentList (list, ";", 0, true) + " }"; } - static String indentParenthesisedList (const StringArray& list) { return "(" + indentList (list, ",", 1, false) + " )"; } - - static String indentList (const StringArray& list, const String& separator, int extraTabs, bool shouldSort) - { - if (list.size() == 0) - return " "; - - const String tabs ("\n" + String::repeatedString ("\t", extraTabs + 4)); - - if (shouldSort) - { - StringArray sorted (list); - sorted.sort (true); - - return tabs + sorted.joinIntoString (separator + tabs) + separator; - } - - return tabs + list.joinIntoString (separator + tabs) + separator; - } - - String createID (String rootString) const - { - if (rootString.startsWith ("${")) - rootString = rootString.fromFirstOccurrenceOf ("}/", false, false); - - rootString += project.getProjectUID(); - - return MD5 (rootString.toUTF8()).toHexString().substring (0, 24).toUpperCase(); - } - - String createFileRefID (const RelativePath& path) const { return createFileRefID (path.toUnixStyle()); } - String createFileRefID (const String& path) const { return createID ("__fileref_" + path); } - String getIDForGroup (const Project::Item& item) const { return createID (item.getID()); } - - bool shouldFileBeCompiledByDefault (const RelativePath& file) const override - { - return file.hasFileExtension (sourceFileExtensions); - } - - static String getOSXVersionName (int version) - { - jassert (version >= 4); - return "10." + String (version); - } - - static String getSDKName (int version) - { - return getOSXVersionName (version) + " SDK"; - } - - void initialiseDependencyPathValues() - { - vst2Path.referTo (Value (new DependencyPathValueSource (getSetting (Ids::vstFolder), Ids::vst2Path, TargetOS::osx))); - vst3Path.referTo (Value (new DependencyPathValueSource (getSetting (Ids::vst3Folder), Ids::vst3Path, TargetOS::osx))); - aaxPath. referTo (Value (new DependencyPathValueSource (getSetting (Ids::aaxFolder), Ids::aaxPath, TargetOS::osx))); - rtasPath.referTo (Value (new DependencyPathValueSource (getSetting (Ids::rtasFolder), Ids::rtasPath, TargetOS::osx))); - } -}; +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2015 - ROLI Ltd. + + Permission is granted to use this software under the terms of either: + a) the GPL v2 (or any later version) + b) the Affero GPL v3 + + Details of these licenses can be found at: www.gnu.org/licenses + + JUCE is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + ------------------------------------------------------------------------------ + + To release a closed-source product which uses JUCE, commercial licenses are + available: visit www.juce.com for more information. + + ============================================================================== +*/ + +namespace +{ + const char* const osxVersionDefault = "default"; + const int oldestSDKVersion = 5; + const int currentSDKVersion = 11; + + const char* const osxArch_Default = "default"; + const char* const osxArch_Native = "Native"; + const char* const osxArch_32BitUniversal = "32BitUniversal"; + const char* const osxArch_64BitUniversal = "64BitUniversal"; + const char* const osxArch_64Bit = "64BitIntel"; +} + +//============================================================================== +class XCodeProjectExporter : public ProjectExporter +{ +public: + //============================================================================== + static const char* getNameMac() { return "Xcode (MacOSX)"; } + static const char* getNameiOS() { return "Xcode (iOS)"; } + static const char* getValueTreeTypeName (bool iOS) { return iOS ? "XCODE_IPHONE" : "XCODE_MAC"; } + + //============================================================================== + XCodeProjectExporter (Project& p, const ValueTree& t, const bool isIOS) + : ProjectExporter (p, t), + iOS (isIOS) + { + name = iOS ? getNameiOS() : getNameMac(); + + if (getTargetLocationString().isEmpty()) + getTargetLocationValue() = getDefaultBuildsRootFolder() + (iOS ? "iOS" : "MacOSX"); + + initialiseDependencyPathValues(); + } + + static XCodeProjectExporter* createForSettings (Project& project, const ValueTree& settings) + { + if (settings.hasType (getValueTreeTypeName (false))) return new XCodeProjectExporter (project, settings, false); + if (settings.hasType (getValueTreeTypeName (true))) return new XCodeProjectExporter (project, settings, true); + + return nullptr; + } + + //============================================================================== + Value getPListToMergeValue() { return getSetting ("customPList"); } + String getPListToMergeString() const { return settings ["customPList"]; } + + Value getExtraFrameworksValue() { return getSetting (Ids::extraFrameworks); } + String getExtraFrameworksString() const { return settings [Ids::extraFrameworks]; } + + Value getPostBuildScriptValue() { return getSetting (Ids::postbuildCommand); } + String getPostBuildScript() const { return settings [Ids::postbuildCommand]; } + + Value getPreBuildScriptValue() { return getSetting (Ids::prebuildCommand); } + String getPreBuildScript() const { return settings [Ids::prebuildCommand]; } + + bool usesMMFiles() const override { return true; } + bool isXcode() const override { return true; } + bool isOSX() const override { return ! iOS; } + bool canCopeWithDuplicateFiles() override { return true; } + + void createExporterProperties (PropertyListBuilder& props) override + { + if (projectType.isGUIApplication() && ! iOS) + { + props.add (new TextPropertyComponent (getSetting ("documentExtensions"), "Document file extensions", 128, false), + "A comma-separated list of file extensions for documents that your app can open. " + "Using a leading '.' is optional, and the extensions are not case-sensitive."); + } + else if (iOS) + { + props.add (new BooleanPropertyComponent (getSetting ("UIFileSharingEnabled"), "File Sharing Enabled", "Enabled"), + "Enable this to expose your app's files to iTunes."); + + props.add (new BooleanPropertyComponent (getSetting ("UIStatusBarHidden"), "Status Bar Hidden", "Enabled"), + "Enable this to disable the status bar in your app."); + } + + props.add (new TextPropertyComponent (getPListToMergeValue(), "Custom PList", 8192, true), + "You can paste the contents of an XML PList file in here, and the settings that it contains will override any " + "settings that the Introjucer creates. BEWARE! When doing this, be careful to remove from the XML any " + "values that you DO want the introjucer to change!"); + + props.add (new TextPropertyComponent (getExtraFrameworksValue(), "Extra Frameworks", 2048, false), + "A comma-separated list of extra frameworks that should be added to the build. " + "(Don't include the .framework extension in the name)"); + + props.add (new TextPropertyComponent (getPreBuildScriptValue(), "Pre-build shell script", 32768, true), + "Some shell-script that will be run before a build starts."); + + props.add (new TextPropertyComponent (getPostBuildScriptValue(), "Post-build shell script", 32768, true), + "Some shell-script that will be run after a build completes."); + } + + bool launchProject() override + { + #if JUCE_MAC + return getProjectBundle().startAsProcess(); + #else + return false; + #endif + } + + bool canLaunchProject() override + { + #if JUCE_MAC + return true; + #else + return false; + #endif + } + + //============================================================================== + void create (const OwnedArray&) const override + { + infoPlistFile = getTargetFolder().getChildFile ("Info.plist"); + menuNibFile = getTargetFolder().getChildFile ("RecentFilesMenuTemplate.nib"); + + createIconFile(); + + File projectBundle (getProjectBundle()); + createDirectoryOrThrow (projectBundle); + + createObjects(); + + File projectFile (projectBundle.getChildFile ("project.pbxproj")); + + { + MemoryOutputStream mo; + writeProjectFile (mo); + overwriteFileIfDifferentOrThrow (projectFile, mo); + } + + writeInfoPlistFile(); + + // Deleting the .rsrc files can be needed to force Xcode to update the version number. + deleteRsrcFiles(); + } + +protected: + //============================================================================== + class XcodeBuildConfiguration : public BuildConfiguration + { + public: + XcodeBuildConfiguration (Project& p, const ValueTree& t, const bool isIOS, const ProjectExporter& e) + : BuildConfiguration (p, t, e), iOS (isIOS) + { + if (iOS) + { + if (getiOSCompatibilityVersion().isEmpty()) + getiOSCompatibilityVersionValue() = osxVersionDefault; + } + else + { + if (getMacSDKVersion().isEmpty()) + getMacSDKVersionValue() = osxVersionDefault; + + if (getMacCompatibilityVersion().isEmpty()) + getMacCompatibilityVersionValue() = osxVersionDefault; + + if (getMacArchitecture().isEmpty()) + getMacArchitectureValue() = osxArch_Default; + } + } + + Value getMacSDKVersionValue() { return getValue (Ids::osxSDK); } + String getMacSDKVersion() const { return config [Ids::osxSDK]; } + Value getMacCompatibilityVersionValue() { return getValue (Ids::osxCompatibility); } + String getMacCompatibilityVersion() const { return config [Ids::osxCompatibility]; } + Value getiOSCompatibilityVersionValue() { return getValue (Ids::iosCompatibility); } + String getiOSCompatibilityVersion() const { return config [Ids::iosCompatibility]; } + Value getMacArchitectureValue() { return getValue (Ids::osxArchitecture); } + String getMacArchitecture() const { return config [Ids::osxArchitecture]; } + Value getCustomXcodeFlagsValue() { return getValue (Ids::customXcodeFlags); } + String getCustomXcodeFlags() const { return config [Ids::customXcodeFlags]; } + Value getCppLanguageStandardValue() { return getValue (Ids::cppLanguageStandard); } + String getCppLanguageStandard() const { return config [Ids::cppLanguageStandard]; } + Value getCppLibTypeValue() { return getValue (Ids::cppLibType); } + String getCppLibType() const { return config [Ids::cppLibType]; } + Value getCodeSignIdentityValue() { return getValue (Ids::codeSigningIdentity); } + String getCodeSignIdentity() const { return config [Ids::codeSigningIdentity]; } + Value getFastMathValue() { return getValue (Ids::fastMath); } + bool isFastMathEnabled() const { return config [Ids::fastMath]; } + Value getLinkTimeOptimisationValue() { return getValue (Ids::linkTimeOptimisation); } + bool isLinkTimeOptimisationEnabled() const { return config [Ids::linkTimeOptimisation]; } + + var getDefaultOptimisationLevel() const override { return var ((int) (isDebug() ? gccO0 : gccO3)); } + + void createConfigProperties (PropertyListBuilder& props) override + { + addGCCOptimisationProperty (props); + + if (iOS) + { + const char* iosVersions[] = { "Use Default", "7.0", "7.1", "8.0", "8.1", "8.2", "8.3", "8.4", "9.0", "9.1", "9.2", 0 }; + const char* iosVersionValues[] = { osxVersionDefault, "7.0", "7.1", "8.0", "8.1", "8.2", "8.3", "8.4", "9.0", "9.1", "9.2", 0 }; + + props.add (new ChoicePropertyComponent (getiOSCompatibilityVersionValue(), "iOS Deployment Target", + StringArray (iosVersions), Array (iosVersionValues)), + "The minimum version of iOS that the target binary will run on."); + } + else + { + StringArray sdkVersionNames, osxVersionNames; + Array versionValues; + + sdkVersionNames.add ("Use Default"); + osxVersionNames.add ("Use Default"); + versionValues.add (osxVersionDefault); + + for (int ver = oldestSDKVersion; ver <= currentSDKVersion; ++ver) + { + sdkVersionNames.add (getSDKName (ver)); + osxVersionNames.add (getOSXVersionName (ver)); + versionValues.add (getSDKName (ver)); + } + + props.add (new ChoicePropertyComponent (getMacSDKVersionValue(), "OSX Base SDK Version", sdkVersionNames, versionValues), + "The version of OSX to link against in the XCode build."); + + props.add (new ChoicePropertyComponent (getMacCompatibilityVersionValue(), "OSX Deployment Target", osxVersionNames, versionValues), + "The minimum version of OSX that the target binary will be compatible with."); + + const char* osxArch[] = { "Use Default", "Native architecture of build machine", + "Universal Binary (32-bit)", "Universal Binary (32/64-bit)", "64-bit Intel", 0 }; + const char* osxArchValues[] = { osxArch_Default, osxArch_Native, osxArch_32BitUniversal, + osxArch_64BitUniversal, osxArch_64Bit, 0 }; + + props.add (new ChoicePropertyComponent (getMacArchitectureValue(), "OSX Architecture", + StringArray (osxArch), Array (osxArchValues)), + "The type of OSX binary that will be produced."); + } + + props.add (new TextPropertyComponent (getCustomXcodeFlagsValue(), "Custom Xcode flags", 8192, false), + "A comma-separated list of custom Xcode setting flags which will be appended to the list of generated flags, " + "e.g. MACOSX_DEPLOYMENT_TARGET_i386 = 10.5, VALID_ARCHS = \"ppc i386 x86_64\""); + + const char* cppLanguageStandardNames[] = { "Use Default", "C++98", "GNU++98", "C++11", "GNU++11", "C++14", "GNU++14", nullptr }; + Array cppLanguageStandardValues; + cppLanguageStandardValues.add (var::null); + cppLanguageStandardValues.add ("c++98"); + cppLanguageStandardValues.add ("gnu++98"); + cppLanguageStandardValues.add ("c++11"); + cppLanguageStandardValues.add ("gnu++11"); + cppLanguageStandardValues.add ("c++14"); + cppLanguageStandardValues.add ("gnu++14"); + + props.add (new ChoicePropertyComponent (getCppLanguageStandardValue(), "C++ Language Standard", StringArray (cppLanguageStandardNames), cppLanguageStandardValues), + "The standard of the C++ language that will be used for compilation."); + + const char* cppLibNames[] = { "Use Default", "LLVM libc++", "GNU libstdc++", nullptr }; + Array cppLibValues; + cppLibValues.add (var::null); + cppLibValues.add ("libc++"); + cppLibValues.add ("libstdc++"); + + props.add (new ChoicePropertyComponent (getCppLibTypeValue(), "C++ Library", StringArray (cppLibNames), cppLibValues), + "The type of C++ std lib that will be linked."); + + props.add (new TextPropertyComponent (getCodeSignIdentityValue(), "Code-signing Identity", 8192, false), + "The name of a code-signing identity for Xcode to apply."); + + props.add (new BooleanPropertyComponent (getFastMathValue(), "Relax IEEE compliance", "Enabled"), + "Enable this to use FAST_MATH non-IEEE mode. (Warning: this can have unexpected results!)"); + + props.add (new BooleanPropertyComponent (getLinkTimeOptimisationValue(), "Link-Time Optimisation", "Enabled"), + "Enable this to perform link-time code generation. This is recommended for release builds."); + } + + bool iOS; + }; + + BuildConfiguration::Ptr createBuildConfig (const ValueTree& v) const override + { + return new XcodeBuildConfiguration (project, v, iOS, *this); + } + +private: + mutable OwnedArray pbxBuildFiles, pbxFileReferences, pbxGroups, misc, projectConfigs, targetConfigs; + mutable StringArray buildPhaseIDs, resourceIDs, sourceIDs, frameworkIDs; + mutable StringArray frameworkFileIDs, rezFileIDs, resourceFileRefs; + mutable File infoPlistFile, menuNibFile, iconFile; + const bool iOS; + + static String sanitisePath (const String& path) + { + if (path.startsWithChar ('~')) + return "$(HOME)" + path.substring (1); + + return path; + } + + static String addQuotesIfContainsSpace (const String& s) + { + return s.containsChar (' ') ? s.quoted() : s; + } + + File getProjectBundle() const { return getTargetFolder().getChildFile (project.getProjectFilenameRoot()).withFileExtension (".xcodeproj"); } + + //============================================================================== + void createObjects() const + { + addFrameworks(); + addMainBuildProduct(); + + if (xcodeCreatePList) + { + RelativePath plistPath (infoPlistFile, getTargetFolder(), RelativePath::buildTargetFolder); + addFileReference (plistPath.toUnixStyle()); + resourceFileRefs.add (createFileRefID (plistPath)); + } + + if (iOS) + { + if (! projectType.isStaticLibrary()) + createiOSAssetsFolder(); + } + else + { + MemoryOutputStream nib; + nib.write (BinaryData::RecentFilesMenuTemplate_nib, BinaryData::RecentFilesMenuTemplate_nibSize); + overwriteFileIfDifferentOrThrow (menuNibFile, nib); + + RelativePath menuNibPath (menuNibFile, getTargetFolder(), RelativePath::buildTargetFolder); + addFileReference (menuNibPath.toUnixStyle()); + resourceIDs.add (addBuildFile (menuNibPath, false, false)); + resourceFileRefs.add (createFileRefID (menuNibPath)); + } + + if (iconFile.exists()) + { + RelativePath iconPath (iconFile, getTargetFolder(), RelativePath::buildTargetFolder); + addFileReference (iconPath.toUnixStyle()); + resourceIDs.add (addBuildFile (iconPath, false, false)); + resourceFileRefs.add (createFileRefID (iconPath)); + } + + { + StringArray topLevelGroupIDs; + + for (int i = 0; i < getAllGroups().size(); ++i) + { + const Project::Item& group = getAllGroups().getReference(i); + + if (group.getNumChildren() > 0) + topLevelGroupIDs.add (addProjectItem (group)); + } + + { // Add 'resources' group + String resourcesGroupID (createID ("__resources")); + addGroup (resourcesGroupID, "Resources", resourceFileRefs); + topLevelGroupIDs.add (resourcesGroupID); + } + + { // Add 'frameworks' group + String frameworksGroupID (createID ("__frameworks")); + addGroup (frameworksGroupID, "Frameworks", frameworkFileIDs); + topLevelGroupIDs.add (frameworksGroupID); + } + + { // Add 'products' group + String productsGroupID (createID ("__products")); + StringArray products; + products.add (createID ("__productFileID")); + addGroup (productsGroupID, "Products", products); + topLevelGroupIDs.add (productsGroupID); + } + + addGroup (createID ("__mainsourcegroup"), "Source", topLevelGroupIDs); + } + + for (ConstConfigIterator config (*this); config.next();) + { + const XcodeBuildConfiguration& xcodeConfig = dynamic_cast (*config); + addProjectConfig (config->getName(), getProjectSettings (xcodeConfig)); + addTargetConfig (config->getName(), getTargetSettings (xcodeConfig)); + } + + addConfigList (projectConfigs, createID ("__projList")); + addConfigList (targetConfigs, createID ("__configList")); + + addShellScriptBuildPhase ("Pre-build script", getPreBuildScript()); + + if (! projectType.isStaticLibrary()) + addBuildPhase ("PBXResourcesBuildPhase", resourceIDs); + + if (rezFileIDs.size() > 0) + addBuildPhase ("PBXRezBuildPhase", rezFileIDs); + + addBuildPhase ("PBXSourcesBuildPhase", sourceIDs); + + if (! projectType.isStaticLibrary()) + addBuildPhase ("PBXFrameworksBuildPhase", frameworkIDs); + + addShellScriptBuildPhase ("Post-build script", getPostBuildScript()); + + addTargetObject(); + addProjectObject(); + } + + static Image fixMacIconImageSize (Drawable& image) + { + const int validSizes[] = { 16, 32, 48, 128, 256, 512, 1024 }; + + const int w = image.getWidth(); + const int h = image.getHeight(); + + int bestSize = 16; + + for (int i = 0; i < numElementsInArray (validSizes); ++i) + { + if (w == h && w == validSizes[i]) + { + bestSize = w; + break; + } + + if (jmax (w, h) > validSizes[i]) + bestSize = validSizes[i]; + } + + return rescaleImageForIcon (image, bestSize); + } + + static void writeOldIconFormat (MemoryOutputStream& out, const Image& image, const char* type, const char* maskType) + { + const int w = image.getWidth(); + const int h = image.getHeight(); + + out.write (type, 4); + out.writeIntBigEndian (8 + 4 * w * h); + + const Image::BitmapData bitmap (image, Image::BitmapData::readOnly); + + for (int y = 0; y < h; ++y) + { + for (int x = 0; x < w; ++x) + { + const Colour pixel (bitmap.getPixelColour (x, y)); + out.writeByte ((char) pixel.getAlpha()); + out.writeByte ((char) pixel.getRed()); + out.writeByte ((char) pixel.getGreen()); + out.writeByte ((char) pixel.getBlue()); + } + } + + out.write (maskType, 4); + out.writeIntBigEndian (8 + w * h); + + for (int y = 0; y < h; ++y) + { + for (int x = 0; x < w; ++x) + { + const Colour pixel (bitmap.getPixelColour (x, y)); + out.writeByte ((char) pixel.getAlpha()); + } + } + } + + static void writeNewIconFormat (MemoryOutputStream& out, const Image& image, const char* type) + { + MemoryOutputStream pngData; + PNGImageFormat pngFormat; + pngFormat.writeImageToStream (image, pngData); + + out.write (type, 4); + out.writeIntBigEndian (8 + (int) pngData.getDataSize()); + out << pngData; + } + + void writeIcnsFile (const OwnedArray& images, OutputStream& out) const + { + MemoryOutputStream data; + int smallest = 0x7fffffff; + Drawable* smallestImage = nullptr; + + for (int i = 0; i < images.size(); ++i) + { + const Image image (fixMacIconImageSize (*images.getUnchecked(i))); + jassert (image.getWidth() == image.getHeight()); + + if (image.getWidth() < smallest) + { + smallest = image.getWidth(); + smallestImage = images.getUnchecked(i); + } + + switch (image.getWidth()) + { + case 16: writeOldIconFormat (data, image, "is32", "s8mk"); break; + case 32: writeOldIconFormat (data, image, "il32", "l8mk"); break; + case 48: writeOldIconFormat (data, image, "ih32", "h8mk"); break; + case 128: writeOldIconFormat (data, image, "it32", "t8mk"); break; + case 256: writeNewIconFormat (data, image, "ic08"); break; + case 512: writeNewIconFormat (data, image, "ic09"); break; + case 1024: writeNewIconFormat (data, image, "ic10"); break; + default: break; + } + } + + jassert (data.getDataSize() > 0); // no suitable sized images? + + // If you only supply a 1024 image, the file doesn't work on 10.8, so we need + // to force a smaller one in there too.. + if (smallest > 512 && smallestImage != nullptr) + writeNewIconFormat (data, rescaleImageForIcon (*smallestImage, 512), "ic09"); + + out.write ("icns", 4); + out.writeIntBigEndian ((int) data.getDataSize() + 8); + out << data; + } + + void getIconImages (OwnedArray& images) const + { + ScopedPointer bigIcon (getBigIcon()); + if (bigIcon != nullptr) + images.add (bigIcon.release()); + + ScopedPointer smallIcon (getSmallIcon()); + if (smallIcon != nullptr) + images.add (smallIcon.release()); + } + + void createiOSIconFiles (File appIconSet) const + { + const Array types (getiOSAppIconTypes()); + + OwnedArray images; + getIconImages (images); + + if (images.size() > 0) + { + for (int i = 0; i < types.size(); ++i) + { + const AppIconType type = types.getUnchecked(i); + const Image image (rescaleImageForIcon (*images.getFirst(), type.size)); + + MemoryOutputStream pngData; + PNGImageFormat pngFormat; + pngFormat.writeImageToStream (image, pngData); + + overwriteFileIfDifferentOrThrow (appIconSet.getChildFile (type.filename), pngData); + } + } + } + + void createIconFile() const + { + OwnedArray images; + getIconImages (images); + + if (images.size() > 0) + { + MemoryOutputStream mo; + writeIcnsFile (images, mo); + + iconFile = getTargetFolder().getChildFile ("Icon.icns"); + overwriteFileIfDifferentOrThrow (iconFile, mo); + } + } + + void writeInfoPlistFile() const + { + if (! xcodeCreatePList) + return; + + ScopedPointer plist (XmlDocument::parse (getPListToMergeString())); + + if (plist == nullptr || ! plist->hasTagName ("plist")) + plist = new XmlElement ("plist"); + + XmlElement* dict = plist->getChildByName ("dict"); + + if (dict == nullptr) + dict = plist->createNewChildElement ("dict"); + + if (iOS) + { + addPlistDictionaryKeyBool (dict, "LSRequiresIPhoneOS", true); + addPlistDictionaryKeyBool (dict, "UIViewControllerBasedStatusBarAppearance", false); + } + + addPlistDictionaryKey (dict, "CFBundleExecutable", "${EXECUTABLE_NAME}"); + + if (! iOS) // (NB: on iOS this causes error ITMS-90032 during publishing) + addPlistDictionaryKey (dict, "CFBundleIconFile", iconFile.exists() ? iconFile.getFileName() : String()); + + addPlistDictionaryKey (dict, "CFBundleIdentifier", "$(PRODUCT_BUNDLE_IDENTIFIER)"); + addPlistDictionaryKey (dict, "CFBundleName", projectName); + addPlistDictionaryKey (dict, "CFBundlePackageType", xcodePackageType); + addPlistDictionaryKey (dict, "CFBundleSignature", xcodeBundleSignature); + addPlistDictionaryKey (dict, "CFBundleShortVersionString", project.getVersionString()); + addPlistDictionaryKey (dict, "CFBundleVersion", project.getVersionString()); + addPlistDictionaryKey (dict, "NSHumanReadableCopyright", project.getCompanyName().toString()); + addPlistDictionaryKeyBool (dict, "NSHighResolutionCapable", true); + + StringArray documentExtensions; + documentExtensions.addTokens (replacePreprocessorDefs (getAllPreprocessorDefs(), settings ["documentExtensions"]), + ",", StringRef()); + documentExtensions.trim(); + documentExtensions.removeEmptyStrings (true); + + if (documentExtensions.size() > 0) + { + dict->createNewChildElement ("key")->addTextElement ("CFBundleDocumentTypes"); + XmlElement* dict2 = dict->createNewChildElement ("array")->createNewChildElement ("dict"); + XmlElement* arrayTag = nullptr; + + for (int i = 0; i < documentExtensions.size(); ++i) + { + String ex (documentExtensions[i]); + if (ex.startsWithChar ('.')) + ex = ex.substring (1); + + if (arrayTag == nullptr) + { + dict2->createNewChildElement ("key")->addTextElement ("CFBundleTypeExtensions"); + arrayTag = dict2->createNewChildElement ("array"); + + addPlistDictionaryKey (dict2, "CFBundleTypeName", ex); + addPlistDictionaryKey (dict2, "CFBundleTypeRole", "Editor"); + addPlistDictionaryKey (dict2, "CFBundleTypeIconFile", "Icon"); + addPlistDictionaryKey (dict2, "NSPersistentStoreTypeKey", "XML"); + } + + arrayTag->createNewChildElement ("string")->addTextElement (ex); + } + } + + if (settings ["UIFileSharingEnabled"]) + addPlistDictionaryKeyBool (dict, "UIFileSharingEnabled", true); + + if (settings ["UIStatusBarHidden"]) + addPlistDictionaryKeyBool (dict, "UIStatusBarHidden", true); + + if (iOS) + { + // Forcing full screen disables the split screen feature and prevents error ITMS-90475 + addPlistDictionaryKeyBool (dict, "UIRequiresFullScreen", true); + + static const char* kDefaultiOSOrientationStrings[] = + { + "UIInterfaceOrientationPortrait", + "UIInterfaceOrientationPortraitUpsideDown", + "UIInterfaceOrientationLandscapeLeft", + "UIInterfaceOrientationLandscapeRight", + nullptr + }; + + StringArray iOSOrientations (kDefaultiOSOrientationStrings); + + dict->createNewChildElement ("key")->addTextElement ("UISupportedInterfaceOrientations"); + XmlElement* plistStringArray = dict->createNewChildElement ("array"); + + for (int i = 0; i < iOSOrientations.size(); ++i) + plistStringArray->createNewChildElement ("string")->addTextElement (iOSOrientations[i]); + } + + for (int i = 0; i < xcodeExtraPListEntries.size(); ++i) + dict->addChildElement (new XmlElement (xcodeExtraPListEntries.getReference(i))); + + MemoryOutputStream mo; + plist->writeToStream (mo, ""); + + overwriteFileIfDifferentOrThrow (infoPlistFile, mo); + } + + void deleteRsrcFiles() const + { + for (DirectoryIterator di (getTargetFolder().getChildFile ("build"), true, "*.rsrc", File::findFiles); di.next();) + di.getFile().deleteFile(); + } + + String getHeaderSearchPaths (const BuildConfiguration& config) const + { + StringArray paths (extraSearchPaths); + paths.addArray (config.getHeaderSearchPaths()); + paths.add ("$(inherited)"); + + paths = getCleanedStringArray (paths); + + for (int i = 0; i < paths.size(); ++i) + { + String& s = paths.getReference(i); + + s = replacePreprocessorTokens (config, s); + + if (s.containsChar (' ')) + s = "\"\\\"" + s + "\\\"\""; // crazy double quotes required when there are spaces.. + else + s = "\"" + s + "\""; + } + + return "(" + paths.joinIntoString (", ") + ")"; + } + + static String getLinkerFlagForLib (String library) + { + if (library.substring (0, 3) == "lib") + library = library.substring (3); + + return "-l" + library.upToLastOccurrenceOf (".", false, false); + } + + void getLinkerFlagsForStaticLibrary (const RelativePath& library, StringArray& flags, StringArray& librarySearchPaths) const + { + flags.add (getLinkerFlagForLib (library.getFileNameWithoutExtension())); + + String searchPath (library.toUnixStyle().upToLastOccurrenceOf ("/", false, false)); + + if (! library.isAbsolute()) + { + String srcRoot (rebaseFromProjectFolderToBuildTarget (RelativePath (".", RelativePath::projectFolder)).toUnixStyle()); + + if (srcRoot.endsWith ("/.")) srcRoot = srcRoot.dropLastCharacters (2); + if (! srcRoot.endsWithChar ('/')) srcRoot << '/'; + + searchPath = srcRoot + searchPath; + } + + librarySearchPaths.add (sanitisePath (searchPath)); + } + + void getLinkerFlags (const BuildConfiguration& config, StringArray& flags, StringArray& librarySearchPaths) const + { + if (xcodeIsBundle) + flags.add ("-bundle"); + + const Array& extraLibs = config.isDebug() ? xcodeExtraLibrariesDebug + : xcodeExtraLibrariesRelease; + + for (int i = 0; i < extraLibs.size(); ++i) + getLinkerFlagsForStaticLibrary (extraLibs.getReference(i), flags, librarySearchPaths); + + flags.add (replacePreprocessorTokens (config, getExtraLinkerFlagsString())); + flags.add (getExternalLibraryFlags (config)); + + for (int i = 0; i < xcodeLibs.size(); ++i) + flags.add (getLinkerFlagForLib (xcodeLibs[i])); + + flags = getCleanedStringArray (flags); + } + + StringArray getProjectSettings (const XcodeBuildConfiguration& config) const + { + StringArray s; + s.add ("ALWAYS_SEARCH_USER_PATHS = NO"); + s.add ("GCC_C_LANGUAGE_STANDARD = c99"); + s.add ("GCC_WARN_ABOUT_RETURN_TYPE = YES"); + s.add ("GCC_WARN_CHECK_SWITCH_STATEMENTS = YES"); + s.add ("GCC_WARN_UNUSED_VARIABLE = YES"); + s.add ("GCC_WARN_MISSING_PARENTHESES = YES"); + s.add ("GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES"); + s.add ("GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES"); + s.add ("WARNING_CFLAGS = -Wreorder"); + s.add ("GCC_MODEL_TUNING = G5"); + + if (projectType.isStaticLibrary()) + { + s.add ("GCC_INLINES_ARE_PRIVATE_EXTERN = NO"); + s.add ("GCC_SYMBOLS_PRIVATE_EXTERN = NO"); + } + else + { + s.add ("GCC_INLINES_ARE_PRIVATE_EXTERN = YES"); + } + + if (config.isDebug()) + { + s.add ("ENABLE_TESTABILITY = YES"); + + if (config.getMacArchitecture() == osxArch_Default || config.getMacArchitecture().isEmpty()) + s.add ("ONLY_ACTIVE_ARCH = YES"); + } + + if (iOS) + { + s.add ("\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\""); + s.add ("SDKROOT = iphoneos"); + s.add ("TARGETED_DEVICE_FAMILY = \"1,2\""); + + const String iosVersion (config.getiOSCompatibilityVersion()); + if (iosVersion.isNotEmpty() && iosVersion != osxVersionDefault) + s.add ("IPHONEOS_DEPLOYMENT_TARGET = " + iosVersion); + } + + s.add ("ZERO_LINK = NO"); + + if (xcodeCanUseDwarf) + s.add ("DEBUG_INFORMATION_FORMAT = \"dwarf\""); + + s.add ("PRODUCT_NAME = \"" + replacePreprocessorTokens (config, config.getTargetBinaryNameString()) + "\""); + return s; + } + + StringArray getTargetSettings (const XcodeBuildConfiguration& config) const + { + StringArray s; + + s.add ("PRODUCT_BUNDLE_IDENTIFIER = " + project.getBundleIdentifier().toString()); + + const String arch (config.getMacArchitecture()); + if (arch == osxArch_Native) s.add ("ARCHS = \"$(NATIVE_ARCH_ACTUAL)\""); + else if (arch == osxArch_32BitUniversal) s.add ("ARCHS = \"$(ARCHS_STANDARD_32_BIT)\""); + else if (arch == osxArch_64BitUniversal) s.add ("ARCHS = \"$(ARCHS_STANDARD_32_64_BIT)\""); + else if (arch == osxArch_64Bit) s.add ("ARCHS = \"$(ARCHS_STANDARD_64_BIT)\""); + + s.add ("HEADER_SEARCH_PATHS = " + getHeaderSearchPaths (config)); + s.add ("GCC_OPTIMIZATION_LEVEL = " + config.getGCCOptimisationFlag()); + s.add ("INFOPLIST_FILE = " + infoPlistFile.getFileName()); + + if (config.isLinkTimeOptimisationEnabled()) + s.add ("LLVM_LTO = YES"); + + if (config.isFastMathEnabled()) + s.add ("GCC_FAST_MATH = YES"); + + const String extraFlags (replacePreprocessorTokens (config, getExtraCompilerFlagsString()).trim()); + if (extraFlags.isNotEmpty()) + s.add ("OTHER_CPLUSPLUSFLAGS = \"" + extraFlags + "\""); + + if (xcodeProductInstallPath.isNotEmpty()) + s.add ("INSTALL_PATH = \"" + xcodeProductInstallPath + "\""); + + if (xcodeIsBundle) + { + s.add ("LIBRARY_STYLE = Bundle"); + s.add ("WRAPPER_EXTENSION = " + xcodeBundleExtension.substring (1)); + s.add ("GENERATE_PKGINFO_FILE = YES"); + } + + if (xcodeOtherRezFlags.isNotEmpty()) + s.add ("OTHER_REZFLAGS = \"" + xcodeOtherRezFlags + "\""); + + if (config.getTargetBinaryRelativePathString().isNotEmpty()) + { + RelativePath binaryPath (config.getTargetBinaryRelativePathString(), RelativePath::projectFolder); + binaryPath = binaryPath.rebased (projectFolder, getTargetFolder(), RelativePath::buildTargetFolder); + + s.add ("DSTROOT = " + addQuotesIfContainsSpace (sanitisePath (binaryPath.toUnixStyle()))); + s.add ("SYMROOT = " + addQuotesIfContainsSpace (sanitisePath (binaryPath.toUnixStyle()))); + } + else + { + s.add ("CONFIGURATION_BUILD_DIR = \"$(PROJECT_DIR)/build/$(CONFIGURATION)\""); + } + + String gccVersion ("com.apple.compilers.llvm.clang.1_0"); + + if (iOS) + { + s.add ("ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon"); + s.add ("ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage"); + } + else + { + const String sdk (config.getMacSDKVersion()); + const String sdkCompat (config.getMacCompatibilityVersion()); + + for (int ver = oldestSDKVersion; ver <= currentSDKVersion; ++ver) + { + if (sdk == getSDKName (ver)) s.add ("SDKROOT = macosx10." + String (ver)); + if (sdkCompat == getSDKName (ver)) s.add ("MACOSX_DEPLOYMENT_TARGET = 10." + String (ver)); + } + + s.add ("MACOSX_DEPLOYMENT_TARGET_ppc = 10.4"); + s.add ("SDKROOT_ppc = macosx10.5"); + + if (xcodeExcludedFiles64Bit.isNotEmpty()) + { + s.add ("EXCLUDED_SOURCE_FILE_NAMES = \"$(EXCLUDED_SOURCE_FILE_NAMES_$(CURRENT_ARCH))\""); + s.add ("EXCLUDED_SOURCE_FILE_NAMES_x86_64 = " + xcodeExcludedFiles64Bit); + } + } + + s.add ("GCC_VERSION = " + gccVersion); + s.add ("CLANG_CXX_LANGUAGE_STANDARD = \"c++0x\""); + s.add ("CLANG_LINK_OBJC_RUNTIME = NO"); + + if (config.getCodeSignIdentity().isNotEmpty()) + s.add ("CODE_SIGN_IDENTITY = " + config.getCodeSignIdentity().quoted()); + + if (config.getCppLanguageStandard().isNotEmpty()) + s.add ("CLANG_CXX_LANGUAGE_STANDARD = " + config.getCppLanguageStandard().quoted()); + + if (config.getCppLibType().isNotEmpty()) + s.add ("CLANG_CXX_LIBRARY = " + config.getCppLibType().quoted()); + + s.add ("COMBINE_HIDPI_IMAGES = YES"); + + { + StringArray linkerFlags, librarySearchPaths; + getLinkerFlags (config, linkerFlags, librarySearchPaths); + + if (linkerFlags.size() > 0) + s.add ("OTHER_LDFLAGS = \"" + linkerFlags.joinIntoString (" ") + "\""); + + librarySearchPaths.addArray (config.getLibrarySearchPaths()); + librarySearchPaths = getCleanedStringArray (librarySearchPaths); + + if (librarySearchPaths.size() > 0) + { + String libPaths ("LIBRARY_SEARCH_PATHS = (\"$(inherited)\""); + + for (int i = 0; i < librarySearchPaths.size(); ++i) + libPaths += ", \"\\\"" + librarySearchPaths[i] + "\\\"\""; + + s.add (libPaths + ")"); + } + } + + StringPairArray defines; + + if (config.isDebug()) + { + defines.set ("_DEBUG", "1"); + defines.set ("DEBUG", "1"); + s.add ("COPY_PHASE_STRIP = NO"); + s.add ("GCC_DYNAMIC_NO_PIC = NO"); + } + else + { + defines.set ("_NDEBUG", "1"); + defines.set ("NDEBUG", "1"); + s.add ("GCC_GENERATE_DEBUGGING_SYMBOLS = NO"); + s.add ("GCC_SYMBOLS_PRIVATE_EXTERN = YES"); + s.add ("DEAD_CODE_STRIPPING = YES"); + } + + { + defines = mergePreprocessorDefs (defines, getAllPreprocessorDefs (config)); + + StringArray defsList; + + for (int i = 0; i < defines.size(); ++i) + { + String def (defines.getAllKeys()[i]); + const String value (defines.getAllValues()[i]); + if (value.isNotEmpty()) + def << "=" << value.replace ("\"", "\\\""); + + defsList.add ("\"" + def + "\""); + } + + s.add ("GCC_PREPROCESSOR_DEFINITIONS = " + indentParenthesisedList (defsList)); + } + + s.addTokens (config.getCustomXcodeFlags(), ",", "\"'"); + + return getCleanedStringArray (s); + } + + void addFrameworks() const + { + if (! projectType.isStaticLibrary()) + { + StringArray s (xcodeFrameworks); + s.addTokens (getExtraFrameworksString(), ",;", "\"'"); + + if (project.getConfigFlag ("JUCE_QUICKTIME") == Project::configFlagDisabled) + s.removeString ("QuickTime"); + + s.trim(); + s.removeDuplicates (true); + s.sort (true); + + for (int i = 0; i < s.size(); ++i) + addFramework (s[i]); + } + } + + //============================================================================== + void writeProjectFile (OutputStream& output) const + { + output << "// !$*UTF8*$!\n{\n" + "\tarchiveVersion = 1;\n" + "\tclasses = {\n\t};\n" + "\tobjectVersion = 46;\n" + "\tobjects = {\n\n"; + + Array objects; + objects.addArray (pbxBuildFiles); + objects.addArray (pbxFileReferences); + objects.addArray (pbxGroups); + objects.addArray (targetConfigs); + objects.addArray (projectConfigs); + objects.addArray (misc); + + for (int i = 0; i < objects.size(); ++i) + { + ValueTree& o = *objects.getUnchecked(i); + output << "\t\t" << o.getType().toString() << " = {"; + + for (int j = 0; j < o.getNumProperties(); ++j) + { + const Identifier propertyName (o.getPropertyName(j)); + String val (o.getProperty (propertyName).toString()); + + if (val.isEmpty() || (val.containsAnyOf (" \t;<>()=,&+-_@~\r\n\\#%^`*") + && ! (val.trimStart().startsWithChar ('(') + || val.trimStart().startsWithChar ('{')))) + val = "\"" + val + "\""; + + output << propertyName.toString() << " = " << val << "; "; + } + + output << "};\n"; + } + + output << "\t};\n\trootObject = " << createID ("__root") << ";\n}\n"; + } + + String addBuildFile (const String& path, const String& fileRefID, bool addToSourceBuildPhase, bool inhibitWarnings) const + { + String fileID (createID (path + "buildref")); + + if (addToSourceBuildPhase) + sourceIDs.add (fileID); + + ValueTree* v = new ValueTree (fileID); + v->setProperty ("isa", "PBXBuildFile", nullptr); + v->setProperty ("fileRef", fileRefID, nullptr); + + if (inhibitWarnings) + v->setProperty ("settings", "{COMPILER_FLAGS = \"-w\"; }", nullptr); + + pbxBuildFiles.add (v); + return fileID; + } + + String addBuildFile (const RelativePath& path, bool addToSourceBuildPhase, bool inhibitWarnings) const + { + return addBuildFile (path.toUnixStyle(), createFileRefID (path), addToSourceBuildPhase, inhibitWarnings); + } + + String addFileReference (String pathString) const + { + String sourceTree ("SOURCE_ROOT"); + RelativePath path (pathString, RelativePath::unknown); + + if (pathString.startsWith ("${")) + { + sourceTree = pathString.substring (2).upToFirstOccurrenceOf ("}", false, false); + pathString = pathString.fromFirstOccurrenceOf ("}/", false, false); + } + else if (path.isAbsolute()) + { + sourceTree = ""; + } + + const String fileRefID (createFileRefID (pathString)); + + ScopedPointer v (new ValueTree (fileRefID)); + v->setProperty ("isa", "PBXFileReference", nullptr); + v->setProperty ("lastKnownFileType", getFileType (path), nullptr); + v->setProperty (Ids::name, pathString.fromLastOccurrenceOf ("/", false, false), nullptr); + v->setProperty ("path", sanitisePath (pathString), nullptr); + v->setProperty ("sourceTree", sourceTree, nullptr); + + const int existing = pbxFileReferences.indexOfSorted (*this, v); + + if (existing >= 0) + { + // If this fails, there's either a string hash collision, or the same file is being added twice (incorrectly) + jassert (pbxFileReferences.getUnchecked (existing)->isEquivalentTo (*v)); + } + else + { + pbxFileReferences.addSorted (*this, v.release()); + } + + return fileRefID; + } + +public: + static int compareElements (const ValueTree* first, const ValueTree* second) + { + return first->getType().getCharPointer().compare (second->getType().getCharPointer()); + } + +private: + static String getFileType (const RelativePath& file) + { + if (file.hasFileExtension (cppFileExtensions)) return "sourcecode.cpp.cpp"; + if (file.hasFileExtension (".mm")) return "sourcecode.cpp.objcpp"; + if (file.hasFileExtension (".m")) return "sourcecode.c.objc"; + if (file.hasFileExtension (".c")) return "sourcecode.c.c"; + if (file.hasFileExtension (headerFileExtensions)) return "sourcecode.c.h"; + if (file.hasFileExtension (asmFileExtensions)) return "sourcecode.c.asm"; + if (file.hasFileExtension (".framework")) return "wrapper.framework"; + if (file.hasFileExtension (".jpeg;.jpg")) return "image.jpeg"; + if (file.hasFileExtension ("png;gif")) return "image" + file.getFileExtension(); + if (file.hasFileExtension ("html;htm")) return "text.html"; + if (file.hasFileExtension ("xml;zip;wav")) return "file" + file.getFileExtension(); + if (file.hasFileExtension ("txt;rtf")) return "text" + file.getFileExtension(); + if (file.hasFileExtension ("plist")) return "text.plist.xml"; + if (file.hasFileExtension ("app")) return "wrapper.application"; + if (file.hasFileExtension ("component;vst;plugin")) return "wrapper.cfbundle"; + if (file.hasFileExtension ("xcodeproj")) return "wrapper.pb-project"; + if (file.hasFileExtension ("a")) return "archive.ar"; + if (file.hasFileExtension ("xcassets")) return "folder.assetcatalog"; + + return "file" + file.getFileExtension(); + } + + String addFile (const RelativePath& path, bool shouldBeCompiled, bool shouldBeAddedToBinaryResources, bool shouldBeAddedToXcodeResources, bool inhibitWarnings) const + { + const String pathAsString (path.toUnixStyle()); + const String refID (addFileReference (path.toUnixStyle())); + + if (shouldBeCompiled) + { + if (path.hasFileExtension (".r")) + rezFileIDs.add (addBuildFile (pathAsString, refID, false, inhibitWarnings)); + else + addBuildFile (pathAsString, refID, true, inhibitWarnings); + } + else if (! shouldBeAddedToBinaryResources || shouldBeAddedToXcodeResources) + { + const String fileType (getFileType (path)); + + if (shouldBeAddedToXcodeResources || fileType.startsWith ("image.") || fileType.startsWith ("text.") || fileType.startsWith ("file.")) + { + resourceIDs.add (addBuildFile (pathAsString, refID, false, false)); + resourceFileRefs.add (refID); + } + } + + return refID; + } + + String addProjectItem (const Project::Item& projectItem) const + { + if (projectItem.isGroup()) + { + StringArray childIDs; + for (int i = 0; i < projectItem.getNumChildren(); ++i) + { + const String childID (addProjectItem (projectItem.getChild(i))); + + if (childID.isNotEmpty()) + childIDs.add (childID); + } + + return addGroup (projectItem, childIDs); + } + + if (projectItem.shouldBeAddedToTargetProject()) + { + const String itemPath (projectItem.getFilePath()); + RelativePath path; + + if (itemPath.startsWith ("${")) + path = RelativePath (itemPath, RelativePath::unknown); + else + path = RelativePath (projectItem.getFile(), getTargetFolder(), RelativePath::buildTargetFolder); + + return addFile (path, projectItem.shouldBeCompiled(), + projectItem.shouldBeAddedToBinaryResources(), + projectItem.shouldBeAddedToXcodeResources(), + projectItem.shouldInhibitWarnings()); + } + + return String(); + } + + void addFramework (const String& frameworkName) const + { + String path (frameworkName); + if (! File::isAbsolutePath (path)) + path = "System/Library/Frameworks/" + path; + + if (! path.endsWithIgnoreCase (".framework")) + path << ".framework"; + + const String fileRefID (createFileRefID (path)); + + addFileReference ((File::isAbsolutePath (frameworkName) ? "" : "${SDKROOT}/") + path); + frameworkIDs.add (addBuildFile (path, fileRefID, false, false)); + frameworkFileIDs.add (fileRefID); + } + + void addGroup (const String& groupID, const String& groupName, const StringArray& childIDs) const + { + ValueTree* v = new ValueTree (groupID); + v->setProperty ("isa", "PBXGroup", nullptr); + v->setProperty ("children", indentParenthesisedList (childIDs), nullptr); + v->setProperty (Ids::name, groupName, nullptr); + v->setProperty ("sourceTree", "", nullptr); + pbxGroups.add (v); + } + + String addGroup (const Project::Item& item, StringArray& childIDs) const + { + const String groupName (item.getName()); + const String groupID (getIDForGroup (item)); + addGroup (groupID, groupName, childIDs); + return groupID; + } + + void addMainBuildProduct() const + { + jassert (xcodeFileType.isNotEmpty()); + jassert (xcodeBundleExtension.isEmpty() || xcodeBundleExtension.startsWithChar ('.')); + + if (ProjectExporter::BuildConfiguration::Ptr config = getConfiguration(0)) + { + String productName (replacePreprocessorTokens (*config, config->getTargetBinaryNameString())); + + if (xcodeFileType == "archive.ar") + productName = getLibbedFilename (productName); + else + productName += xcodeBundleExtension; + + addBuildProduct (xcodeFileType, productName); + } + } + + void addBuildProduct (const String& fileType, const String& binaryName) const + { + ValueTree* v = new ValueTree (createID ("__productFileID")); + v->setProperty ("isa", "PBXFileReference", nullptr); + v->setProperty ("explicitFileType", fileType, nullptr); + v->setProperty ("includeInIndex", (int) 0, nullptr); + v->setProperty ("path", sanitisePath (binaryName), nullptr); + v->setProperty ("sourceTree", "BUILT_PRODUCTS_DIR", nullptr); + pbxFileReferences.add (v); + } + + void addTargetConfig (const String& configName, const StringArray& buildSettings) const + { + ValueTree* v = new ValueTree (createID ("targetconfigid_" + configName)); + v->setProperty ("isa", "XCBuildConfiguration", nullptr); + v->setProperty ("buildSettings", indentBracedList (buildSettings), nullptr); + v->setProperty (Ids::name, configName, nullptr); + targetConfigs.add (v); + } + + void addProjectConfig (const String& configName, const StringArray& buildSettings) const + { + ValueTree* v = new ValueTree (createID ("projectconfigid_" + configName)); + v->setProperty ("isa", "XCBuildConfiguration", nullptr); + v->setProperty ("buildSettings", indentBracedList (buildSettings), nullptr); + v->setProperty (Ids::name, configName, nullptr); + projectConfigs.add (v); + } + + void addConfigList (const OwnedArray & configsToUse, const String& listID) const + { + StringArray configIDs; + + for (int i = 0; i < configsToUse.size(); ++i) + configIDs.add (configsToUse[i]->getType().toString()); + + ValueTree* v = new ValueTree (listID); + v->setProperty ("isa", "XCConfigurationList", nullptr); + v->setProperty ("buildConfigurations", indentParenthesisedList (configIDs), nullptr); + v->setProperty ("defaultConfigurationIsVisible", (int) 0, nullptr); + + if (configsToUse[0] != nullptr) + v->setProperty ("defaultConfigurationName", configsToUse[0]->getProperty (Ids::name), nullptr); + + misc.add (v); + } + + ValueTree& addBuildPhase (const String& phaseType, const StringArray& fileIds) const + { + String phaseId (createID (phaseType + "resbuildphase")); + + int n = 0; + while (buildPhaseIDs.contains (phaseId)) + phaseId = createID (phaseType + "resbuildphase" + String (++n)); + + buildPhaseIDs.add (phaseId); + + ValueTree* v = new ValueTree (phaseId); + v->setProperty ("isa", phaseType, nullptr); + v->setProperty ("buildActionMask", "2147483647", nullptr); + v->setProperty ("files", indentParenthesisedList (fileIds), nullptr); + v->setProperty ("runOnlyForDeploymentPostprocessing", (int) 0, nullptr); + misc.add (v); + return *v; + } + + void addTargetObject() const + { + ValueTree* const v = new ValueTree (createID ("__target")); + v->setProperty ("isa", "PBXNativeTarget", nullptr); + v->setProperty ("buildConfigurationList", createID ("__configList"), nullptr); + v->setProperty ("buildPhases", indentParenthesisedList (buildPhaseIDs), nullptr); + v->setProperty ("buildRules", "( )", nullptr); + v->setProperty ("dependencies", "( )", nullptr); + v->setProperty (Ids::name, projectName, nullptr); + v->setProperty ("productName", projectName, nullptr); + v->setProperty ("productReference", createID ("__productFileID"), nullptr); + + if (xcodeProductInstallPath.isNotEmpty()) + v->setProperty ("productInstallPath", xcodeProductInstallPath, nullptr); + + jassert (xcodeProductType.isNotEmpty()); + v->setProperty ("productType", xcodeProductType, nullptr); + + misc.add (v); + } + + void addProjectObject() const + { + ValueTree* const v = new ValueTree (createID ("__root")); + v->setProperty ("isa", "PBXProject", nullptr); + v->setProperty ("buildConfigurationList", createID ("__projList"), nullptr); + v->setProperty ("attributes", "{ LastUpgradeCheck = 0440; }", nullptr); + v->setProperty ("compatibilityVersion", "Xcode 3.2", nullptr); + v->setProperty ("hasScannedForEncodings", (int) 0, nullptr); + v->setProperty ("mainGroup", createID ("__mainsourcegroup"), nullptr); + v->setProperty ("projectDirPath", "\"\"", nullptr); + v->setProperty ("projectRoot", "\"\"", nullptr); + v->setProperty ("targets", "( " + createID ("__target") + " )", nullptr); + misc.add (v); + } + + void addShellScriptBuildPhase (const String& phaseName, const String& script) const + { + if (script.trim().isNotEmpty()) + { + ValueTree& v = addBuildPhase ("PBXShellScriptBuildPhase", StringArray()); + v.setProperty (Ids::name, phaseName, nullptr); + v.setProperty ("shellPath", "/bin/sh", nullptr); + v.setProperty ("shellScript", script.replace ("\\", "\\\\") + .replace ("\"", "\\\"") + .replace ("\r\n", "\\n") + .replace ("\n", "\\n"), nullptr); + } + } + + //============================================================================== + struct AppIconType + { + const char* idiom; + const char* sizeString; + const char* filename; + const char* scale; + int size; + }; + + static Array getiOSAppIconTypes() + { + AppIconType types[] = + { + { "iphone", "29x29", "Icon-29.png", "1x", 29 }, + { "iphone", "29x29", "Icon-29@2x.png", "2x", 58 }, + { "iphone", "29x29", "Icon-29@3x.png", "3x", 87 }, + { "iphone", "40x40", "Icon-Spotlight-40@2x.png", "2x", 80 }, + { "iphone", "40x40", "Icon-Spotlight-40@3x.png", "3x", 120 }, + { "iphone", "57x57", "Icon.png", "1x", 57 }, + { "iphone", "57x57", "Icon@2x.png", "2x", 114 }, + { "iphone", "60x60", "Icon-60@2x.png", "2x", 120 }, + { "iphone", "60x60", "Icon-@3x.png", "3x", 180 }, + { "ipad", "29x29", "Icon-Small-1.png", "1x", 29 }, + { "ipad", "29x29", "Icon-Small@2x-1.png", "2x", 58 }, + { "ipad", "40x40", "Icon-Spotlight-40.png", "1x", 40 }, + { "ipad", "40x40", "Icon-Spotlight-40@2x-1.png", "2x", 80 }, + { "ipad", "50x50", "Icon-Small-50.png", "1x", 50 }, + { "ipad", "50x50", "Icon-Small-50@2x.png", "2x", 100 }, + { "ipad", "72x72", "Icon-72.png", "1x", 72 }, + { "ipad", "72x72", "Icon-72@2x.png", "2x", 144 }, + { "ipad", "76x76", "Icon-76.png", "1x", 76 }, + { "ipad", "76x76", "Icon-76@2x.png", "2x", 152 }, + { "ipad", "83.5x83.5", "Icon-83.5@2x.png", "2x", 167 } + }; + + return Array (types, numElementsInArray (types)); + } + + static String getiOSAppIconContents() + { + const Array types (getiOSAppIconTypes()); + var images; + + for (int i = 0; i < types.size(); ++i) + { + AppIconType type = types.getUnchecked(i); + + DynamicObject::Ptr d = new DynamicObject(); + d->setProperty ("idiom", type.idiom); + d->setProperty ("size", type.sizeString); + d->setProperty ("filename", type.filename); + d->setProperty ("scale", type.scale); + images.append (var (d)); + } + + return getiOSAssetContents (images); + } + + //============================================================================== + struct ImageType + { + const char* orientation; + const char* idiom; + const char* subtype; + const char* extent; + const char* scale; + const char* filename; + int width; + int height; + }; + + static Array getiOSLaunchImageTypes() + { + ImageType types[] = + { + { "portrait", "iphone", nullptr, "full-screen", "2x", "LaunchImage-iphone-2x.png", 640, 960 }, + { "portrait", "iphone", "retina4", "full-screen", "2x", "LaunchImage-iphone-retina4.png", 640, 1136 }, + { "portrait", "ipad", nullptr, "full-screen", "1x", "LaunchImage-ipad-portrait-1x.png", 768, 1024 }, + { "landscape","ipad", nullptr, "full-screen", "1x", "LaunchImage-ipad-landscape-1x.png", 1024, 768 }, + { "portrait", "ipad", nullptr, "full-screen", "2x", "LaunchImage-ipad-portrait-2x.png", 1536, 2048 }, + { "landscape","ipad", nullptr, "full-screen", "2x", "LaunchImage-ipad-landscape-2x.png", 2048, 1536 } + }; + + return Array (types, numElementsInArray (types)); + } + + static String getiOSLaunchImageContents() + { + const Array types (getiOSLaunchImageTypes()); + var images; + + for (int i = 0; i < types.size(); ++i) + { + const ImageType& type = types.getReference(i); + + DynamicObject::Ptr d = new DynamicObject(); + d->setProperty ("orientation", type.orientation); + d->setProperty ("idiom", type.idiom); + d->setProperty ("extent", type.extent); + d->setProperty ("minimum-system-version", "7.0"); + d->setProperty ("scale", type.scale); + d->setProperty ("filename", type.filename); + + if (type.subtype != nullptr) + d->setProperty ("subtype", type.subtype); + + images.append (var (d)); + } + + return getiOSAssetContents (images); + } + + static void createiOSLaunchImageFiles (const File& launchImageSet) + { + const Array types (getiOSLaunchImageTypes()); + + for (int i = 0; i < types.size(); ++i) + { + const ImageType& type = types.getReference(i); + + Image image (Image::ARGB, type.width, type.height, true); // (empty black image) + image.clear (image.getBounds(), Colours::black); + + MemoryOutputStream pngData; + PNGImageFormat pngFormat; + pngFormat.writeImageToStream (image, pngData); + overwriteFileIfDifferentOrThrow (launchImageSet.getChildFile (type.filename), pngData); + } + } + + //============================================================================== + static String getiOSAssetContents (var images) + { + DynamicObject::Ptr v (new DynamicObject()); + + var info (new DynamicObject()); + info.getDynamicObject()->setProperty ("version", 1); + info.getDynamicObject()->setProperty ("author", "xcode"); + + v->setProperty ("images", images); + v->setProperty ("info", info); + + return JSON::toString (var (v)); + } + + void createiOSAssetsFolder() const + { + const File assets (getTargetFolder().getChildFile (project.getProjectFilenameRoot()) + .getChildFile ("Images.xcassets")); + const File iconSet (assets.getChildFile ("AppIcon.appiconset")); + const File launchImage (assets.getChildFile ("LaunchImage.launchimage")); + + overwriteFileIfDifferentOrThrow (iconSet.getChildFile ("Contents.json"), getiOSAppIconContents()); + createiOSIconFiles (iconSet); + + overwriteFileIfDifferentOrThrow (launchImage.getChildFile ("Contents.json"), getiOSLaunchImageContents()); + createiOSLaunchImageFiles (launchImage); + + RelativePath assetsPath (assets, getTargetFolder(), RelativePath::buildTargetFolder); + addFileReference (assetsPath.toUnixStyle()); + resourceIDs.add (addBuildFile (assetsPath, false, false)); + resourceFileRefs.add (createFileRefID (assetsPath)); + } + + //============================================================================== + static String indentBracedList (const StringArray& list) { return "{" + indentList (list, ";", 0, true) + " }"; } + static String indentParenthesisedList (const StringArray& list) { return "(" + indentList (list, ",", 1, false) + " )"; } + + static String indentList (const StringArray& list, const String& separator, int extraTabs, bool shouldSort) + { + if (list.size() == 0) + return " "; + + const String tabs ("\n" + String::repeatedString ("\t", extraTabs + 4)); + + if (shouldSort) + { + StringArray sorted (list); + sorted.sort (true); + + return tabs + sorted.joinIntoString (separator + tabs) + separator; + } + + return tabs + list.joinIntoString (separator + tabs) + separator; + } + + String createID (String rootString) const + { + if (rootString.startsWith ("${")) + rootString = rootString.fromFirstOccurrenceOf ("}/", false, false); + + rootString += project.getProjectUID(); + + return MD5 (rootString.toUTF8()).toHexString().substring (0, 24).toUpperCase(); + } + + String createFileRefID (const RelativePath& path) const { return createFileRefID (path.toUnixStyle()); } + String createFileRefID (const String& path) const { return createID ("__fileref_" + path); } + String getIDForGroup (const Project::Item& item) const { return createID (item.getID()); } + + bool shouldFileBeCompiledByDefault (const RelativePath& file) const override + { + return file.hasFileExtension (sourceFileExtensions); + } + + static String getOSXVersionName (int version) + { + jassert (version >= 4); + return "10." + String (version); + } + + static String getSDKName (int version) + { + return getOSXVersionName (version) + " SDK"; + } + + void initialiseDependencyPathValues() + { + vst2Path.referTo (Value (new DependencyPathValueSource (getSetting (Ids::vstFolder), Ids::vst2Path, TargetOS::osx))); + vst3Path.referTo (Value (new DependencyPathValueSource (getSetting (Ids::vst3Folder), Ids::vst3Path, TargetOS::osx))); + aaxPath. referTo (Value (new DependencyPathValueSource (getSetting (Ids::aaxFolder), Ids::aaxPath, TargetOS::osx))); + rtasPath.referTo (Value (new DependencyPathValueSource (getSetting (Ids::rtasFolder), Ids::rtasPath, TargetOS::osx))); + } +}; diff --git a/extras/UnitTestRunner/Builds/MacOSX/UnitTestRunner.xcodeproj/project.pbxproj b/extras/UnitTestRunner/Builds/MacOSX/UnitTestRunner.xcodeproj/project.pbxproj index c87d190659..6a67ee88d2 100644 --- a/extras/UnitTestRunner/Builds/MacOSX/UnitTestRunner.xcodeproj/project.pbxproj +++ b/extras/UnitTestRunner/Builds/MacOSX/UnitTestRunner.xcodeproj/project.pbxproj @@ -740,6 +740,7 @@ BE3EA058010047456D73AACD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; BE5E66183FBDAED0236061AE = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; }; BEDCD61FAD477E737E9001FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; }; + BF07F813AE252965882B419D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; }; BF7DB7CEEFC788FBAC7DDAFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; BF83F16E220BF09C26FD7DA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; C0531453A002C480280C5F05 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; @@ -754,6 +755,7 @@ C2E6F205D15873BBDA6C611C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; C2F2E19D495434FA2DE26CDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; C3B38FF0CFF855B48FD341D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; + C3FF931ABD1A2A7A0B3F2F32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; }; C43F3C14D904F5ACD41ADA91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; C4725A9E883FE9A4BE50D9CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; }; C479F3274C5CA6E09B397633 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; @@ -1143,6 +1145,8 @@ 28E930DA6A81123555C6B4D0, D3B67F76F3E120815C1B3729, ); name = "juce_audio_formats"; sourceTree = ""; }; 0CD4E1D56790D679DC1A71C4 = {isa = PBXGroup; children = ( + C3FF931ABD1A2A7A0B3F2F32, + BF07F813AE252965882B419D, 59EE21D372B3DFC1B453B8B4, 7BC436F55CA94D4ED0A20BC6, 468EE2A5579D7F6508B3BE7F, @@ -2132,6 +2136,7 @@ MACOSX_DEPLOYMENT_TARGET = 10.10; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; OTHER_CPLUSPLUSFLAGS = "-pedantic-errors -Wreorder -Wconstant-conversion -Wint-conversion -Woverloaded-virtual -Wuninitialized -Wunused-parameter -Wshorten-64-to-32 -Wstrict-aliasing -Wshadow -Wconversion -Wsign-compare -Wsign-conversion"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.UnitTestRunner; SDKROOT_ppc = macosx10.5; }; name = Debug; }; CB72F298783F8212D048A91B = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -2156,10 +2161,12 @@ MACOSX_DEPLOYMENT_TARGET = 10.10; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; OTHER_CPLUSPLUSFLAGS = "-pedantic-errors -Wreorder -Wconstant-conversion -Wint-conversion -Woverloaded-virtual -Wuninitialized -Wunused-parameter -Wshorten-64-to-32 -Wstrict-aliasing -Wshadow -Wconversion -Wsign-compare -Wsign-conversion"; + PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.UnitTestRunner; SDKROOT_ppc = macosx10.5; }; name = Release; }; 53146F81C8222491DC6DF2A5 = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5; diff --git a/extras/UnitTestRunner/Builds/VisualStudio2015/UnitTestRunner.vcxproj b/extras/UnitTestRunner/Builds/VisualStudio2015/UnitTestRunner.vcxproj index 33fb8f109b..a6389d4499 100644 --- a/extras/UnitTestRunner/Builds/VisualStudio2015/UnitTestRunner.vcxproj +++ b/extras/UnitTestRunner/Builds/VisualStudio2015/UnitTestRunner.vcxproj @@ -337,6 +337,9 @@ true + + true + true @@ -1371,6 +1374,7 @@ + diff --git a/extras/UnitTestRunner/Builds/VisualStudio2015/UnitTestRunner.vcxproj.filters b/extras/UnitTestRunner/Builds/VisualStudio2015/UnitTestRunner.vcxproj.filters index d78ffc3fae..14d307a2d4 100644 --- a/extras/UnitTestRunner/Builds/VisualStudio2015/UnitTestRunner.vcxproj.filters +++ b/extras/UnitTestRunner/Builds/VisualStudio2015/UnitTestRunner.vcxproj.filters @@ -529,6 +529,9 @@ Juce Modules\juce_audio_formats\sampler + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\processors @@ -1794,6 +1797,9 @@ Juce Modules\juce_audio_formats + + Juce Modules\juce_audio_processors\processors + Juce Modules\juce_audio_processors\processors diff --git a/extras/UnitTestRunner/UnitTestRunner.jucer b/extras/UnitTestRunner/UnitTestRunner.jucer index d61bcf4c1b..8b8cd29ec2 100644 --- a/extras/UnitTestRunner/UnitTestRunner.jucer +++ b/extras/UnitTestRunner/UnitTestRunner.jucer @@ -2,7 +2,7 @@ + jucerVersion="4.1.0" defines="JUCE_UNIT_TESTS=1"> diff --git a/extras/binarybuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.pbxproj b/extras/binarybuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.pbxproj index 33c2545479..15bd1a1cf7 100644 --- a/extras/binarybuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.pbxproj +++ b/extras/binarybuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.pbxproj @@ -495,6 +495,7 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = "/usr/bin"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.rawmaterialsoftware.binarybuilder; SDKROOT_ppc = macosx10.5; }; name = Debug; }; 145C0C90E41D8DECE4DD66AD = {isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; @@ -516,10 +517,12 @@ INFOPLIST_FILE = Info.plist; INSTALL_PATH = "/usr/bin"; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + PRODUCT_BUNDLE_IDENTIFIER = com.rawmaterialsoftware.binarybuilder; SDKROOT_ppc = macosx10.5; }; name = Release; }; D9552CAECBA3D7D5725848E5 = {isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_INLINES_ARE_PRIVATE_EXTERN = YES; GCC_MODEL_TUNING = G5;